diff --git a/docs/server-api-v1/groups.md b/docs/server-api-v1/groups.md index 8b1ebbd..e14b7c9 100644 --- a/docs/server-api-v1/groups.md +++ b/docs/server-api-v1/groups.md @@ -1,2 +1,27 @@ ## Групы пользователей -В основном это нужно для назначения прав пользователям. \ No newline at end of file +- В основном это нужно для назначения прав пользователям. +- Группами пользователей может управлять только администратор или выше. + +### GET `/api/v1/groups/list` +Получить список существующих груп + +### POST `/api/v1/groups/new_group` +Добавить новую групу + +### 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` +Получить все доступные флаги доступа группы к устройствам и к скриптам + +### POST `/api/v1/groups/id/{{id}}/add_user` +Добавить пользователя в группу + +### GET `/api/v1/groups/id/{{id}}/remove` +Удалить группу, пользователи в этой группе должны стать безправными. + +### POST `/api/v1/groups/id/{{id}}/update` +Редактировать группу + +### POST `/api/v1/groups/id/{{id}}/permissions/update` +Редактировать флаги доступа к устройствам и скриптам diff --git a/docs/server-api-v1/logs.md b/docs/server-api-v1/logs.md index e69de29..95177e2 100644 --- a/docs/server-api-v1/logs.md +++ b/docs/server-api-v1/logs.md @@ -0,0 +1,26 @@ +## Система логирования +- действий пользователя, +- самой системы, +- скриптов, +- и прочего. + +**Доступно лишь падминистраторам и выше** + +### POST `/api/v1/logs/new` +Добавить новую, кастомную запись в журнал + +### GET `/api/v1/logs/list` +Получить последние 50 записей в журнале + +### GET `/api/v1/logs/list/filtered` +Получить фильтрованый, сортированый, порционный вывод записей. +**Аргементы:** +- `by_user` - логи конкретного пользователя (ID) +- `by_group` - логи конкретной группы (ID) +- `by_device` - логи конкретного девайса (ID) +- `by_script` - логи конкретного скрипта (ID) +- `by_event` - логи конкретного события (ID) +- `by_type` - Фильтр по конкретным типам записей (user, group, device, script, event, system ...) +- `orderby` - Сортировать по указанному полю и порядок сортировки `field:ASC|DESC` +- `from` - показать записи начиная с указаной, например с 100 (с сотой записи) +- `limit` - показать ограниченное количество записей, по умолчанию 50 \ No newline at end of file diff --git a/docs/server-api-v1/scripts.md b/docs/server-api-v1/scripts.md new file mode 100644 index 0000000..c194426 --- /dev/null +++ b/docs/server-api-v1/scripts.md @@ -0,0 +1,24 @@ +## Система скриптов +- Все действия должны выполняться от имени авторизованого пользователя. +- Все скриптами может управлять только администратор. + +### GET `/api/v1/scripts/list` +Получить список скриптов + +### GET `/api/v1/scripts/id/{{id}}` OR GET `/api/v1/scripts/alias/{{alias}}` +Получить выбраный скрипт + +### POST `/api/v1/scripts/new_script` +Зарегистрировать в системе новый скрипт + +### POST `/api/v1/scripts/id/{{id}}/update` +Редактировать скрипт + +### GET `/api/v1/scripts/id/{{id}}/remove` +Удалить скрипт из системы. (Сам скрипт при этом вполне может оставаться в файловой системе) + +### POST `/api/v1/scripts/id/{{id}}/run` +Запустить выполнение скрипта. +- При этом проверяется от имени какого пользователя был запущен скрипт. +- Если прав пользователя не хватает - скрипт не запуститься. +- МОжно передать параметры, если скрипт этого ожидает. \ No newline at end of file diff --git a/docs/server-api-v1/users.md b/docs/server-api-v1/users.md index 56422de..7c6031e 100644 --- a/docs/server-api-v1/users.md +++ b/docs/server-api-v1/users.md @@ -39,9 +39,12 @@ --- -### GET `/api/v1/users/id/{{id}}/rules` +### GET `/api/v1/users/id/{{id}}/permissions` Вернуть таблицу прав пользователя. - Это доступно для администраторов, но только в отношении себя и прав обычных пользователей. - Обычные пользователи не могут получить таблицу своих прав. - Суперадмин может получить таблицу прав любого пользователя. Сам при этом обладает по умолчанию всеми доступными правами. -- **ВАЖНО!** Это права не отдельно взятого пользователя, а группы в которой состоит пользователь. \ No newline at end of file +- **ВАЖНО!** Это права не отдельно взятого пользователя, а группы в которой состоит пользователь. + +### GET `/api/v1/users/id/{{id}}/remove` +Удалить пользователя. **Может быть выполнено только администратором или выше** \ No newline at end of file