Как назначить разрешение пользователю для определенной папки в nuxeo, используя rest api

Я загружаю много файлов на сервер Nuxeo, используя API для отдыха. Теперь мне нужно добавить разрешение для пользователей. Я использую конечную точку http://localhost:8080/nuxeo/api/v1/id/file-id/@acl с полезной нагрузкой:

{  
    "username": "username",
    "permission": "ReadWrite"
} 

Но это не работает. Ошибка:

{
    "entity-type": "exception",
    "status": 405,
    "message": "javax.ws.rs.WebApplicationException"
}

Как мне это сделать? Есть ли конечная точка для этого?


person Mustafa    schedule 07.06.2020    source источник


Ответы (1)


Разрешение можно добавить с помощью операции Document.AddPermission, доступной на http://localhost:8080/nuxeo/api/v1/automation/Document.AddPermission конечная точка.

Вот пример вызова curl, который используется для добавления разрешения ReadWrite для пользователя editor в документ с идентификатором 2d28e87f-0753-4cfc-9f9b-b17d424aa6a7:

curl -X POST -u Administrator:Administrator \
http://localhost:8080/nuxeo/api/v1/automation/Document.AddPermission \
-H "Content-Type: application/json" \
-d '{"params":{"users":["editor"],"permission":"ReadWrite"},"input":"2d28e87f-0753-4cfc-9f9b-b17d424aa6a7"}'

А вот пример полезной нагрузки, когда вы хотите добавить разрешение для внешнего пользователя:

{
  "params": {
    "users":[],
    "email": "[email protected]",
    "permission": "Read",
    "begin": "2020-06-01T00:00:00+02:00",
    "end": "2020-06-30T00:00:00+02:00",
    "notify": true,
    "comment": "[email protected]"},
  "context": {},
  "input": "2d28e87f-0753-4cfc-9f9b-b17d424aa6a7"
}
person cgrim    schedule 07.06.2020
comment
Большое спасибо, вы сэкономили мое время. - person Mustafa; 08.06.2020
comment
Я рад, что это сработало для вас. Не могли бы вы принять ответ? Это поможет другим при решении той же проблемы ;-) Спасибо - person cgrim; 09.06.2020