Categorygithub.com/Homeppv2/api-go
module
1.0.1
Repository: https://github.com/homeppv2/api-go.git
Documentation: pkg.go.dev

# README

Docker Image CI

API

Краткое описание

Основной сервис API

Настройки сервиса

// Основная структура настроек
Config struct {
    // Структура настроек логера
    Logger   Logger
    // Структура настроек HTTP-сервера
    HTTP     HTTP
    // Структура настроек БД PostgreSQL
    Postgres Postgres
    // Структура настроек Redis
    Redis    Redis
    // Структура настроек авторизации
    Auth     Auth
}

// Структура настроек логера
Logger struct {
    // Уровень логов
    Level slog.Level
}

// Структура настроек HTTP-сервера
HTTP struct {
    // Имя хоста
    Host string
    // Номер порта
    Port string
}

// Структура настроек БД PostgreSQL
Postgres struct {
    // Строка соединения
    ConnString      string
    // Максимальное количество соединений
    MaxOpenConns    int
    // Максимальный период соедиения в режиме Lifetime
    ConnMaxLifetime time.Duration
    // Число соединений, которое разрешается иметь в состоянии Idle (т.е. открытых TCP-соединений, которые в данный момент не используются)
    MaxIdleConns    int
    // Максимальный период соедиения в режиме Idle
    ConnMaxIdleTime time.Duration
    // Флаг включения/выключения автомиграций
    AutoMigrate     bool
    // Путь к файлам миграций
    MigrationsPath  string
}

// Структура настроек Redis
Redis struct {
    // Имя хоста
    Host     string
    // Имя порта
    Port     string
    // Пароль
    Password string
    // Название БД
    DB       int
}

// Структура настроек авторизации
Auth struct {
    // Структура настроек токенов авторизации
    Token Token
}

// Структура настроек токенов авторизации
Token struct {
    // Время, которое "живет" токен
    ExpiresIn time.Duration
}

Описание API /api


Auth /auth

Сервис авторизации

  • login() POST /auth/login

Метод авторизует пользователя в системе

  • logout() POST /auth/logout

Метод разлогинивает пользователя в системе


Users /users

Сервис пользователей

  • register() POST /users/register

Метод регистрирует пользователя в системе

  • getByID() GET /users/id/:id

Метод возвращает пользователя по идентификатору

  • getByEmail() GET /users/email/:email

Метод возвращает пользователя по почте


Controllers /controllers

Сервис контроллеров

  • create() POST /controllers/create

Метод создает контроллер с уникальным ключом HwKey

  • getByID() GET /controllers/id/:id

Метод возвращает контроллер по идентификатору

  • getByHwKey() GET /controllers/hw-key/:hwKey

Метод возвращает контроллер по уникальному ключу HwKey

  • getByIsUsedBy() GET /controllers/is-used-by/:isUsedBy

Метод возвращает контроллеры по идентификатору пользователя, которому они принадлежат

  • updateIsUsed() PATCH /controllers/is-used-by/

Метод меняет у определенного контроллера пользователя, который использует контроллер

  • delete() DELETE /controllers/:id

Метод удаляет контроллер по идентификатору


Changelog

1.0.0

  • Создан сервис

# Packages

No description provided by the author
No description provided by the author