feat: ajout de la gestion des jobs avec création, récupération et filtrage via l'API, incluant des entités et des mappers pour les échecs et les jobs

This commit is contained in:
ext.jeremy.guillot@maxicoffee.domains
2025-03-29 15:15:14 +01:00
parent d7088b14c2
commit d7ccc1e603
33 changed files with 1113 additions and 595 deletions

View File

@@ -11,6 +11,5 @@ interface FailedJobRepositoryInterface
public function delete(string $id): void;
public function findAll(): array;
public function findByJobType(string $jobType): array;
public function findByJobId(string $jobId): array;
public function findRetryableJobs(): array;
}
}

View File

@@ -14,4 +14,29 @@ interface JobRepositoryInterface
public function findPendingJobs(): array;
public function findInProgressJobs(): array;
public function findFailedJobs(): array;
}
/**
* @param array{
* status?: ?JobStatus,
* type?: ?string,
* createdAfter?: ?\DateTimeImmutable,
* createdBefore?: ?\DateTimeImmutable,
* sortBy?: string,
* sortOrder?: string,
* offset?: int,
* limit?: int
* } $criteria
* @return Job[]
*/
public function findByCriteria(array $criteria): array;
/**
* @param array{
* status?: ?JobStatus,
* type?: ?string,
* createdAfter?: ?\DateTimeImmutable,
* createdBefore?: ?\DateTimeImmutable
* } $criteria
*/
public function countByCriteria(array $criteria): int;
}