Use a single string instead of array of strings

[MAILPOET-3625]
This commit is contained in:
Pavel Dohnal
2021-08-20 13:51:02 +02:00
committed by Veljko V
parent 3b7752daed
commit 5d967f3457
2 changed files with 5 additions and 9 deletions

View File

@ -156,7 +156,7 @@ class ImportExport extends APIEndpoint {
public function setupWooCommerceInitialImport() { public function setupWooCommerceInitialImport() {
try { try {
$task = $this->scheduledTasksRepository->findScheduledOrRunningTask([WooCommerceSync::TASK_TYPE]); $task = $this->scheduledTasksRepository->findScheduledOrRunningTask(WooCommerceSync::TASK_TYPE);
if (($task instanceof ScheduledTaskEntity) && $task->getStatus() === null) { if (($task instanceof ScheduledTaskEntity) && $task->getStatus() === null) {
return $this->successResponse(); return $this->successResponse();
} }

View File

@ -46,19 +46,15 @@ class ScheduledTasksRepository extends Repository {
->getResult(); ->getResult();
} }
/** public function findScheduledOrRunningTask(?string $type): ?ScheduledTaskEntity {
* @param string[] $types
* @return ScheduledTaskEntity|null
*/
public function findScheduledOrRunningTask(array $types = []): ?ScheduledTaskEntity {
$queryBuilder = $this->doctrineRepository->createQueryBuilder('st') $queryBuilder = $this->doctrineRepository->createQueryBuilder('st')
->select('st') ->select('st')
->where('(st.status = :scheduledStatus) OR (st.status is NULL)') ->where('(st.status = :scheduledStatus) OR (st.status is NULL)')
->setParameter('scheduledStatus', ScheduledTaskEntity::STATUS_SCHEDULED); ->setParameter('scheduledStatus', ScheduledTaskEntity::STATUS_SCHEDULED);
if (!empty($types)) { if (!empty($type)) {
$queryBuilder $queryBuilder
->andWhere('st.type in (:types)') ->andWhere('st.type = :type')
->setParameter('types', $types); ->setParameter('type', $type);
} }
return $queryBuilder->getQuery()->getOneOrNullResult(); return $queryBuilder->getQuery()->getOneOrNullResult();
} }