Configuration of managed objects is provided through an array of managed object configuration objects.
{
"objects": [ managed-object-config object, ... ]
}- objects
-
array of managed-object-config objects, required
Specifies the objects that the managed object service manages.
Managed-Object-Config Object Properties
Specifies the configuration of each managed object.
{
"name" : string,
"schema" : json-schema object,
"onCreate" : script object,
"onRead" : script object,
"onUpdate" : script object,
"onDelete" : script object,
"onValidate": script object,
"onRetrieve": script object,
"onStore" : script object,
"properties": [ property-configuration object, ... ]
}- name
-
string, required
The name of the managed object. Used to identify the managed object in URIs and identifiers.
- schema
-
json-schema object, optional
The schema to use to validate the structure and content of the managed object. The schema-object format is specified by the JSON Schema specification.
- onCreate
-
script object, optional
A script object to trigger when the creation of an object is being requested. The object to be created is provided in the root scope as an object property. The script may change the object. If an exception is thrown, the create aborts with an exception.
- onRead
-
script object, optional
A script object to trigger when the read of an object is being requested. The object being read is provided in the root scope as an object property. The script may change the object. If an exception is thrown, the read aborts with an exception.
- onUpdate
-
script object, optional
A script object to trigger when an update to an object is requested. The old value of the object being updated is provided in the root scope as an
oldObjectproperty. The new value of the object being updated is provided in the root scope as anewObjectproperty. The script may change thenewObject. If an exception is thrown, the update aborts with an exception. - onDelete
-
script object, optional
A script object to trigger when the deletion of an object is being requested. The object being deleted is provided in the root scope as an object property. If an exception is thrown, the deletion aborts with an exception.
- onValidate
-
script object, optional
A script object to trigger when the object requires validation. The object to be validated is provided in the root scope as an object property. If an exception is thrown, the validation fails.
- onRetrieve
-
script object, optional
A script object to trigger once an object is retrieved from the repository. The object that was retrieved is provided in the root scope as an object property. The script may change the object. If an exception is thrown, then object retrieval fails.
- onStore
-
script object, optional
A script object to trigger when an object is about to be stored in the repository. The object to be stored is provided in the root scope as an object property. The script may change the object. If an exception is thrown, then object storage fails.
- properties
-
array of property-config objects, optional
A list of property specifications.
Script Object Properties
{
"type" : "text/javascript",
"source": string
}- type
-
string, required
Specifies the type of script to be executed. Currently, only
"text/javascript"is supported. - source, file
-
string, required (only one, source or file is required)
Specifies the source code of the script to be executed (if the keyword is "source"), or a pointer to the file that contains the script (if the keyword is "file").
Property Config Properties
{
"name" : string,
"onValidate": script object,
"onRetrieve": script object,
"onStore" : script object,
"encryption": property-encryption object
}- name
-
string, required
The name of the property being configured.
- onValidate
-
script object, optional
A script object to trigger when the property requires validation. The property to be validated is provided in the root scope as the
propertyproperty. If an exception is thrown, the validation fails. - onRetrieve
-
script object, optional
A script object to trigger once a property is retrieved from the repository. The property that was retrieved is provided in the root scope as the
propertyproperty. The script may change the property value. If an exception is thrown, then object retrieval fails. - onStore
-
script object, optional
A script object to trigger when a property is about to be stored in the repository. The property to be stored is provided in the root scope as the
propertyproperty. The script may change the property value. If an exception is thrown, then object storage fails. - encryption
-
property-encryption object, optional
Specifies the configuration for encryption of the property in the repository. If omitted or null, the property is not encrypted.
Property Encryption Object
{
"cipher": string,
"key" : string
}- cipher
-
string, optional
The cipher transformation used to encrypt the property. If omitted or null, the default cipher of
"AES/CBC/PKCS5Padding"is used. - key
-
string, required
The alias of the key in the OpenIDM cryptography service keystore used to encrypt the property.

