
sec.protectCollection( uri as String, permissions as element(sec.permission)[] ) as (Number|String)
Protects a collection $uri with the given permissions ($permissions). Returns the unique id of the protected collection. If the protected collection at the specified URI does not exist, it is created.
| Parameters | |
|---|---|
| uri | The URI of a collection. | 
| permissions | Permissions governing the collection. | 
http://marklogic.com/xdmp/privileges/protect-collection
  If $uri is empty or can not be cast as an xs:AnyURI, an error is raised.
If a collection with the same uri is already protected, an error is raised.
This function must be executed against the security database.
// execute this against the security database
declareUpdate(); 
const sec = require('/MarkLogic/security.xqy');
sec.protectCollection("http://marklogic.com/dev_modules", 
                       [xdmp.permission("Temporary", "read","element"), 
                        xdmp.permission("Temporary", "insert","element")]) 
// Users with the "Developer" role can read and insert files in "dev_modules."  
  
Stack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.