Studio-Yandex-Practicum / ProCharity_back_2.0

bot ProCharity (НКО Фонд Друзья)
13 stars 13 forks source link

Добавление проверки активности пользователя в эндпойнты админки #606

Closed eugemos closed 1 month ago

eugemos commented 1 month ago

Что сделано

Добавлена проверки активности пользователя (аctive=True) для эндпойнтов, указанных в задаче #595. Добавлено описание ответов 401 и 403 для документации. Для уменьшения дублирования кода выполнен рефакторинг:

Как тестировал

Локально. Для работы с API использовал страницу документации. Для работы с БД использовал DBeaver.

Создал активного суперпользователя админки, как указано в п.1 комментария https://github.com/Studio-Yandex-Practicum/ProCharity_back_2.0/issues/596#issuecomment-2233657507 и залогинил его с помощью cookies. Проверил, что все указанные эндпойнты работают. Вручную в БД изменил статус пользователя админки на неактивный. Бот перезапустил. Проверил, что все указанные эндпойнты теперь возвращают 401. Проверил, что в документации (в разделе Responses) всех указанных эндпойнтов появилось описание ответа 401 (и 403 для api/auth/invitation).

gorskyolga commented 1 month ago

@Xalgina , для тестирования нужно установить в переменных окружения DEBUG=False. Проще тестировать через cookies и документацию. Там помечены замками эндпоинты, которые должны становится недоступными, если админу установить is_active=false в БД.

gorskyolga commented 1 month ago

@eugemos , немного похозяйничала в ветке. В develop были добавлены новые эндпоинты "Admins", но после мержа develop в эту ветку они не отображались в документации. Переименовала и перенесла их по аналогии с остальными роутерами админов.

eugemos commented 1 month ago

@eugemos , немного похозяйничала в ветке...

Ок. Не возражаю.

eugemos commented 1 month ago

Напрашивается следующий рефакторинг в пакете api.endpoints:

Думаю, так более понятная структура получится.

gorskyolga commented 1 month ago

Думаю, так более понятная структура получится.

Да, стоит это сделать. Можно сделать это в этой ветке, пока Халгине не оттестировала её.

eugemos commented 1 month ago

... Да, стоит это сделать. Можно сделать это в этой ветке, пока Халгине не оттестировала её.

Ок, тогда постараюсь сегодня вечером сделать.