Move ScheduledTask::findFutureScheduledByType() to ScheduledTasksRepository

Now that all other methods that use ScheduledTask::findByTypeAndStatus()
were moved to ScheduledTasksRepository, we can move
findFutureScheduledByType() as well and delete
ScheduledTask::findByTypeAndStatus().

[MAILPOET-3845]
This commit is contained in:
Rodrigo Primo
2021-10-13 17:23:06 -03:00
committed by Veljko V
parent d841ca7255
commit ba15b9b251
6 changed files with 37 additions and 69 deletions

View File

@@ -5,7 +5,6 @@ namespace MailPoet\Models;
use MailPoet\Entities\ScheduledTaskEntity;
use MailPoet\Util\Helpers;
use MailPoet\WP\Functions as WPFunctions;
use MailPoetVendor\Carbon\Carbon;
use MailPoetVendor\Idiorm\ORM;
/**
@@ -153,32 +152,4 @@ class ScheduledTask extends Model {
->whereNull('tasks.deleted_at')
->findOne() ?: null;
}
public static function findFutureScheduledByType($type, $limit = null) {
return self::findByTypeAndStatus($type, ScheduledTask::STATUS_SCHEDULED, $limit, true);
}
private static function findByTypeAndStatus($type, $status, $limit = null, $future = false) {
$query = ScheduledTask::where('type', $type)
->whereNull('deleted_at');
$now = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
if ($future) {
$query->whereGt('scheduled_at', $now);
} else {
$query->whereLte('scheduled_at', $now);
}
if ($status === null) {
$query->whereNull('status');
} else {
$query->where('status', $status);
}
if ($limit !== null) {
$query->limit($limit);
}
return $query->findMany();
}
}