33import java .util .Date ;
44import java .util .List ;
55import java .util .UUID ;
6+ import org .commonwl .view .git .GitDetails ;
67import org .springframework .data .jpa .repository .JpaRepository ;
78import org .springframework .data .jpa .repository .Modifying ;
89import org .springframework .data .jpa .repository .Query ;
10+ import org .springframework .data .repository .query .Param ;
911import org .springframework .stereotype .Repository ;
1012import org .springframework .transaction .annotation .Transactional ;
1113
1618 * issues with serialization.
1719 */
1820@ Repository
19- public interface QueuedWorkflowRepository
20- extends JpaRepository <QueuedWorkflow , UUID >, QueuedWorkflowRepositoryCustom {
21+ public interface QueuedWorkflowRepository extends JpaRepository <QueuedWorkflow , UUID > {
2122
2223 /**
2324 * Deletes all queued workflows with date retrieved on older or equal to the Date argument passed.
@@ -28,7 +29,8 @@ public interface QueuedWorkflowRepository
2829 @ Transactional
2930 @ Modifying
3031 @ Query (
31- value = "DELETE FROM queued_workflow q WHERE q.temp_representation ->> 'retrievedOn' <= ?1" ,
32+ value =
33+ "DELETE FROM queued_workflow q WHERE (q.temp_representation ->> 'retrievedOn')::timestamp <= ?1" ,
3234 nativeQuery = true )
3335 Integer deleteByTempRepresentation_RetrievedOnLessThanEqual (Date retrievedOn );
3436
@@ -41,7 +43,30 @@ public interface QueuedWorkflowRepository
4143 */
4244 @ Query (
4345 value =
44- "SELECT q.* FROM queued_workflow q WHERE q.temp_representation ->> 'retrievedOn' <= ?1" ,
46+ "SELECT q.* FROM queued_workflow q WHERE ( q.temp_representation ->> 'retrievedOn')::timestamp <= ?1" ,
4547 nativeQuery = true )
4648 List <QueuedWorkflow > findByTempRepresentation_RetrievedOnLessThanEqual (Date retrievedOn );
49+
50+ /**
51+ * Finds a queued workflow based on where it was retrieved from.
52+ *
53+ * @param retrievedFrom Details of where the queued workflow is from
54+ * @return The queued workflow
55+ */
56+ @ Query (
57+ """
58+ SELECT q
59+ FROM QueuedWorkflow q
60+ WHERE q.tempRepresentation.retrievedFrom = :retrievedFrom
61+ """ )
62+ QueuedWorkflow findByRetrievedFrom (@ Param ("retrievedFrom" ) GitDetails retrievedFrom );
63+
64+ /**
65+ * Deletes a queued workflow based on where it was retrieved from.
66+ *
67+ * @param retrievedFrom Details of where the queued workflow is from
68+ */
69+ @ Transactional
70+ @ Modifying
71+ void deleteByTempRepresentation_RetrievedFrom (GitDetails retrievedFrom );
4772}
0 commit comments