Skip to content

Diverso-NVR/erudite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Erudite

Об Erudite

Erudite - база комнат, оборудования, дисциплин и занятий в МИЭМе. Является модулем NVR, так как авторизация проходит через него. Erudite это более удобная и гибкая замена Google AdminSDK.

Данный сервис построен на базе mongodb, где мы храним и манипулируем данными, которые нам нужны для использования другими сервисами.

У Erudite есть несколько особенностей:

  • Без аутенфикации Erudite пропускает только GET запросы, для других типов запросов нужна аутенфикация по API ключу NVR

  • Так как Erudite использует нереляционную базу данных, пользователи данного сервиса могут добавять любые дополнительные поля, которые им будут удобны - главное, следить за правильным заполнением обязательных полей, которые указаны в документации.

Использование этого модуля клиентом

Документация UI: https://nvr.miem.hse.ru/api/erudite/docs

REST API

На данный момент в Erudite присутствуют 4 коллекции - equipment, rooms, disciplines и lessons. Поэтому описание API методов и запросов будет разбито по коллекциям.


Rooms

Rooms - коллекция, хранящия МИЭМовские аудитории.

Получить комнаты

Request

GET /rooms

Запрос вернет список комнат если не было передано ни одного дополнительного параметра. Если же параметр/параметры были переданы, то данный запрос произведет фильтрацию всех комнат по данным параметрам, и вернет результат.

Получить комнату

Request

GET /rooms/{room_id}

Запрос вернет комнату по переданному айдишнику, если тот существует.

Получить оборудование из комнаты

Request

GET /rooms/{room_id}/equipment

Запрос вернет оборудование в комнате, указанной по айдишнику, если тот существует.

Создать комнату

Request

POST /rooms

Запрос создаст комнату по переденным данным, если обязательные поля введены и введены правильно. При успешном добавлении будет возвращена добавленная комната. Важно указать id комнаты при её создании.

Обновить комнату

Request

PUT /rooms/{room_id}

Запрос удалит все данные о комнате, кроме ее айдишника, и запишет в комнату новые данные. Так же происходит проверка обязательных полей на правильность.

Удалить комнату

Request

DELETE /rooms/{room_id}

Запрос удаляет комнату по переданому айдишнику, если комната с данным айдишником существует.

Изменить комнату

Request

PATCH /rooms/{room_id}

Запрос обновит указанные поля комнаты, чей айдишник передается через параметры. Если таких полей нет у данной комнаты, то они будут добавлены.


Equipment

Equipment - коллекция, хранящая МИЭМовское оборудование.

Получить все оборудование

Request

GET /equipment

Запрос вернет список оборудования если не было передано ни одного дополнительного параметра. Если же параметр/параметры были переданы, то данный запрос произведет фильтрацию всего оборудования по данным параметрам, и вернет результат.

Получить экземпляр оборудования

Request

GET /equipment/{equipment_id}

Запрос вернет оборудование по переданному айдишнику, если тот существует.

Создать оборудование

Request

POST /equipment

Запрос создаст оборудование по переденным данным, если обязательные поля введены и введены правильно. При успешном добавлении будет возвращено добавленное оборудование. Важно указать id оборудования при её создании.

Обновить оборудование

Request

PUT /equipment/{equipment_id}

Запрос удалит все данные об оборудовании, кроме его айдишника, и запишет в оборудование новые данные. Так же происходит проверка обязательных полей на правильность.

Удалить оборудование

Request

DELETE /equipment/{equipment_id}

Запрос удаляет оборудование по переданому айдишнику, если оборудование с данным айдишником существует.

Изменить оборудование

Request

PATCH /equipment/{equipment_id}

Запрос обновит указанные поля оборудования, чей айдишник передается через параметры. Если таких полей нет у данного оборудования, то они будут добавлены.


Disciplines

Disciplines - коллекция, хранящая данные о дисциплинах в МИЭМе.

Получить все дисциплины

Request

GET /disciplines

Запрос вернет список дисциплин если не было передано ни одного дополнительного параметра. Если же параметр/параметры были переданы, то данный запрос произведет фильтрацию всех дисциплин по данным параметрам, и вернет результат.

Получить дисциплину

Request

GET /disciplines/{discipline_id}

Запрос вернет оборудование по переданному айдишнику, если тот существует.

Создать дисциплину

Request

POST /equipment

Запрос создаст дисциплину по переденным данным, если обязательные поля введены и введены правильно. При успешном добавлении будет возвращена добавленная дисциплина. Важно указать id дисциплины при её создании.

Обновить дисциплину

Request

PUT /equipment/{equipment_id}

Запрос удалит все данные об дисциплине, кроме её айдишника, и запишет в оборудование новые данные. Так же происходит проверка обязательных полей на правильность.

Удалить дисциплину

Request

DELETE /equipment/{equipment_id}

Запрос удаляет дисциплину по переданому айдишнику, если дисциплина с данным айдишником существует.


Lessons

Lessons - коллекция, хранящая данные о парах в МИЭМе.

Получить все пары

Request

GET /lessons

Запрос вернет список пар если не было передано ни одного дополнительного параметра. Если же параметр/параметры были переданы, то данный запрос произведет фильтрацию всех пар по данным параметрам, и вернет результат.

Получить пару

Request

GET /lessons/{lesson_id}

Запрос вернет пару по переданному айдишнику, если тот существует.

Создать пару

Request

POST /lessons

Запрос создаст пару по переденным данным, если обязательные поля введены и введены правильно. При успешном добавлении будет возвращена добавленная пара. Важно указать id пары при её создании.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages