5.12 Управление правами доступа в FastAPI
5 из 5 шагов пройдено

Домашнее задание

По аналогии с прошлыми шагами данного раздела, реализуйте права доступа, получая данные из JWT токена, для конечных точек товаров. В файле routers/products.py реализуйте права для следующих путей:

  • all_products - Метод получения всех товаров. Разрешен доступ всем.

 

  • create_product - Метод создания товара. Разрешен доступ администраторам и продавцам. Также необходимо заполнять полеsupplier_id=get_user.get('id'), чтобы закрепить за продавцом данный товар. В ином случае необходимо вызвать ошибку с кодом 401, и текстом "You are not authorized to use this method".

 

  • product_by_category - Метод получения товаров определенной категории. Разрешен доступ всем.

 

  • product_detail - Метод получения детальной информации о товаре. Разрешен доступ всем.

 

  • update_product - Метод изменения товара. Разрешен доступ администраторам и продавцам, которые добавили этот товар. Если эти условия не соблюдены, требуется вызвать 401 ошибку, с текстом "You are not authorized to use this method"

 

  • delete_product - Метод удаления товара. Разрешен доступ администраторам и продавцам, которые добавили этот товар. Если эти условия не соблюдены, требуется вызвать 401 ошибку, с текстом "You are not authorized to use this method"

Не забывайте установить зависимости от метода get_current_user(), для возможности проверки полезной нагрузки JWT токена.


Будьте вежливы и соблюдайте наши принципы сообщества. Пожалуйста, не оставляйте решения и подсказки в комментариях, для этого есть отдельный форум.
Нет обсуждений. Начните первое.