managed.json revision 0cbb44acdcab0e5a2d60c601698454b6a01bd0b3
{
"objects" : [
{
"name" : "user",
"onCreate" : {
"type" : "text/javascript",
"file" : "ui/onCreate-user-set-default-fields.js"
},
"onDelete" : {
"type" : "text/javascript",
"file" : "ui/onDelete-user-cleanup.js"
},
"properties" : [
{
"name" : "password",
"encryption" : {
"key" : "openidm-sym-default"
},
"scope" : "private"
},
{
"name" : "effectiveRoles",
"type" : "virtual",
"onRetrieve" : {
"type" : "text/javascript",
"file" : "roles/effectiveRoles.js",
"rolesPropName" : "roles"
}
},
{
"name" : "effectiveAssignments",
"type" : "virtual",
"onRetrieve" : {
"type" : "text/javascript",
"file" : "roles/effectiveAssignments.js",
"effectiveRolesPropName" : "effectiveRoles"
}
}
],
"schema" : {
"id" : "http://jsonschema.net",
"title" : "User",
"viewable" : true,
"$schema" : "http://json-schema.org/draft-03/schema",
"order" : [
"userName",
"givenName",
"sn",
"mail",
"accountStatus",
"telephoneNumber",
"postalAddress",
"address2",
"city",
"postalCode",
"country",
"stateProvince",
"roles",
"manager",
"authzRoles"
],
"properties" : {
"_id" : {
"type" : "string",
"viewable" : false,
"searchable" : false,
"userEditable" : false,
"policies" : [
{
"policyId" : "cannot-contain-characters",
"params" : {
"forbiddenChars" : ["/"]
}
}
]
},
"password" : {
"type" : "string",
"viewable" : false,
"searchable" : false,
"minLength" : 8,
"userEditable" : true,
"policies" : [
{
"policyId" : "at-least-X-capitals",
"params" : {
"numCaps" : 1
}
},
{
"policyId" : "at-least-X-numbers",
"params" : {
"numNums" : 1
}
},
{
"policyId" : "cannot-contain-others",
"params" : {
"disallowedFields" : [
"userName",
"givenName",
"sn"
]
}
},
{
"policyId" : "re-auth-required",
"params" : {
"exceptRoles" : [
"system",
"openidm-admin",
"openidm-reg",
"openidm-cert"
]
}
}
]
},
"kbaInfo" : {
"type" : "array",
"userEditable" : true,
"items" : {
"type" : "object",
"properties" : {
"answer" : {
"type" : "string"
},
"customQuestion" : {
"type" : "string"
},
"questionId" : {
"type" : "string"
}
}
}
},
"mail" : {
"title" : "Email Address",
"viewable" : true,
"type" : "string",
"searchable" : true,
"userEditable" : true,
"pattern" : ".+@.+"
},
"sn" : {
"title" : "Last Name",
"viewable" : true,
"type" : "string",
"searchable" : true,
"userEditable" : true
},
"address2" : {
"type" : "string",
"title" : "Address 2",
"viewable" : true,
"userEditable" : true
},
"givenName" : {
"title" : "First Name",
"viewable" : true,
"type" : "string",
"searchable" : true,
"userEditable" : true
},
"city" : {
"type" : "string",
"title" : "City",
"viewable" : true,
"userEditable" : true
},
"country" : {
"type" : "string",
"title" : "Country",
"viewable" : true,
"userEditable" : true
},
"postalCode" : {
"type" : "string",
"title" : "Postal Code",
"viewable" : true,
"userEditable" : true
},
"accountStatus" : {
"title" : "Status",
"viewable" : true,
"type" : "string",
"searchable" : true,
"userEditable" : false
},
"roles" : {
"description" : "",
"title" : "Managed Roles",
"viewable" : true,
"userEditable" : false,
"type" : "array",
"items" : {
"type" : "relationship",
"returnByDefault" : true,
"properties" : {
"_ref" : { "type" : "string" },
"_refProperties": {
"type": "object",
"properties": {
"_id": { "type": "string" }
}
}
},
"resourceCollection" : {
"path" : "managed/role",
"query" : {
"queryFilter" : "true",
"fields" : ["properties/name"],
"sortKeys" : ["properties/name"]
}
}
}
},
"authzRoles" : {
"description" : "",
"title" : "OpenIDM Roles",
"viewable" : true,
"type" : "array",
"userEditable" : false,
"items" : {
"type" : "relationship",
"returnByDefault" : true,
"properties" : {
"_ref" : {
"type" : "string"
},
"_refProperties" : {
"type" : "object",
"properties" : {
"_id" : {
"type" : "string"
}
}
}
},
"resourceCollection" : {
"path" : "repo/internal/role",
"query" : {
"queryFilter" : "true",
"fields" : [
"_id",
"description"
],
"sortKeys" : [
"_id"
]
}
}
}
},
"effectiveRoles" : {
"type" : "array",
"title" : "Effective Roles",
"viewable" : false,
"items" : {
"type" : "string",
"returnByDefault" : true,
"isVirtual" : true
}
},
"effectiveAssignments" : {
"type" : "array",
"title" : "Effective Assignments",
"viewable" : false,
"items" : {
"type" : "string",
"returnByDefault" : true,
"isVirtual" : true
}
},
"telephoneNumber" : {
"type" : "string",
"title" : "Mobile Phone",
"viewable" : true,
"userEditable" : true,
"pattern" : "^\\+?([0-9\\- \\(\\)])*$"
},
"stateProvince" : {
"type" : "string",
"title" : "State/Province",
"viewable" : true,
"userEditable" : true
},
"postalAddress" : {
"type" : "string",
"title" : "Address 1",
"viewable" : true,
"userEditable" : true
},
"userName" : {
"title" : "Username",
"viewable" : true,
"type" : "string",
"searchable" : true,
"userEditable" : true,
"minLength" : 1,
"policies" : [
{
"policyId" : "unique"
},
{
"policyId" : "no-internal-user-conflict"
},
{
"policyId" : "cannot-contain-characters",
"params" : {
"forbiddenChars" : ["/"]
}
}
]
},
"manager" : {
"type" : "relationship",
"returnByDefault" : false,
"description" : "",
"title" : "Manager",
"viewable" : true,
"searchable" : false,
"properties" : {
"_ref" : { "type" : "string" },
"_refProperties": {
"type": "object",
"properties": {
"_id": { "type": "string" }
}
}
},
"resourceCollection" : {
"path" : "managed/user",
"label" : "Reports",
"query" : {
"queryFilter" : "true",
"fields" : [
"userName",
"givenName",
"sn"
],
"sortKeys" : [
"userName"
]
}
},
"userEditable" : false
}
},
"type" : "object",
"required" : [
"userName",
"givenName",
"sn",
"mail"
]
}
},
{
"name" : "role",
"postCreate" : {
"type" : "text/javascript",
"file" : "roles/update-users-of-role.js"
},
"postUpdate" : {
"type" : "text/javascript",
"file" : "roles/update-users-of-role.js"
},
"postDelete" : {
"type" : "text/javascript",
"file" : "roles/update-users-of-role.js"
},
"onDelete" : {
"type" : "text/javascript",
"file" : "roles/onDelete-roles.js"
},
"schema" : {
"$schema" : "http://forgerock.org/json-schema#",
"type" : "object",
"title" : "Role",
"description" : "",
"properties" : {
"_id" : {
"description" : "",
"title" : "Name",
"viewable" : false,
"searchable" : false,
"type" : "string"
},
"properties" : {
"description" : "",
"title" : "Properties",
"viewable" : true,
"searchable" : false,
"type" : "object",
"properties" : {
"name" : {
"description" : "The role name, used for display purposes.",
"title" : "Name",
"viewable" : true,
"searchable" : true,
"type" : "string"
},
"description" : {
"description" : "",
"title" : "Description",
"viewable" : true,
"searchable" : true,
"type" : "string"
}
},
"required" : [
"name",
"description"
],
"order" : [
"name",
"description"
]
},
"members" : {
"description" : "",
"title" : "Role Members",
"viewable" : true,
"type" : "array",
"items" : {
"type" : "relationship",
"reverseRelationship": true,
"reversePropertyName": "roles",
"returnByDefault" : false,
"properties" : {
"_ref" : { "type" : "string" },
"_refProperties": {
"type": "object",
"properties": {
"_id": { "type": "string" }
}
}
},
"resourceCollection" : {
"path" : "managed/user",
"label" : "User",
"query" : {
"queryFilter" : "true",
"fields" : [
"userName",
"givenName",
"sn"
],
"sortKeys" : [
"userName"
]
}
}
}
},
"assignments" : {
"description" : "",
"title" : "Assignments",
"viewable" : true,
"searchable" : false,
"type" : "string"
}
},
"required" : [
"_id",
"properties"
],
"order" : [
"_id",
"properties",
"assignments"
]
}
}
]
}