EN · DE · RU · FR · ES

#286: TodoPluginUserRightId.kt

plugins/org.projectforge.plugins.todo/src/main/kotlin/org/projectforge/plugins/todo/TodoPluginUserRightId.kt Перечисление — идентификатор права пользователя, plugins/org.projectforge.plugins.todo/src/main/kotlin/org/projectforge/plugins/todo/TodoPluginUserRightId.kt 57 строк · 24 кода · 27 комментариев · 6 пустых
Перечисление Kotlin, определяющее право пользователя PLUGIN_TODO для плагина «Задачи». Реализует IUserRightId и интегрируется с Hibernate Search для полнотекстового индексирования прав доступа.

Архитектура

Это перечисление реализует интерфейс IUserRightId, который является стандартным механизмом объявления идентификаторов прав доступа в ProjectForge. Каждая константа перечисления имеет:

Внутренний класс ProviderService расширяет RightRightIdProviderService, который сам является классом, зарегистрированным через ServiceLoader (см. META-INF/services/), и сканируется фреймворком для обнаружения всех определений прав пользователей. Аннотация @TypeBinding с HibernateSearchUserRightIdTypeBinder гарантирует, что права пользователей, назначенные через это перечисление, индексируются в полнотекстовом индексе Hibernate Search, что обеспечивает поисковую фильтрацию с учётом прав доступа.

Наследование и интеграция

Иерархия классов: TodoPluginUserRightId → реализует IUserRightId (расширяет Comparable). Фреймворк собирает все реализации IUserRightId во всех плагинах и основных модулях, а затем регистрирует их на страницах конфигурации прав пользователей в административном интерфейсе. Плагин «Задачи» предоставляет ровно одно право: PLUGIN_TODO, которое предоставляет доступ к функциональности списка задач.

История Git

868d6abb7 2025 -> 2026\n63081666f Заголовки исходных файлов: 2024 -> 2025.\n067a4cbb1 Работа над миграцией в процессе...\nb1560ca43 Работа над миграцией в процессе...\ne33c8b9c2 Работа над миграцией в процессе...