ACL

Разработчикам / REST API для BOOCO Meteor (v 1.x) / Общее API

В этом разделе описываются методы для работы с коллекцией acl.

Endpoints

Endpoint
Метод
Описание
Queries
Body (JSON)
Значение поля data
Права (ресурс)
Версия
GET

Запрос прав текущего пользователя для выполнения :action для :resource

доступ (boolean)

read:own (permission)

1.36.0

GET

Запрос прав пользователя :userId для выполнения :action для :resource

read:any (permission)

1.36.2

GET

Получить все записи из коллекции acl

roleresourceacl-action

спиоск ACLEntry[]

read:any (permission)

GET

Получить запись из коллекции acl по ключу (key=_id - обязательный параметр в данном запросе)

key

объект ACLEntry

read:any (permission)

POST

Создать новую запись в коллекции acl. Требуется заново загрузить права после выполнения этой операции (/acl/reload). ВАЖНО: данный метод работает напрямую с коллекцией без проверки значений. Рекомендуется использовать методы add.

объект ACLEntry

create:any (permission)

PUT

Изменить запись из коллекции acl по ключу (key=_id - обязательный параметр в данном запросе). Требуется заново загрузить права после выполнения этой операции (/acl/reload). ВАЖНО: данный метод работает напрямую с коллекцией без проверки значений. Рекомендуется использовать методы add.

key

объект ACLEntry

update:any (permission)

DELETE

Удалить запись из коллекции acl по ключу (key=_id - обязательный параметр в данном запросе). Требуется заново загрузить права после выполнения этой операции(/acl/reload).

key

delete:any (permission)

GET

Загрузить заново права из коллекции acl.

execute:any (permission)

1.37.1 (переименоан)

GET

Добавить доступ к :resource для :role и сохранить изменения, если не указан параметр noSave. Если указан параметр own, то добавляются действия с рамками own, иначе - any.

noSaveown

create:any (permission)update:any (permission)

1.37.1

GET

/Добавить действие :action для доступа к :resource для :role и сохранить изменения (если не указан параметр noSave).

noSave

create:any (permission)update:any (permission)

1.37.1

GET

Сохраняет изменения

create:any (permission)update:any (permission)

1.37.1

Параметры URL

Name
Описание
Тип значения

Тип действия ACLActionsFunc

string

Ресурс (booking, venue, …). Ресурс можно указывать с уточнением. Например, booking:meeting-room

string

_id пользователя для которого выполняется запрос прав

string

Идентификатор записи по которому идет поиск

string

Тип действия ACLActionsWithColumn

string

Параметры запроса (Queries)

Queries
Описание
Тип значения
Обязательный
Значение по умолчанию

Не вызывать saveGrants по завершению. Обычно используется чтобы добавить несколько ролей, а потом все сохранить.

boolean
нет

false

Если указан, то добавляются действия с рамками own, иначе - any.

boolean
нет

false

Используемые типы

type ACLActionsWithColumn = 'read:any' | 'read:own' | 'create:any' | 'create:own' | 'update:any' | 'update:own'
| 'delete:any' | 'delete:own' | 'execute:any' | 'execute:own';

type ACLActionsFunc = 'readAny' | 'readOwn' | 'createAny' | 'createOwn' | 'updateAny' | 'updateOwn'
| 'deleteAny' | 'deleteOwn' | 'executeAny' | 'executeOwn';

export type ACLEntry = {
  _id: string,
  role: string,
  resource: string,
  action: ACLActionsWithColumn,
  attributes: [string]
};