Skip to content

torvald2/faces

Repository files navigation

API для расспознания лиц

Аудентификация

Будет простая BASIC. С целью хоть как-то защитить висящий в интернете API Пока не реализовано

Общий формат ответов

Все ответы приходят в такой обертке:

{
    "status_text": - статус "OK" или "ERROR",
    "error_desc": - описание ошибки ,
    "data": - сериализованный в JSON формат ответа
}

Коды ошибок:

  • 404 - не найден метод
  • 400 - Bad Request генерируется при валидации входящих данных, а также при расспознании лиц.
  • 501 - Internal Server Error - при получении ошибок от нижестоящих пакетов

Описания генерируемых приложением ошибок на русском языке. Примеры ошибок:

  • Для данного магазина нет ни одного профиля
  • Несколько лиц на фото
  • Пользователь не найден

Методы профилей

POST /api/profile/{ID магазина} - расспознание лица

BODY - бинарник jpg изображения

Ответ

{
    "status_text": "OK",
    "error_desc": "",
    "data": {
        "profile_id": 5, 
        "user_name": "Скрыпник Денис Владимирович",
        "avatar_url": "/images/5",
        "shop_num": 1,
        "created_date": "0000-01-01T07:03:01.476951Z"
    }
}

PUT /api/profile/{ID магазина}/new?name=ФИО сотрудника - создание нового профиля

BODY - бинарник jpg изображения ToDo - на текущий момент нет проверки на создание одинаковых профилей. На продакшене нужно будет сделать эту проверку

Ответ

{
    "status_text": "OK",
    "error_desc": "",
    "data": 6 - ID созданного профиля 
}

GET /api/profile/{ID магазина} - получение списка профилей по магазину

Ответ

{
    "status_text": "OK",
    "error_desc": "",
    "data": {
        "5": "Скрыпник Денис Владимирович" - ключ значение ID сотрудника/ФИО
    }
}

Методы журнала работ

POST /api/jornal

BODY

{
    "user_id":5, -  ID пользователя 
    "user_id_recognized":4, - ID пользователя который был расспознан*
    "operation_date":"2020-05-11T09:25:43.511Z",
    "operation_type":"coming" - coming - приход, leaving -уход

}

*В кейсе когда расспознали не того пользователя нужно заполнить user_id_recognized = пользователь которого расспознали, а user_id - реальный ID пользователя. В остальных случаях user_id = user_id_recognized

Получение изображений профиля

GET /images/{ID профиля}

Возвращаются бинарные данные Content-Type image/jpeg

Развертывание

Через Docker Compose. В файле захардкодил проксю на локалхост - нужно будет перенести в конфиг докера

Авторизация выполняется на NGINX

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published