package com.sungardas.enhancedsnapshots.aws.dynamodb.repository; import com.sungardas.enhancedsnapshots.aws.dynamodb.model.TaskEntry; import org.socialsignin.spring.data.dynamodb.repository.EnableScan; import org.socialsignin.spring.data.dynamodb.repository.EnableScanCount; import org.springframework.data.repository.CrudRepository; import java.util.List; @EnableScan @EnableScanCount public interface TaskRepository extends CrudRepository<TaskEntry, String> { List<TaskEntry> findByStatusAndRegular(String status, String regular); List<TaskEntry> findByStatusAndRegularAndWorker(String status, String regular, String worker); List<TaskEntry> findByStatusNotAndRegular(String status, String regular); List<TaskEntry> findByRegularAndVolume(String regular, String volumeId); List<TaskEntry> findByRegularAndEnabled(String regular, String enabled); List<TaskEntry> findByVolumeAndTypeAndOptions(String volumeId, String type, String options); List<TaskEntry> findByRegularAndCompleteTimeGreaterThanEqual(String regular, long completeTime); List<TaskEntry> findByRegular(String regular); Long countByRegularAndTypeAndStatus(String regular, String type, String status); List<TaskEntry> findByWorkerAndProgressNot(String worker, String progress); List<TaskEntry> findByWorkerIsNull(); default void save(List<TaskEntry> tasks) { tasks.forEach(this::save); } }