1
0
Fork 0
mirror of synced 2024-07-20 22:06:15 +12:00
appwrite/app/workers/audits.php

55 lines
1.3 KiB
PHP
Raw Normal View History

2019-05-09 18:54:39 +12:00
<?php
2022-04-04 18:30:07 +12:00
use Appwrite\Event\Event;
use Appwrite\Resque\Worker;
2020-05-10 04:39:50 +12:00
use Utopia\Audit\Audit;
use Utopia\CLI\Console;
2022-04-04 18:30:07 +12:00
use Utopia\Database\Document;
2020-05-10 04:39:50 +12:00
require_once __DIR__.'/../init.php';
2019-05-09 18:54:39 +12:00
2021-01-15 19:02:48 +13:00
Console::title('Audits V1 Worker');
2021-09-01 21:13:23 +12:00
Console::success(APP_NAME . ' audits worker v1 has started');
class AuditsV1 extends Worker
2019-05-09 18:54:39 +12:00
{
2021-11-24 22:38:32 +13:00
public function getName(): string {
return "audits";
}
public function init(): void
2019-05-09 18:54:39 +12:00
{
}
public function run(): void
2019-05-09 18:54:39 +12:00
{
2022-04-04 18:30:07 +12:00
$events = $this->args['events'];
$payload = $this->args['payload'];
$mode = $this->args['mode'];
$resource = $this->args['resource'];
$userAgent = $this->args['userAgent'];
$ip = $this->args['ip'];
2022-04-04 18:30:07 +12:00
$user = new Document($this->args['user']);
$project = new Document($this->args['project']);
$userName = $user->getAttribute('name', '');
$userEmail = $user->getAttribute('email', '');
$event = $events[0];
$dbForProject = $this->getProjectDB($project->getId());
$audit = new Audit($dbForProject);
2022-04-04 18:30:07 +12:00
$audit->log($user->getId(), $event, $resource, $userAgent, $ip, '', [
2021-08-14 22:13:24 +12:00
'userName' => $userName,
'userEmail' => $userEmail,
'mode' => $mode,
'data' => $payload,
2021-08-14 22:13:24 +12:00
]);
2019-05-09 18:54:39 +12:00
}
public function shutdown(): void
2019-05-09 18:54:39 +12:00
{
}
2021-09-01 21:13:23 +12:00
}