diff --git a/application/Espo/Classes/Cleanup/MassActions.php b/application/Espo/Classes/Cleanup/MassActions.php new file mode 100644 index 0000000000..792f9fe8dd --- /dev/null +++ b/application/Espo/Classes/Cleanup/MassActions.php @@ -0,0 +1,73 @@ +config = $config; + $this->entityManager = $entityManager; + } + + public function process(): void + { + $period = '-' . $this->config->get('cleanupMassActionsPeriod', $this->cleanupPeriod); + + $before = DateTime::createNow() + ->modify($period) + ->getString(); + + $delete = $this->entityManager + ->getQueryBuilder() + ->delete() + ->from('MassAction') + ->where([ + 'createdAt<' => $before, + ]) + ->build(); + + $this->entityManager->getQueryExecutor()->execute($delete); + } +} diff --git a/application/Espo/Resources/metadata/app/cleanup.json b/application/Espo/Resources/metadata/app/cleanup.json index e031a00925..3e9da79df6 100644 --- a/application/Espo/Resources/metadata/app/cleanup.json +++ b/application/Espo/Resources/metadata/app/cleanup.json @@ -9,5 +9,8 @@ }, "twoFactorCodes": { "className": "Espo\\Classes\\Cleanup\\TwoFactorCodes" + }, + "massActions": { + "className": "Espo\\Classes\\Cleanup\\MassActions" } }