createOrReplaceProfile

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


Copied to clipboard!
createOrReplaceProfile(id, body, [options]);

Property Type Description
id
string
Profile identifier
body
object
Profile definition content
options
object
Query options

body

Property Type Description
policies
object
Profile content

options

Property Type
(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

Resolves

A Profile object representing the updated/created profile.

Usage

Copied to clipboard!
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);
}