mirror of
https://github.com/nextcloud/server.git
synced 2026-04-25 08:08:33 -04:00
enh: add clean up buffer
Signed-off-by: Christopher Ng <chrng8@gmail.com>
This commit is contained in:
parent
7af30fcf87
commit
18fb955a41
2 changed files with 7 additions and 2 deletions
|
|
@ -26,6 +26,7 @@ declare(strict_types=1);
|
|||
|
||||
namespace OCA\FilesReminders\Db;
|
||||
|
||||
use DateTime;
|
||||
use OCP\AppFramework\Db\DoesNotExistException;
|
||||
use OCP\AppFramework\Db\QBMapper;
|
||||
use OCP\DB\QueryBuilder\IQueryBuilder;
|
||||
|
|
@ -138,12 +139,13 @@ class ReminderMapper extends QBMapper {
|
|||
/**
|
||||
* @return Reminder[]
|
||||
*/
|
||||
public function findNotified(?int $limit = null) {
|
||||
public function findNotified(DateTime $buffer, ?int $limit = null) {
|
||||
$qb = $this->db->getQueryBuilder();
|
||||
|
||||
$qb->select('id', 'user_id', 'file_id', 'due_date', 'updated_at', 'created_at', 'notified')
|
||||
->from($this->getTableName())
|
||||
->where($qb->expr()->eq('notified', $qb->createNamedParameter(true, IQueryBuilder::PARAM_BOOL)))
|
||||
->andWhere($qb->expr()->lt('due_date', $qb->createNamedParameter($buffer, IQueryBuilder::PARAM_DATE)))
|
||||
->orderBy('due_date', 'ASC')
|
||||
->setMaxResults($limit);
|
||||
|
||||
|
|
|
|||
|
|
@ -167,7 +167,10 @@ class ReminderService {
|
|||
}
|
||||
|
||||
public function cleanUp(?int $limit = null): void {
|
||||
$reminders = $this->reminderMapper->findNotified($limit);
|
||||
$buffer = (new DateTime())
|
||||
->setTimezone(new DateTimeZone('UTC'))
|
||||
->modify('-1 day');
|
||||
$reminders = $this->reminderMapper->findNotified($buffer, $limit);
|
||||
foreach ($reminders as $reminder) {
|
||||
$this->reminderMapper->delete($reminder);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue