В таблице tech_messages будут храниться технические сообщения от бота для админов бота. Нужно добавить эндпоинты для их просмотра, архивации и маркирования "прочитанными" / "непрочитанными" в админке бота.
Доступные всем активным админам бота (и обычным, и суперюзерам):
get-запрос к "api/tech_messages":
[x] должен выводиться список не заархивированных сообщений из таблицы tech_messages;
[x] отображаемые поля по сообщению: id, text, was_read, created_at;
[x] возможность фильтрации по query-параметру "was_read";
[x] список должен выводится постранично (нужно использовать FilterablePaginator из src\api\pagination.py).
get-запрос к "api/tech_messages/{message_id}":
[x] должно выводится сообщение с указанным id из таблицы tech_messages;
[x] отображаемые поля по сообщению: id, text, was_read, created_at;
[x] если сообщение заархивировано, то нужно возвращать ошибку NotFoundException.
patch-запрос к "api/tech_messages/{message_id}":
[x] может передаваться только поле was_read (возможные значения true или false);
[x] при обращении должно обновляться поле was_read у записи с указанным message_id в соответствии с переданным значением.
Доступные только активным админам бота с ролью суперюзер:
delete-запрос к "api/tech_messages/{message_id}":
[x] сообщение с указанным message_id должно архивироваться;
[x] если сообщение уже заархивировано, то нужно возвращать ошибку NotFoundException.
Чтобы было проще набрать тестовую базу сообщений, можно наследоваться от ветки feature/add-admin-notification-on-errors-622. При изменении категорий происходит вызов эндпоинта сайта. Т.к. сейчас обращение к нему всегда вызывает ошибку, то сообщение об этом сохраняется в таблице tech_messages. UPDATE: функционал ветки feature/add-admin-notification-on-errors-622 добавлен в develop, ветка удалена.
В таблице tech_messages будут храниться технические сообщения от бота для админов бота. Нужно добавить эндпоинты для их просмотра, архивации и маркирования "прочитанными" / "непрочитанными" в админке бота.
Доступные всем активным админам бота (и обычным, и суперюзерам):
get-запрос к "api/tech_messages":
src\api\pagination.py
).get-запрос к "api/tech_messages/{message_id}":
patch-запрос к "api/tech_messages/{message_id}":
Доступные только активным админам бота с ролью суперюзер:
Чтобы было проще набрать тестовую базу сообщений, можно наследоваться от ветки feature/add-admin-notification-on-errors-622. При изменении категорий происходит вызов эндпоинта сайта. Т.к. сейчас обращение к нему всегда вызывает ошибку, то сообщение об этом сохраняется в таблице tech_messages. UPDATE: функционал ветки feature/add-admin-notification-on-errors-622 добавлен в develop, ветка удалена.