Add AuditTrailPersisterInterface and improve AuditTrailPersister

- Introduced `AuditTrailPersisterInterface` to define the persisting contract.
- Updated `AuditTrailPersister` to implement the interface and delegate persistence to `AuditTrailRepository`.
- Added `AuditTrailRepository` with `persistImmediately` method to save audit trails directly to the database.
This commit is contained in:
2026-01-28 16:18:45 +01:00
parent 6bbdc858bd
commit ee624cae4b
3 changed files with 85 additions and 2 deletions

View File

@@ -12,8 +12,14 @@ declare(strict_types=1);
namespace Chill\MainBundle\Audit;
use Chill\MainBundle\Entity\AuditTrail;
use Chill\MainBundle\Repository\AuditTrailRepository;
class AuditTrailPersister
final readonly class AuditTrailPersister implements AuditTrailPersisterInterface
{
public function persistAuditTrail(AuditTrail $auditTrail): void {}
public function __construct(private AuditTrailRepository $auditTrailRepository) {}
public function persistAuditTrail(AuditTrail $auditTrail): void
{
$this->auditTrailRepository->persistImmediately($auditTrail);
}
}

View File

@@ -0,0 +1,19 @@
<?php
declare(strict_types=1);
/*
* Chill is a software for social workers
*
* For the full copyright and license information, please view
* the LICENSE file that was distributed with this source code.
*/
namespace Chill\MainBundle\Audit;
use Chill\MainBundle\Entity\AuditTrail;
interface AuditTrailPersisterInterface
{
public function persistAuditTrail(AuditTrail $auditTrail): void;
}