diff --git a/apps/dav/lib/AppInfo/Application.php b/apps/dav/lib/AppInfo/Application.php index f4b590a92808c..5c8bdf770df77 100644 --- a/apps/dav/lib/AppInfo/Application.php +++ b/apps/dav/lib/AppInfo/Application.php @@ -19,11 +19,13 @@ use OCA\DAV\CalDAV\Reminder\NotificationProvider\PushProvider; use OCA\DAV\CalDAV\Reminder\NotificationProviderManager; use OCA\DAV\CalDAV\Reminder\Notifier as NotifierCalDAV; +use OCA\DAV\CalDAV\TimezoneService; use OCA\DAV\Capabilities; use OCA\DAV\CardDAV\ContactsManager; use OCA\DAV\CardDAV\Notification\Notifier as NotifierCardDAV; use OCA\DAV\CardDAV\SyncService; use OCA\DAV\ConfigLexicon; +use OCA\DAV\Db\PropertyMapper; use OCA\DAV\Events\AddressBookCreatedEvent; use OCA\DAV\Events\AddressBookDeletedEvent; use OCA\DAV\Events\AddressBookShareUpdatedEvent; @@ -83,13 +85,16 @@ use OCP\Calendar\Events\CalendarObjectRestoredEvent; use OCP\Calendar\Events\CalendarObjectUpdatedEvent; use OCP\Calendar\IManager as ICalendarManager; +use OCP\Calendar\ITimezoneService; use OCP\Config\BeforePreferenceDeletedEvent; use OCP\Config\BeforePreferenceSetEvent; +use OCP\Config\IUserConfig; use OCP\Contacts\IManager as IContactsManager; use OCP\DB\Events\AddMissingIndicesEvent; use OCP\Federation\Events\TrustedServerRemovedEvent; use OCP\Federation\ICloudFederationProviderManager; use OCP\Group\Events\GroupDeletedEvent; +use OCP\IConfig; use OCP\IURLGenerator; use OCP\IUserSession; use OCP\Server; @@ -233,6 +238,15 @@ public function register(IRegistrationContext $context): void { $context->registerEventListener(DeclarativeSettingsSetValueEvent::class, DavAdminSettingsListener::class); $context->registerConfigLexicon(ConfigLexicon::class); + + $context->registerService(ITimezoneService::class, function (ContainerInterface $c) { + return new TimezoneService( + $c->get(IConfig::class), + $c->get(IUserConfig::class), + $c->get(PropertyMapper::class), + $c->get(ICalendarManager::class), + ); + }); } public function boot(IBootContext $context): void { diff --git a/apps/dav/lib/CalDAV/TimezoneService.php b/apps/dav/lib/CalDAV/TimezoneService.php index 54c4360d08253..2ba9d79f8adf9 100644 --- a/apps/dav/lib/CalDAV/TimezoneService.php +++ b/apps/dav/lib/CalDAV/TimezoneService.php @@ -12,6 +12,7 @@ use OCA\DAV\Db\PropertyMapper; use OCP\Calendar\ICalendar; use OCP\Calendar\IManager; +use OCP\Calendar\ITimezoneService; use OCP\Config\IUserConfig; use OCP\IConfig; use Sabre\VObject\Component\VCalendar; @@ -19,7 +20,7 @@ use Sabre\VObject\Reader; use function array_reduce; -class TimezoneService { +class TimezoneService implements ITimezoneService { public function __construct( private IConfig $config, diff --git a/lib/composer/composer/autoload_classmap.php b/lib/composer/composer/autoload_classmap.php index b2008b286ca25..3bcb89a55a68f 100644 --- a/lib/composer/composer/autoload_classmap.php +++ b/lib/composer/composer/autoload_classmap.php @@ -230,6 +230,7 @@ 'OCP\\Calendar\\IHandleImipMessage' => $baseDir . '/lib/public/Calendar/IHandleImipMessage.php', 'OCP\\Calendar\\IManager' => $baseDir . '/lib/public/Calendar/IManager.php', 'OCP\\Calendar\\IMetadataProvider' => $baseDir . '/lib/public/Calendar/IMetadataProvider.php', + 'OCP\\Calendar\\ITimezoneService' => $baseDir . '/lib/public/Calendar/ITimezoneService.php', 'OCP\\Calendar\\Resource\\IBackend' => $baseDir . '/lib/public/Calendar/Resource/IBackend.php', 'OCP\\Calendar\\Resource\\IManager' => $baseDir . '/lib/public/Calendar/Resource/IManager.php', 'OCP\\Calendar\\Resource\\IResource' => $baseDir . '/lib/public/Calendar/Resource/IResource.php', diff --git a/lib/composer/composer/autoload_static.php b/lib/composer/composer/autoload_static.php index fb4a73103f5b3..891f6747a05de 100644 --- a/lib/composer/composer/autoload_static.php +++ b/lib/composer/composer/autoload_static.php @@ -271,6 +271,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2 'OCP\\Calendar\\IHandleImipMessage' => __DIR__ . '/../../..' . '/lib/public/Calendar/IHandleImipMessage.php', 'OCP\\Calendar\\IManager' => __DIR__ . '/../../..' . '/lib/public/Calendar/IManager.php', 'OCP\\Calendar\\IMetadataProvider' => __DIR__ . '/../../..' . '/lib/public/Calendar/IMetadataProvider.php', + 'OCP\\Calendar\\ITimezoneService' => __DIR__ . '/../../..' . '/lib/public/Calendar/ITimezoneService.php', 'OCP\\Calendar\\Resource\\IBackend' => __DIR__ . '/../../..' . '/lib/public/Calendar/Resource/IBackend.php', 'OCP\\Calendar\\Resource\\IManager' => __DIR__ . '/../../..' . '/lib/public/Calendar/Resource/IManager.php', 'OCP\\Calendar\\Resource\\IResource' => __DIR__ . '/../../..' . '/lib/public/Calendar/Resource/IResource.php', diff --git a/lib/public/Calendar/ITimezoneService.php b/lib/public/Calendar/ITimezoneService.php new file mode 100644 index 0000000000000..7df94c2758420 --- /dev/null +++ b/lib/public/Calendar/ITimezoneService.php @@ -0,0 +1,21 @@ +