Практика 4. Программирование на языке высокого уровня
Расширение функционала библиотеки
Требуется завершение практической №3 (Python)
- Добавить год издания книги
- Добавить новое поле year, которое указывает год выпуска книги.
- Сделать так, чтобы год не мог быть в будущем (должна быть проверка).
- Фильтрация книг по автору
- GET /books добавить параметр author.
- Если передан параметр, то возвращать только книги этого автора.
- Поиск книг по названию
- В GET /books добавить параметр search.
- Если передан параметр, то возвращать книги, название которых содержит этот текст (независимо от регистра).
- Добавить поддержку жанров
- Добавить поле genres, которое будет списком жанров книги.
- В GET /books добавить фильтр по жанру. Если передан жанр, возвращать только книги, содержащие его в списке жанров.
- Добавить количество экземпляров книг
- Добавить поле copies, которое показывает, сколько экземпляров книги есть в наличии.
- Реализовать возможность уменьшать это число при выдаче книги и увеличивать при возврате.
- Сделать проверку, чтобы нельзя было выдать больше книг, чем есть в наличии.
- Добавить статус доступности книги
- Добавить поле available, которое показывает, доступна ли книга для выдачи.
- Реализовать эндпоинт, который позволит менять этот статус.
- Добавить рейтинг книг
- Добавить поле rating, которое показывает средний рейтинг книги (от 0 до 5).
- Реализовать эндпоинт, позволяющий обновлять рейтинг книги (с проверкой, что значение не выходит за пределы 0–5).