Categorygithub.com/Ablyamitov/task
module
0.0.0-20241128170300-89d2a765635b
Repository: https://github.com/ablyamitov/task.git
Documentation: pkg.go.dev

# README

Форма регистрации

Доступ к api: localhost:8080

Запуск приложения

  1. Настройка БД:

    • По умолчанию используется БД task.
    • URL к БД можно задать в config.yaml:
      db:
        url: "postgresql://<username>:<password>@<host>:<port>/<dbname>"
      
    • Необходимо запустить init.sql для создания таблицы и вставки админа
  2. Запуск приложения через Makefile:

    • Сборка:
      make build
      
    • Запуск:
      make run
      

Основные API-эндпоинты

1. Регистрация пользователя

POST /register

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

{
  "last_name": "Doe",
  "first_name": "John",
  "gender": "Male",
  "birth_date": "1990-01-01",
  "phone": "+1234567890"
}

Пример ответа:

{
    "data": {
        "Status": true
    },
    "status": true,
    "errors": null
}

2. Логин (без пароля)

POST /login

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

{
   "phone"  : "+79785859202"
}

Пример ответа:

{
   "data": {
      "Status": true
   },
   "status": true,
   "errors": null
}

Примечание: В случае успешного логина в хедере ответа приходит jwt токен, который необходим для проверки роли

3. Получение всех участников (только для администратора)

GET /users

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

Тип авторизации: Bearer

В хедер запроса должен быть включен jwt токен в виде:

Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzI4MTcyNDcsImlkIjozLCJyb2xlIjoiUm9sZV9Vc2VyIn0.E9nzLIsrcIlGWVJ4WSTdl7nxKzKTVDOXT2rVCWSrs3k

Пример ответа:

{
   "data": {
      "Users": [
         {
            "id": 2,
            "last_name": "Ablyamitov",
            "first_name": "Enver",
            "gender": "Male",
            "birth_date": "14-08-2003",
            "phone": "+79785859101",
            "role": "Role_User"
         },
         {
            "id": 3,
            "last_name": "Ivanod",
            "first_name": "Alexey",
            "gender": "Male",
            "birth_date": "14-08-2010",
            "phone": "+79785859202",
            "role": "Role_User"
         }
      ]
   },
   "status": true,
   "errors": null
}

Примечание: телефон админа: +79787678178

# Packages

No description provided by the author