sec.createAmp( namespace as String, local-name as String, document-uri as String, database as xs.anyAtomicType, role-names as String[] ) as (Number|String)
Creates a new amp in the system database for the context database.
If the tuple ($namespace, $local-name, $document-uri, $database) is not unique, an error is returned.
If one of the $role-names does not identify a role, an error is returned.
If the current user is limited to granting only his/her roles, and $role-names is not a subset of the current user's roles, then an error is returned.
Returns the amp-id.
http://marklogic.com/xdmp/privileges/create-amp
http://marklogic.com/xdmp/privileges/grant-all-roles
orhttp://marklogic.com/xdmp/privileges/grant-my-roles
This function must be executed against the Security Database.
// execute this against the security database declareUpdate(); const sec = require('/MarkLogic/security.xqy'); sec.createAmp( "http://marklogic.com/my_modules/myspace", "my-amp", "/MarkLogic/MyModule.xqy", 0, "Developer") // Creates an amp for the function "my-amp" in the MyModule.xqy module that temporarily grants users the "Developer" role.
Stack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.