implement audit logger
This commit is contained in:
6 files changed
+161
-13
No files matched your search
@@ -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);
|
||||
|
||||
Reference in new issue
Block a user