package
0.0.0-20230710203923-ed68d1a3f508
Repository: https://github.com/darkren/getmark-home.git
Documentation: pkg.go.dev

# README

API

Users

POST /users/

Добавляет нового пользователя в систему.

Заголовки:

Content-Type: application/json

Пример тела запроса:

{
  "login": "super admin",
  "password": "quit3SaF3PassWo4d",
  "name": "John Doe",
  "email": "[email protected]"
}

Все поля являются обязательными.

Возможные коды ответа:

  • 200
  • 400
  • 409 - в случае, если пользователь с таким логином или почтой уже существует в системе
  • 500

Authorization

POST /auth

Авторизует пользователя в системе. При успешной авторизации возвращает JWT-токен.

Заголовки:

Content-Type: application/json

Пример тела запроса:

{
  "login": "super admin",
  "password": "quit3SaF3PassWo4d"
}

Возможные коды ответа:

  • 200 - тело ответа:
{
  "token": "jwt token"
}
  • 400
  • 401
  • 500

Products

Все маршруты для товаров в API требуют авторизации. В качестве авторизации передается JWT-токен в заголовке следующим образом:

Authorization: Bearer ${TOKEN}

Для получения токена см. /auth

POST /products/

Добавляет новый товар пользователя в систему.

Заголовки:

Content-Type: application/json

Пример тела запроса:

{ 
  "barcode": "barcode1",
  "name": "name1",
  "desc": "some description 1",
  "cost": 1423
}

Все поля, кроме cost обязательны. В случае отстутствия, cost считается равным 0.

Возможные коды ответа:

  • 200
  • 400
  • 401
  • 403
  • 500

DELETE /products/:barcode

Удаляет товар пользователя с идентификатором barcode из системы.

Возможные коды ответа:

  • 200
  • 400
  • 401
  • 403
  • 500

GET /products/

Получает весь список товаров пользователя.

Возможные коды ответа:

  • 200 - тело ответа:
[
  {
    "barcode": "barcode1",
    "name": "name1",
    "desc": "some description 1",
    "cost": 1423
  }
]
  • 400
  • 401
  • 403
  • 404
  • 500

GET /products/:barcode

Получает товар пользователя с индентификатором barcode.

Возможные коды ответа:

  • 200 - тело ответа:
{
  "barcode": "barcode1",
  "name": "name1",
  "desc": "some description 1",
  "cost": 1423
}
  • 400
  • 401
  • 403
  • 404
  • 500

POST /products/:barcode/tag

Генерирует файл ценника для товара пользователя с идентификатором barcode. В случае успешной генерации файл с ценником возвращается в ответе.

Возможные коды ответа:

  • 200 - тело ответа содержит сгенерированный файл
  • 400
  • 401
  • 403
  • 404
  • 500

Tags

GET /tag/:filepath

Получает файл ценника для товара пользователя с именем filepath. Файл будет отдан только в случае, если он был предварительно сгенерирован (см. POST /products/:barcode/tag).

Возможные коды ответа:

  • 200 - тело ответа содержит файл ценника
  • 400
  • 401
  • 403
  • 404 - в случае отсутствия файла или товара в системе
  • 500