diff --git a/application/Espo/Classes/Cleanup/PasswordChangeRequests.php b/application/Espo/Classes/Cleanup/PasswordChangeRequests.php new file mode 100644 index 0000000000..8ac64d03c2 --- /dev/null +++ b/application/Espo/Classes/Cleanup/PasswordChangeRequests.php @@ -0,0 +1,73 @@ +config = $config; + $this->entityManager = $entityManager; + } + + public function process(): void + { + $period = '-' . $this->config->get('cleanupPasswordChangeRequestsPeriod', $this->cleanupPeriod); + + $before = DateTime::createNow() + ->modify($period) + ->getString(); + + $delete = $this->entityManager + ->getQueryBuilder() + ->delete() + ->from(PasswordChangeRequest::ENTITY_TYPE) + ->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 ca9254626a..26223cbd8b 100644 --- a/application/Espo/Resources/metadata/app/cleanup.json +++ b/application/Espo/Resources/metadata/app/cleanup.json @@ -15,5 +15,8 @@ }, "exports": { "className": "Espo\\Classes\\Cleanup\\Exports" + }, + "passwordChangeRequests": { + "className": "Espo\\Classes\\Cleanup\\PasswordChangeRequests" } }