implement audit logger

This commit is contained in:
bence committed 2023-04-18 23:15:06 +02:00
1 parent aa31c857c7
commit 831433f9d8
6 files changed
+161 -13

No files matched your search

+7 -2
View File
@@ -117,19 +117,23 @@ class PersistentDataManager
$modified = $model->toArray();
$id = $model->getId();
$modify = new Modify(\Container::$dbConnection, $model::getTable());
$modify = new Modify(\Container::$dbConnection, $model::getTable(), \Container::$auditLogger);
if ($id !== null) {
$original = $model->getSnapshot();
$diff = [];
foreach ($original as $key => $value) {
if ($value === $modified[$key]) {
unset($modified[$key]);
} else {
$diff[$key] = ['old' => $value, 'new' => $modified[$key]];
}
}
if (count($modified) > 0) {
$modify->setId($id);
$modify->setDiff($diff);
$modify->fill($modified);
$modify->save();
}
@@ -145,8 +149,9 @@ class PersistentDataManager
public function deleteFromDb(Model $model): void
{
$modify = new Modify(\Container::$dbConnection, $model::getTable());
$modify = new Modify(\Container::$dbConnection, $model::getTable(), \Container::$auditLogger);
$modify->setId($model->getId());
$modify->fill($model->toArray());
$modify->delete();
$model->setId(null);