feat: add trusted groups functionality for duty information
- Introduced a new `trusted_groups` table to store groups authorized to receive duty information. - Implemented functions to add, remove, and check trusted groups in the database. - Enhanced command handlers to manage trusted groups, including `/trust_group` and `/untrust_group` commands for admin users. - Updated internationalization messages to support new commands and group status notifications. - Added unit tests for trusted groups repository functions to ensure correct behavior and data integrity.
This commit is contained in:
@@ -18,6 +18,19 @@ MESSAGES: dict[str, dict[str, str]] = {
|
||||
"refresh_pin.no_message": "There is no pinned duty message to refresh in this chat.",
|
||||
"refresh_pin.updated": "Pinned duty message updated.",
|
||||
"refresh_pin.failed": "Could not update the pinned message (permissions or edit error).",
|
||||
"refresh_pin.untrusted": "Group was removed from trusted list; pin record cleared.",
|
||||
"trust_group.added": "Group added to trusted list.",
|
||||
"trust_group.already_trusted": "This group is already trusted.",
|
||||
"trust_group.group_only": "The /trust_group command works only in groups.",
|
||||
"untrust_group.removed": "Group removed from trusted list.",
|
||||
"untrust_group.not_trusted": "This group is not in the trusted list.",
|
||||
"untrust_group.group_only": "The /untrust_group command works only in groups.",
|
||||
"group.not_trusted": (
|
||||
"This group is not authorized to receive duty data. "
|
||||
"An administrator can add the group with /trust_group."
|
||||
),
|
||||
"help.trust_group": "/trust_group — In a group: add group to trusted list (admin only)",
|
||||
"help.untrust_group": "/untrust_group — In a group: remove group from trusted list (admin only)",
|
||||
"calendar_link.private_only": "The /calendar_link command is only available in private chat.",
|
||||
"calendar_link.access_denied": "Access denied.",
|
||||
"calendar_link.success": (
|
||||
@@ -92,6 +105,19 @@ MESSAGES: dict[str, dict[str, str]] = {
|
||||
"refresh_pin.no_message": "В этом чате нет закреплённого сообщения о дежурстве для обновления.",
|
||||
"refresh_pin.updated": "Закреплённое сообщение о дежурстве обновлено.",
|
||||
"refresh_pin.failed": "Не удалось обновить закреплённое сообщение (права или ошибка редактирования).",
|
||||
"refresh_pin.untrusted": "Группа удалена из доверенных; запись о закреплении сброшена.",
|
||||
"trust_group.added": "Группа добавлена в доверенные.",
|
||||
"trust_group.already_trusted": "Эта группа уже в доверенных.",
|
||||
"trust_group.group_only": "Команда /trust_group работает только в группах.",
|
||||
"untrust_group.removed": "Группа удалена из доверенных.",
|
||||
"untrust_group.not_trusted": "Эта группа не в доверенных.",
|
||||
"untrust_group.group_only": "Команда /untrust_group работает только в группах.",
|
||||
"group.not_trusted": (
|
||||
"Эта группа не авторизована для получения данных дежурных. "
|
||||
"Администратор может добавить группу командой /trust_group."
|
||||
),
|
||||
"help.trust_group": "/trust_group — В группе: добавить группу в доверенные (только админ)",
|
||||
"help.untrust_group": "/untrust_group — В группе: удалить группу из доверенных (только админ)",
|
||||
"calendar_link.private_only": "Команда /calendar_link доступна только в личке.",
|
||||
"calendar_link.access_denied": "Доступ запрещён.",
|
||||
"calendar_link.success": (
|
||||
|
||||
Reference in New Issue
Block a user