/
kev
/
Nextcloud_File-Changes-Tracker
Обзор
Документация
Войти
/
kev
/
Nextcloud_File-Changes-Tracker
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
lib/AppInfo/Application.php
59 строк
2 KB
Evgeny Konovalov
first_commit
16 фев 2026, 17:45
16 фев 2026, 17:45
476f06c
Код
Авторство
О чём код?
<?php declare(strict_types=1); namespace OCA\FileChangesTracker\AppInfo; use OCA\FileChangesTracker\BackgroundJob\DailyDigestJob; use OCA\FileChangesTracker\Listener\FileEventListener; use OCA\FileChangesTracker\Notification\Notifier; use OCP\AppFramework\App; use OCP\AppFramework\Bootstrap\IBootContext; use OCP\AppFramework\Bootstrap\IBootstrap; use OCP\AppFramework\Bootstrap\IRegistrationContext; use OCP\BackgroundJob\IJobList; use OCP\Files\Events\Node\NodeCreatedEvent; use OCP\Files\Events\Node\NodeDeletedEvent; use OCP\Files\Events\Node\NodeRenamedEvent; use OCP\Files\Events\Node\NodeWrittenEvent; /** * Главный класс приложения File Changes Tracker */ class Application extends App implements IBootstrap { public const APP_ID = 'file_changes_tracker'; public function __construct(array $urlParams = []) { parent::__construct(self::APP_ID, $urlParams); } /** * Регистрация сервисов и слушателей событий */ public function register(IRegistrationContext $context): void { // Регистрация слушателей событий файловой системы $context->registerEventListener(NodeCreatedEvent::class, FileEventListener::class); $context->registerEventListener(NodeWrittenEvent::class, FileEventListener::class); $context->registerEventListener(NodeDeletedEvent::class, FileEventListener::class); $context->registerEventListener(NodeRenamedEvent::class, FileEventListener::class); // Регистрация обработчика уведомлений $context->registerNotifierService(Notifier::class); } /** * Инициализация приложения */ public function boot(IBootContext $context): void { $container = $context->getAppContainer(); // Регистрация фоновой задачи для ежедневной сводки /** @var IJobList $jobList */ $jobList = $container->get(IJobList::class); // Добавляем задачу если её ещё нет if (!$jobList->has(DailyDigestJob::class, null)) { $jobList->add(DailyDigestJob::class); } } }