LaStudoAngular / angular-firmware-crud

Work Application

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Firmware CRUD

Приложение, выполненное для https://7gis.ru/

ТЗ

Необходимо реализовать поддержку CRUD-операций с прошивками в любом удобном виде. Прошивка однозначно определяется 2 параметрами (2-х байтовые числа): версия загрузчика и версия прошивки.

Так же у прошивки есть файл, содержащий саму прошивку (расширение .bin, не более 1МБ), ее статус:

  • DEPRECATED - отмененная прошивка
  • CASUAL - обычная прошивка
  • STABLE - стабильная прошивка

И путь к файлу на сервере, в котором лежит прошивка. Информация о прошивке приходит в виде JSON, пример:

{
    "BootLoaderVersion": 8322,
    "FwVersion": 21,
    "Status": "CASUAL",
    "PathToFile": "/data/firmwares-storage/8322/21.bin"
}

Адрес сервера: http://kub1.7gis.ru:30003/

Типы запросов от клиента:

GET (получение информации о прошивках): 2 параметра boot_version и fw_version:

  • если оба равны 0, то получение информации о всех прошивках
  • если только fw_version равно 0, то получение информации о всех прошивках для заданной версии загрузчика
  • если оба не равны 0, то получение информации о выбранный версии прошивки

Ответы:

  • 200 (Ок)
  • 422 (Некорректные данные)
  • 500 (Ошибка на сервере)

POST (добавление прошивки): Тело с form-data:

  • BootVersion - число
  • FwVersion - число
  • Status - текст(варианты описаны выше)
  • Data - файл

Ответы:

  • 200 (Добавлено)
  • 422 (Некорректная прошивка)
  • 500 (Ошибка на сервере)

PUT (обновление прошивки): Тело с form-data:

  • BootVersion - число
  • FwVersion - число
  • Status - текст(варианты описаны выше)
  • Data - файл

Ответы:

  • 202 (Будет обновлено)
  • 422 (Некорректная прошивка/прошивки не существует)
  • 500 (Ошибка на сервере)

DELETE (удаление прошивки): 2 параметра boot_version и fw_version:

  • оба не равны 0

Ответы:

  • 202 (Удаление будет выполнено)
  • 422 (Прошивка не найдена)
  • 500 (Ошибка на сервере) В теле ответов будет описание ошибки

About

Work Application


Languages

Language:TypeScript 72.0%Language:HTML 16.4%Language:CSS 6.1%Language:JavaScript 5.5%