Перейти к содержанию

Управление пользователями системы

Вход

URL: /api/v1/accounts/login
Метод: POST
Описание: Получение токена JWT. Токен действует 24 часа

Параметры запроса:
JSON Params

Параметр Описание Обязательный
login Логин пользователя Да
password Пароль пользователя Да

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

POST /api/v1/accounts/login HTTP/1.1
{
    "login": "admin", 
    "password": "admin"
}

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

{
    "data": {
        "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2NvdW50X2lkIjoxLCJleHAiOjE3NTkyMzc4ODYsInJvbGVfaWQiOjF9.gGhm1QqeYv-aBg-zFIEhFXtH2KL3tZSLLVEMWjtFTmY"
    }
}

Создать пользователя

URL: /api/v1/accounts/
Метод: POST
Описание: Создать нового пользователя. Создать пользователя может только пользователь в системе с ролью admin.

Параметры запроса:
JSON Params

Параметр Описание Обязательный
username Имя пользователя Да
role_id ID роли Да
login Логин пользователя Да
password Пароль пользователя Да

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

POST /api/v1/accounts/ HTTP/1.1
Authorization: Bearer <token>
{
    "username": "Misha",
    "role_id": 1,
    "login": "misha123",
    "password": "mishasuper123"
}

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

{
    "data": {
        "id": 2,
        "created_at": 0,
        "updated_at": 0,
        "username": "Misha",
        "login": "misha123",
        "role": "admin",
        "role_id": 1
    }
}

Получить пользователей

URL: /api/v1/accounts/
Метод: GET
Описание: Получить всех пользователей.

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

GET /api/v1/accounts/ HTTP/1.1
Authorization: Bearer <token>

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

{
    "data": [
        {
            "id": 1,
            "created_at": 1751957256,
            "updated_at": 1751957256,
            "username": "ROOT",
            "login": "admin",
            "role": "admin",
            "role_id": 1
        },
    ]
}

Ping хостов в локальной сети

URL: /api/v1/ping/
Метод: GET
Описание: Сделать пинг в локальной сети 192.168.0.0/16

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

GET /api/v1/ping/ HTTP/1.1
Authorization: Bearer <token>

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

{
    "data": [
        "192.168.20.15",
        "192.168.20.20",
        "192.168.20.21",
        "192.168.20.26",
        "192.168.20.28",
        "192.168.20.29",
        "192.168.20.32"
    ]
}

Обновить пользователя

URL: /api/v1/accounts/{id}
Метод: PUT
Описание: Обновить пользователя. Обновить пользователя может только пользователь в системе с ролью admin.

Параметры запроса:
Path Params

Параметр Описание Обязательный
id ID пользователя Да

JSON Params

Параметр Описание Обязательный
login Логин пользователя Да
username Имя пользователя Да
role_id Роль пользователя Да
password Пароль пользователя Да

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

PUT /api/v1/accounts/1 HTTP/1.1
Authorization: Bearer <token>
{
    "login": "misha123",
    "username": "updateMisha123",
    "role_id": 2,
    "password": "updateMisha123"
}

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

{
    "data": {
        "id": 2,
        "created_at": 1759152806,
        "updated_at": 1759153216,
        "username": "updateMisha123",
        "login": "misha123",
        "role": "security",
        "role_id": 2
    }
}

Получить профиль

URL: /api/v1/profile/
Метод: GET
Описание: Получить инфу об действующем пользователя

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

GET /api/v1/accounts/profile HTTP/1.1
Authorization: Bearer <token>

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

{
    "id": 1,
    "created_at": 1751957256,
    "updated_at": 1751957256,
    "username": "ROOT",
    "login": "admin",
    "role": "admin",
    "role_id": 1
}

Удалить пользователя

URL: /api/v1/accounts/{id} Метод: DELETE
Описание: Удалить пользователя. Удалить пользователя может только пользователь в системе с ролью admin.

Параметры пути:
Path Params

Параметр Описание Обязательный
id ID пользователя Да

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

DELETE /api/v1/accounts/1 HTTP/1.1
Authorization: Bearer <token>

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

HTTP STATUS 204 No Content