SDK
SDK Javascript v7.x
2

createOrReplaceProfile #

Creates a new profile or, if the provided profile identifier already exists, replaces it.


createOrReplaceProfile(id, body, [options]);

PropertyTypeDescription
id
string
Profile identifier
body
object
Profile definition content
options
object
Query options

body #

PropertyTypeDescription
policies
object
Profile content

options #

PropertyType
(default)
Description
queuable
boolean

(true)
If true, queues the request during downtime, until connected to Kuzzle again
refresh
boolean

(false)
If set to wait_for, Kuzzle will not respond until the created/replaced profile is indexed
timeout
number

(-1)
Time (in ms) during which a request will still be waited to be resolved. Set it -1 if you want to wait indefinitely
triggerEvents
boolean

(false)
If set to true, will trigger events even if using Embeded SDK. You should always ensure that your events/pipes does not create an infinite loop.
Available since Kuzzle 2.31.0

Resolves #

A Profile object representing the updated/created profile.

Usage #

try {
  const response = await kuzzle.security.createOrReplaceProfile(
    'myProfile',
    {
      policies: [
        {
          roleId: 'default'
        },
        {
          roleId: 'admin',
          restrictedTo: [
            {
              index: 'someindex',
              collections: [
                'collection1',
                'collection2'
              ]
            }
          ]
        }
      ]
    }
  );
  console.log(response);
  /*
  Profile {
    _id: 'myProfile',
    policies:
      [ { roleId: 'default' },
        { roleId: 'admin', restrictedTo: [Array] } ] }
  */
  console.log('Profile successfully updated');
} catch (e) {
  console.error(e);
}