Merge pull request 'feature/activate-audit-logging' (!27) from feature/activate-audit-logging into master
All checks were successful
rvr-nextgen/pipeline/head This commit looks good
All checks were successful
rvr-nextgen/pipeline/head This commit looks good
Reviewed-on: #27
This commit is contained in:
commit
c0739eeddf
2
app.php
2
app.php
@ -15,9 +15,11 @@ $dotenv->load();
|
|||||||
class Container
|
class Container
|
||||||
{
|
{
|
||||||
static SokoWeb\Interfaces\Database\IConnection $dbConnection;
|
static SokoWeb\Interfaces\Database\IConnection $dbConnection;
|
||||||
|
static SokoWeb\Interfaces\Database\IAuditLogger $auditLogger;
|
||||||
static SokoWeb\Routing\RouteCollection $routeCollection;
|
static SokoWeb\Routing\RouteCollection $routeCollection;
|
||||||
static SokoWeb\Interfaces\Session\ISessionHandler $sessionHandler;
|
static SokoWeb\Interfaces\Session\ISessionHandler $sessionHandler;
|
||||||
static SokoWeb\Interfaces\Request\IRequest $request;
|
static SokoWeb\Interfaces\Request\IRequest $request;
|
||||||
}
|
}
|
||||||
|
|
||||||
Container::$dbConnection = new SokoWeb\Database\Mysql\Connection($_ENV['DB_HOST'], $_ENV['DB_USER'], $_ENV['DB_PASSWORD'], $_ENV['DB_NAME']);
|
Container::$dbConnection = new SokoWeb\Database\Mysql\Connection($_ENV['DB_HOST'], $_ENV['DB_USER'], $_ENV['DB_PASSWORD'], $_ENV['DB_NAME']);
|
||||||
|
Container::$auditLogger = new RVR\Database\AuditLogger(Container::$dbConnection, 'audit_log');
|
||||||
|
12
database/migrations/structure/20230417_0158_audit_log.sql
Normal file
12
database/migrations/structure/20230417_0158_audit_log.sql
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
CREATE TABLE `audit_log` (
|
||||||
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||||
|
`local_table` varchar(255) NOT NULL,
|
||||||
|
`local_id` int(10) unsigned NOT NULL,
|
||||||
|
`type` enum('insert','update','delete') NOT NULL,
|
||||||
|
`date` timestamp NOT NULL DEFAULT current_timestamp(),
|
||||||
|
`modifier_id` int(10) unsigned NULL,
|
||||||
|
`column` varchar(255) NULL,
|
||||||
|
`old` text NULL,
|
||||||
|
`new` text NULL,
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
15
src/Database/AuditLogger.php
Normal file
15
src/Database/AuditLogger.php
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<?php namespace RVR\Database;
|
||||||
|
|
||||||
|
use SokoWeb\Database\AuditLoggerBase;
|
||||||
|
|
||||||
|
class AuditLogger extends AuditLoggerBase
|
||||||
|
{
|
||||||
|
protected function getModifierId()
|
||||||
|
{
|
||||||
|
$user = \Container::$request->user();
|
||||||
|
if ($user === null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return $user->getUniqueId();
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user