Учебный проект на FastAPI - "книжный магазин", есть готовая модель
Book. Нужно добавить в приложение модель
Seller и связать их с моделью
Book.
У продавца есть обязательные поля:- id
- first_name
- last_name
- e-mail
- password
В модели
Book, соответственно, появляется поле
seller_id, которое должны возвращать ручки с книгами, уже имеющиеся в проекте.
По итогу работы должны быть созданы несколько эндпоинтов:1) POST api/v1/seller – для регистрации продавца в системе.
2) GET api/v1/seller – для получения списка всех продавцов (В ответе ручки не должны возвращаться поля
password)
3) GET api/v1/seller/seller_id – для просмотра данных о конкретном продавце (В ответе ручки не должны возвращаться поля
password)
Эта ручка должна возвращать данные обо всех книгах, имеющихся у продавца в формате:
4) PUT api/v1/seller/seller_id – для обновления данных о продавце (без обновления книг и пароля).
5) DELETE api/v1/seller/seller_id – для удаления данных о продавце. Вместе с продавцом должны удаляться размещенные им книги.
Для каждой ручки должен быть написан как минимум 1 тест, проверяющий ее функционал.
- Реализовать авторизацию для пользователя по JWT-токену.
Создать эндпоинт для получения токена по email + password
POST api/v1/token
Эндпоинт должен возвращать JWT токен.
Закрыть токеном ручку для получения данных о продавце:
GET api/v1/seller/seller_id
И ручки создания и редактирования книг:
POST api/v1/books/
PUT api/v1/books/book_id