amunra2/team-dev-bmstu-iu7

Разработать CRUD API

MyMiDiII opened this issue · 0 comments

Цель
Разработать API для взаимодействия с базой данных.
Реализовать классы и методы, реализующие http-запросы, и интерфейс для взаимодействия с ними.

Задачи
Реализовать возможность выполнения следующих запросов для следующих сущностей:

  • Аудитория:
    • GET:
      • GET /classrooms -- получение списка аудиторий с возможностями :
        • выбора возвращаемых полей сущности через параметр fields (список строк);
        • фильтрации по корпусу и этажу через параметры building и floor (строки) соответственно;
        • выбора свободных аудиторий по паре (у которых нет записи в сущности State) через параметр class (строка вида x,x,x);
        • проверки свободности аудитории через параметр is_free (логический тип);
      • GET /classrooms/{classroom_id} -- получение аудитории по id.
    • POST /classrooms -- добавление новой аудитории;
    • DELETE /classrooms -- удаление всех аудиторий.
  • Пары
    • GET:
      • GET /classes -- получение списка пар с возможностями:
        • выбора возвращаемых полей сущности через параметр fields (список строк);
        • фильтрации по неделе, дню и времени пары через параметры week, day, time соответственно;
      • GET /classrooms/{classroom_id} -- получение аудитории по id.
    • POST /classes -- добавление новой пары;
    • DELETE /classes -- удаление всех пар.
  • Состояния
    • POST /classrooms/{classroom_id}/classes/{class_id} -- добавление пар идентификаторов аудитории и пары в таблицу состояния