Skip to content

Commit

Permalink
fix: Dispatch event instead of hook for audit logging
Browse files Browse the repository at this point in the history
Signed-off-by: Julius Härtl <[email protected]>
  • Loading branch information
juliushaertl committed Sep 2, 2024
1 parent d8b4aeb commit 299dd4b
Showing 1 changed file with 13 additions and 46 deletions.
59 changes: 13 additions & 46 deletions lib/TokenManager.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
use OCA\Richdocuments\Service\CapabilitiesService;
use OCA\Richdocuments\WOPI\Parser;
use OCP\Constants;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\Files\Events\Node\BeforeNodeReadEvent;
use OCP\Files\File;
use OCP\Files\IRootFolder;
use OCP\Files\Node;
Expand All @@ -28,49 +30,18 @@
use OCP\Util;

class TokenManager {
/** @var IRootFolder */
private $rootFolder;
/** @var IManager */
private $shareManager;
/** @var IURLGenerator */
private $urlGenerator;
/** @var Parser */
private $wopiParser;
/** @var string */
private $userId;
/** @var WopiMapper */
private $wopiMapper;
/** @var IL10N */
private $trans;
/** @var CapabilitiesService */
private $capabilitiesService;
/** @var Helper */
private $helper;
/** @var PermissionManager */
private $permissionManager;

public function __construct(
IRootFolder $rootFolder,
IManager $shareManager,
IURLGenerator $urlGenerator,
Parser $wopiParser,
CapabilitiesService $capabilitiesService,
$UserId,
WopiMapper $wopiMapper,
IL10N $trans,
Helper $helper,
PermissionManager $permissionManager
private IRootFolder $rootFolder,
private IManager $shareManager,
private IURLGenerator $urlGenerator,
private Parser $wopiParser,
private ?string $userId,
private WopiMapper $wopiMapper,
private IL10N $trans,
private Helper $helper,
private PermissionManager $permissionManager,
private IEventDispatcher $eventDispatcher,
) {
$this->rootFolder = $rootFolder;
$this->shareManager = $shareManager;
$this->urlGenerator = $urlGenerator;
$this->wopiParser = $wopiParser;
$this->capabilitiesService = $capabilitiesService;
$this->trans = $trans;
$this->userId = $UserId;
$this->wopiMapper = $wopiMapper;
$this->helper = $helper;
$this->permissionManager = $permissionManager;
}

/**
Expand Down Expand Up @@ -178,11 +149,7 @@ public function generateWopiToken(string $fileId, ?string $shareToken = null, ?s
}

// force read operation to trigger possible audit logging
\OC_Hook::emit(
Filesystem::CLASSNAME,
Filesystem::signal_read,
[Filesystem::signal_param_path => $file->getPath()]
);
$this->eventDispatcher->dispatchTyped(new BeforeNodeReadEvent($file));

$serverHost = $this->urlGenerator->getAbsoluteURL('/');
$guestName = $editoruid === null ? $this->prepareGuestName($this->helper->getGuestNameFromCookie()) : null;
Expand Down

0 comments on commit 299dd4b

Please sign in to comment.