Перейти к содержимому

Практика 4. Программирование на языке высокого уровня

Расширение функционала библиотеки

Требуется завершение практической №3 (Python)

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