diff --git a/docs/server-api-v1/devices.md b/docs/server-api-v1/devices.md index fd063b1..ccfe489 100644 --- a/docs/server-api-v1/devices.md +++ b/docs/server-api-v1/devices.md @@ -54,7 +54,7 @@ --- -### POST `/api/v1/devices/add_new` +### POST `/api/v1/devices/new` Добавление нового устройства ### Пример запроса diff --git a/docs/server-api-v1/groups.md b/docs/server-api-v1/groups.md index e0624a7..0383231 100644 --- a/docs/server-api-v1/groups.md +++ b/docs/server-api-v1/groups.md @@ -2,42 +2,206 @@ - В основном это нужно для назначения прав пользователям. - Группами пользователей может управлять только администратор или выше. +### Group STRUCT +```json + { + "id": 42, + "alias": "home", + "name": "Домашняя группа", + "description": "Возможно написать короткое описание группы. Может пригодится например для описания правил или инструкции", + "permissions": [ + { + "type": "device", // "device" | "script" + "id": 8, // Описывает право доступа к девайсу или скрипту с этим id + "access": "granted_at", // "granted" | "denied" | "granted_at" + "granted_at": "05:00-18:30" // Если access = granted_at, то добавляется поле с указанием ренджа времени суток + }, + ... + ], + "update_at": "2025-07-29 19:45", + "create_at": "2025-07-28 18:35" + } + ``` + --- ### GET `/api/v1/groups/list` Получить список существующих груп +- **Примечание:** Доступно лишь админу и выше. + +### Пример ответа +```json + { + "status": "ok", + "groups": { + group_struct... + }, + "total": 6 + } + ``` + +### Пример НЕ успешного ответа. Не хватает прав +```json + { + "status": "error", + "message": "Permissions error" // "Permission error" + } + ``` --- -### POST `/api/v1/groups/new_group` -Добавить новую групу +### POST `/api/v1/groups/new` +Добавить новую групу. +- **Все права по умолчанию будут отключены.** +- Создавать группу может только админ или выше. + +### Пример запроса +```json + { + "alias": "home", // Required + "name": "Домашняя группа", // Required + "description": "Возможно написать короткое описание группы. Может пригодится например для описания правил или инструкции" + } + ``` + +### Пример ответа +```json + { + "status": "ok", + "group": group_struct... + } + ``` + +### Пример НЕ успешного ответа. Не хватает прав +```json + { + "status": "error", + "message": "Permissions error" + } + ``` + +### Пример НЕ успешного ответа. Невалидные поля +```json + { + "status": "error", + "field": "alias", // alias | name + "message": "Alias already exists" + } + ``` --- ### GET `/api/v1/groups/id/{{id}}` OR GET `/api/v1/groups/alias/{{alias}}` Получить группу по id ---- - -### GET `/api/v1/groups/id/{{id}}/permissions` OR GET `/api/v1/groups/alias/{{alias}}/permissions` -Получить все доступные флаги доступа группы к устройствам и к скриптам +### Пример ответа +```json + { + "status": "ok", + "group": group_struct... + } + ``` --- ### POST `/api/v1/groups/id/{{id}}/add_user` Добавить пользователя в группу +- **Доступно лишь админу и выше** + +### Пример запроса +```json + { + "user_id": 12 + } + ``` + +--- + +### GET `/api/v1/groups/id/{{id}}/users` OR GET `/api/v1/groups/alias/{{alias}}/users` +Получить список пользователей группы + +### Пример ответа +```json + { + "status": "ok", + "users": [ + user_struct... + ], + "total": 11 + } + ``` --- ### GET `/api/v1/groups/id/{{id}}/remove` Удалить группу, пользователи в этой группе должны стать безправными. +- **Доступно лишь админу и выше** + +### Пример ответа +```json + { + "status": "ok", + "user": user_struct... + } + ``` + +### Пример НЕ успешного ответа +```json + { + "status": "error", + "message": "User not found" // | "Permission error" + } + ``` --- ### POST `/api/v1/groups/id/{{id}}/update` Редактировать группу +### Пример запроса +```json + { + "name": "Changed name", + "description": "Something else" + } + ``` + +### Пример ответа +```json + { + "status": "ok", + "group": group_struct... + } + ``` + --- ### POST `/api/v1/groups/id/{{id}}/permissions/update` Редактировать флаги доступа к устройствам и скриптам + +### Пример запроса +```json + { + "permissions": { + "id": 8, // Редактируем право доступа к девайсу или скрипту с этим id + "access": "granted_at", // устанавливаем "granted" | "denied" | "granted_at" + "granted_at": "05:00-18:30" // Если access = granted_at, то добавляется поле с указанием ренджа времени суток + } + } + ``` + +### Пример ответа +```json + { + "status": "ok", + "group": group_struct... + } + ``` + +### Пример НЕ успешного ответа +```json + { + "status": "error", + "message": "Device or script not found" // | "Permission error" + } + ``` diff --git a/docs/server-api-v1/scripts.md b/docs/server-api-v1/scripts.md index 712f903..cc41541 100644 --- a/docs/server-api-v1/scripts.md +++ b/docs/server-api-v1/scripts.md @@ -14,7 +14,7 @@ --- -### POST `/api/v1/scripts/new_script` +### POST `/api/v1/scripts/new` Зарегистрировать в системе новый скрипт --- diff --git a/docs/server-api-v1/users.md b/docs/server-api-v1/users.md index c8cab62..a8e47b4 100644 --- a/docs/server-api-v1/users.md +++ b/docs/server-api-v1/users.md @@ -18,7 +18,7 @@ "viber": "+38063xxxxxxx", }, "role": "user", - "group": { group_struct... }, // | false + "group": group_struct... , // | false "last_activity": "2025-07-28 18:35", "create_at": "2025-07-28 18:35" } @@ -26,7 +26,7 @@ --- -### POST `/api/v1/users/new_user` +### POST `/api/v1/users/new` Добавить в систему нового пользователя. - Нового пользователя может добавить как админ так и суперадмин, но назначить группу прав ниже своей. @@ -47,9 +47,7 @@ ```json { "status": "ok", - "user": { - user_struct... - } + "user": user_struct... } ``` @@ -80,10 +78,7 @@ { "status": "ok", "users": [ - { - user_struct... - }, - ... + user_struct... ], "total": 15 } @@ -106,9 +101,7 @@ ```json { "status": "ok", - "user": { - user_struct... - } + "user": user_struct... } ``` @@ -129,9 +122,7 @@ ```json { "status": "ok", - "user": { - user_struct... - } + "user": user_struct... } ``` @@ -145,7 +136,7 @@ ```json { "last_name": "Smith", - "role": "user" // "user" | "admin" + "phone": "3806372984234" } ``` @@ -153,9 +144,7 @@ ```json { "status": "ok", - "user": { - user_struct... - } + "user": user_struct... } ``` @@ -176,9 +165,7 @@ ```json { "status": "ok", - "user": { - user_struct... - } + "user": user_struct... } ``` @@ -289,9 +276,7 @@ ```json { "status": "ok", - "user": { - user_struct... - } + "user": user_struct... } ```