From b768c857b326e4f3685e6a5e7068083ca52ecabf Mon Sep 17 00:00:00 2001 From: Josh Date: Fri, 6 Mar 2026 08:47:31 -0500 Subject: [PATCH 1/8] chore: migrate AuditLogger to IAppConfig Signed-off-by: Josh --- apps/admin_audit/lib/AuditLogger.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/apps/admin_audit/lib/AuditLogger.php b/apps/admin_audit/lib/AuditLogger.php index a622794dc0835..eb0d72dffab8b 100644 --- a/apps/admin_audit/lib/AuditLogger.php +++ b/apps/admin_audit/lib/AuditLogger.php @@ -9,6 +9,7 @@ namespace OCA\AdminAudit; +use OCP\AppFramework\Services\IAppConfig; use OCP\IConfig; use OCP\Log\ILogFactory; use Psr\Log\LoggerInterface; @@ -20,7 +21,11 @@ class AuditLogger implements IAuditLogger { private LoggerInterface $parentLogger; - public function __construct(ILogFactory $logFactory, IConfig $config) { + public function __construct( + ILogFactory $logFactory, + IAppConfig $appConfig, + IConfig $config, + ) { $auditType = $config->getSystemValueString('log_type_audit', 'file'); $defaultTag = $config->getSystemValueString('syslog_tag', 'Nextcloud'); $auditTag = $config->getSystemValueString('syslog_tag_audit', $defaultTag); @@ -29,7 +34,7 @@ public function __construct(ILogFactory $logFactory, IConfig $config) { if ($auditType === 'file' && !$logFile) { $default = $config->getSystemValue('datadirectory', \OC::$SERVERROOT . '/data') . '/audit.log'; // Legacy way was appconfig, now it's paralleled with the normal log config - $logFile = $config->getAppValue('admin_audit', 'logfile', $default); + $logFile = $appconfig->getAppValueString('logfile', $default); } $this->parentLogger = $logFactory->getCustomPsrLogger($logFile, $auditType, $auditTag); From 4c473da6b0c1bff1d2b31b9fc8b31c635ce2c9b0 Mon Sep 17 00:00:00 2001 From: Josh Date: Fri, 6 Mar 2026 08:50:06 -0500 Subject: [PATCH 2/8] chore(admin_audit): add IAppConfig to Application Signed-off-by: Josh --- apps/admin_audit/lib/AppInfo/Application.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/admin_audit/lib/AppInfo/Application.php b/apps/admin_audit/lib/AppInfo/Application.php index 077cc4c47adc0..aa822839aa7dc 100644 --- a/apps/admin_audit/lib/AppInfo/Application.php +++ b/apps/admin_audit/lib/AppInfo/Application.php @@ -36,6 +36,7 @@ use OCP\AppFramework\Bootstrap\IBootContext; use OCP\AppFramework\Bootstrap\IBootstrap; use OCP\AppFramework\Bootstrap\IRegistrationContext; +use OCP\AppFramework\Services\IAppConfig; use OCP\Authentication\Events\AnyLoginFailedEvent; use OCP\Authentication\TwoFactorAuth\TwoFactorProviderChallengeFailed; use OCP\Authentication\TwoFactorAuth\TwoFactorProviderChallengePassed; @@ -81,7 +82,7 @@ public function __construct() { public function register(IRegistrationContext $context): void { $context->registerService(IAuditLogger::class, function (ContainerInterface $c) { - return new AuditLogger($c->get(ILogFactory::class), $c->get(IConfig::class)); + return new AuditLogger($c->get(ILogFactory::class), $c->get(IAppConfig::class), $c->get(IConfig::class)); }); $context->registerEventListener(CriticalActionPerformedEvent::class, CriticalActionPerformedEventListener::class); From ae582b617787f6d7ebc06a981bad759e94c7a779 Mon Sep 17 00:00:00 2001 From: Josh Date: Fri, 6 Mar 2026 09:06:09 -0500 Subject: [PATCH 3/8] chore(admin_audit): drop getAppValue from psalm-baseline for AuditLogger Signed-off-by: Josh --- build/psalm-baseline.xml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/build/psalm-baseline.xml b/build/psalm-baseline.xml index cbe08c0b2b458..88cad778f44d2 100644 --- a/build/psalm-baseline.xml +++ b/build/psalm-baseline.xml @@ -20,11 +20,6 @@ - - - - - From d9eff0abcb8fa586b6ea807f7f8863f641e7fe15 Mon Sep 17 00:00:00 2001 From: Josh Date: Fri, 6 Mar 2026 09:07:44 -0500 Subject: [PATCH 4/8] chore(admin_audit): port Rotate to IAppConfig Signed-off-by: Josh --- apps/admin_audit/lib/BackgroundJobs/Rotate.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/admin_audit/lib/BackgroundJobs/Rotate.php b/apps/admin_audit/lib/BackgroundJobs/Rotate.php index deb0f4a922c30..3d5d07e293c99 100644 --- a/apps/admin_audit/lib/BackgroundJobs/Rotate.php +++ b/apps/admin_audit/lib/BackgroundJobs/Rotate.php @@ -7,6 +7,7 @@ */ namespace OCA\AdminAudit\BackgroundJobs; +use OCP\AppFramework\Services\IAppConfig; use OCP\AppFramework\Utility\ITimeFactory; use OCP\BackgroundJob\TimedJob; use OCP\IConfig; @@ -17,6 +18,7 @@ class Rotate extends TimedJob { public function __construct( ITimeFactory $time, + private IAppConfig $appConfig, private IConfig $config, ) { parent::__construct($time); @@ -26,7 +28,7 @@ public function __construct( protected function run($argument): void { $default = $this->config->getSystemValue('datadirectory', \OC::$SERVERROOT . '/data') . '/audit.log'; - $this->filePath = $this->config->getAppValue('admin_audit', 'logfile', $default); + $this->filePath = $this->appconfig->getAppValueString('logfile', $default); if ($this->filePath === '') { // default log file, nothing to do From 2d7d070152260d733b6d8c2092b79893084034c9 Mon Sep 17 00:00:00 2001 From: Josh Date: Fri, 6 Mar 2026 09:09:31 -0500 Subject: [PATCH 5/8] chore(admin_audit): drop getAppValue from Rotate in psalm-baseline Signed-off-by: Josh --- build/psalm-baseline.xml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/build/psalm-baseline.xml b/build/psalm-baseline.xml index 88cad778f44d2..93a832d24b611 100644 --- a/build/psalm-baseline.xml +++ b/build/psalm-baseline.xml @@ -20,11 +20,6 @@ - - - - - Date: Fri, 6 Mar 2026 09:32:33 -0500 Subject: [PATCH 6/8] chore: fix typo in Rotate.php Signed-off-by: Josh --- apps/admin_audit/lib/BackgroundJobs/Rotate.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/admin_audit/lib/BackgroundJobs/Rotate.php b/apps/admin_audit/lib/BackgroundJobs/Rotate.php index 3d5d07e293c99..5a9ff2048a4fb 100644 --- a/apps/admin_audit/lib/BackgroundJobs/Rotate.php +++ b/apps/admin_audit/lib/BackgroundJobs/Rotate.php @@ -28,7 +28,7 @@ public function __construct( protected function run($argument): void { $default = $this->config->getSystemValue('datadirectory', \OC::$SERVERROOT . '/data') . '/audit.log'; - $this->filePath = $this->appconfig->getAppValueString('logfile', $default); + $this->filePath = $this->appConfig->getAppValueString('logfile', $default); if ($this->filePath === '') { // default log file, nothing to do From 62a05fe9933c6c81b27d36e728a81dbf6eff737a Mon Sep 17 00:00:00 2001 From: Josh Date: Fri, 6 Mar 2026 09:32:58 -0500 Subject: [PATCH 7/8] chore: fix typo in AuditLogger.php Signed-off-by: Josh --- apps/admin_audit/lib/AuditLogger.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/admin_audit/lib/AuditLogger.php b/apps/admin_audit/lib/AuditLogger.php index eb0d72dffab8b..c3463bf808b08 100644 --- a/apps/admin_audit/lib/AuditLogger.php +++ b/apps/admin_audit/lib/AuditLogger.php @@ -34,7 +34,7 @@ public function __construct( if ($auditType === 'file' && !$logFile) { $default = $config->getSystemValue('datadirectory', \OC::$SERVERROOT . '/data') . '/audit.log'; // Legacy way was appconfig, now it's paralleled with the normal log config - $logFile = $appconfig->getAppValueString('logfile', $default); + $logFile = $appConfig->getAppValueString('logfile', $default); } $this->parentLogger = $logFactory->getCustomPsrLogger($logFile, $auditType, $auditTag); From 23f55280a4cab1c29e08170598825c915c83eda8 Mon Sep 17 00:00:00 2001 From: Josh Date: Fri, 6 Mar 2026 10:21:12 -0500 Subject: [PATCH 8/8] chore(admin_audit): make php-cs happy Signed-off-by: Josh --- apps/admin_audit/lib/AppInfo/Application.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/admin_audit/lib/AppInfo/Application.php b/apps/admin_audit/lib/AppInfo/Application.php index aa822839aa7dc..2acb0e81c00d2 100644 --- a/apps/admin_audit/lib/AppInfo/Application.php +++ b/apps/admin_audit/lib/AppInfo/Application.php @@ -82,7 +82,7 @@ public function __construct() { public function register(IRegistrationContext $context): void { $context->registerService(IAuditLogger::class, function (ContainerInterface $c) { - return new AuditLogger($c->get(ILogFactory::class), $c->get(IAppConfig::class), $c->get(IConfig::class)); + return new AuditLogger($c->get(ILogFactory::class), $c->get(IAppConfig::class), $c->get(IConfig::class)); }); $context->registerEventListener(CriticalActionPerformedEvent::class, CriticalActionPerformedEventListener::class);