Skip to content

Commit 1ddf8d8

Browse files
Merge pull request #40163 from nextcloud/enhanc/audit-tag-creator
Audit the tag creator
2 parents 4925cf3 + d590373 commit 1ddf8d8

4 files changed

Lines changed: 38 additions & 0 deletions

File tree

apps/admin_audit/composer/composer/autoload_classmap.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
'OCA\\AdminAudit\\Actions\\GroupManagement' => $baseDir . '/../lib/Actions/GroupManagement.php',
1616
'OCA\\AdminAudit\\Actions\\Security' => $baseDir . '/../lib/Actions/Security.php',
1717
'OCA\\AdminAudit\\Actions\\Sharing' => $baseDir . '/../lib/Actions/Sharing.php',
18+
'OCA\\AdminAudit\\Actions\\TagManagement' => $baseDir . '/../lib/Actions/TagManagement.php',
1819
'OCA\\AdminAudit\\Actions\\Trashbin' => $baseDir . '/../lib/Actions/Trashbin.php',
1920
'OCA\\AdminAudit\\Actions\\UserManagement' => $baseDir . '/../lib/Actions/UserManagement.php',
2021
'OCA\\AdminAudit\\Actions\\Versions' => $baseDir . '/../lib/Actions/Versions.php',

apps/admin_audit/composer/composer/autoload_static.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ class ComposerStaticInitAdminAudit
3030
'OCA\\AdminAudit\\Actions\\GroupManagement' => __DIR__ . '/..' . '/../lib/Actions/GroupManagement.php',
3131
'OCA\\AdminAudit\\Actions\\Security' => __DIR__ . '/..' . '/../lib/Actions/Security.php',
3232
'OCA\\AdminAudit\\Actions\\Sharing' => __DIR__ . '/..' . '/../lib/Actions/Sharing.php',
33+
'OCA\\AdminAudit\\Actions\\TagManagement' => __DIR__ . '/..' . '/../lib/Actions/TagManagement.php',
3334
'OCA\\AdminAudit\\Actions\\Trashbin' => __DIR__ . '/..' . '/../lib/Actions/Trashbin.php',
3435
'OCA\\AdminAudit\\Actions\\UserManagement' => __DIR__ . '/..' . '/../lib/Actions/UserManagement.php',
3536
'OCA\\AdminAudit\\Actions\\Versions' => __DIR__ . '/..' . '/../lib/Actions/Versions.php',
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
/*!
6+
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
7+
* SPDX-License-Identifier: AGPL-3.0-or-later
8+
*/
9+
namespace OCA\AdminAudit\Actions;
10+
11+
use OCP\SystemTag\ISystemTag;
12+
13+
class TagManagement extends Action {
14+
/**
15+
* @param ISystemTag $tag newly created tag
16+
*/
17+
public function createTag(ISystemTag $tag): void {
18+
$this->log('System tag "%s" (%s, %s) created',
19+
[
20+
'name' => $tag->getName(),
21+
'visbility' => $tag->isUserVisible() ? 'visible' : 'invisible',
22+
'assignable' => $tag->isUserAssignable() ? 'user assignable' : 'system only',
23+
],
24+
['name', 'visibility', 'assignable']
25+
);
26+
}
27+
}

apps/admin_audit/lib/AppInfo/Application.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
use OCA\AdminAudit\Actions\GroupManagement;
1717
use OCA\AdminAudit\Actions\Security;
1818
use OCA\AdminAudit\Actions\Sharing;
19+
use OCA\AdminAudit\Actions\TagManagement;
1920
use OCA\AdminAudit\Actions\Trashbin;
2021
use OCA\AdminAudit\Actions\UserManagement;
2122
use OCA\AdminAudit\Actions\Versions;
@@ -99,6 +100,7 @@ private function registerHooks(IAuditLogger $logger,
99100
$this->versionsHooks($logger);
100101

101102
$this->securityHooks($logger, $eventDispatcher);
103+
$this->tagHooks($logger, $eventDispatcher);
102104
}
103105

104106
private function userManagementHooks(IAuditLogger $logger,
@@ -169,6 +171,13 @@ private function consoleHooks(IAuditLogger $logger,
169171
$appActions->runCommand($event->getArguments());
170172
});
171173
}
174+
private function tagHooks(IAuditLogger $logger,
175+
IEventDispatcher $eventDispatcher): void {
176+
$eventDispatcher->addListener(\OCP\SystemTag\ManagerEvent::EVENT_CREATE, function (\OCP\SystemTag\ManagerEvent $event) use ($logger) {
177+
$tagActions = new TagManagement($logger);
178+
$tagActions->createTag($event->getTag());
179+
});
180+
}
172181

173182
private function fileHooks(IAuditLogger $logger,
174183
IEventDispatcher $eventDispatcher): void {

0 commit comments

Comments
 (0)