{ "$id": "common", "description": "Repository of definitions that are used throughout the application's schemas", "definitions": { "name": { "type": "string", "minLength": 1, "description": "The name of the document", "examples": [ "myCoolDocumentName" ] }, "description": { "type": "string", "description": "The description of the document", "examples": [ "Some helpful information about the document" ] }, "ObjectIdLikeString": { "description": "A string which is formatted like an ObjectId, Distinct from an actual ObjectId.", "$comment": "The pattern from #/definitions/ObjectId is used to identify fields which are actual MongoDB ObjectIds.", "type": "string", "pattern": "^[0-9a-f]{24}$" }, "ObjectId": { "title": "MongoDB.ObjectId", "description": "A MongoDB ObjectId", "type": "object" }, "uuid-v4": { "description": "A UUIDv4 identifier.", "type": "string", "pattern": "^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$" }, "iso-date-string": { "type": "string", "description": "An ISO 8601 date string", "format": "date-time" }, "account-identifier": { "oneOf": [ { "const": "Pronghorn" }, { "$ref": "#/definitions/ObjectIdLikeString" } ] }, "decorators": { "type": "array", "items": { "type": "object", "properties": { "type": { "const": "encryption" }, "pointer": { "type": "string", "format": "json-pointer" } } } }, "groupDocument": { "type": "object", "properties": { "_id": { "$ref": "#/definitions/ObjectIdLikeString" }, "provenance": { "type": "string" }, "name": { "type": "string" }, "description": { "type": "string" }, "memberOf": { "type": "array", "items": { "type": "object", "properties": { "groupId": { "$ref": "#/definitions/ObjectIdLikeString" }, "aaaManaged": { "type": "boolean" } } } }, "assignedRoles": { "type": "array", "items": { "type": "object", "properties": { "roleId": { "type": "string" } } } }, "inactive": { "type": "boolean" }, "_meta": { "type": "object", "properties": { "created": { "$ref": "#/definitions/iso-date-string" }, "updated": { "$ref": "#/definitions/iso-date-string" }, "migrationVersion": { "$ref": "#/definitions/migrationVersion" } } } } }, "accountObject": { "type": "object", "properties": { "_id": { "$ref": "#/definitions/ObjectIdLikeString" }, "provenance": { "type": "string" }, "username": { "type": "string" }, "firstname": { "type": "string" }, "memberOf": { "type": "array", "items": { "type": "object", "properties": { "groupId": { "$ref": "#/definitions/ObjectIdLikeString" }, "aaaManaged": { "type": "boolean" } } } }, "assignedRoles": { "type": "array", "items": { "type": "object", "properties": { "roleId": { "type": "string" } } } }, "inactive": { "type": "boolean" }, "lastLogin": { "$ref": "#/definitions/iso-date-string" }, "_meta": { "type": "object", "properties": { "created": { "$ref": "#/definitions/iso-date-string" }, "updated": { "$ref": "#/definitions/iso-date-string" }, "migrationVersion": { "$ref": "#/definitions/migrationVersion" } } }, "email": { "type": "string" } } }, "metadataFieldNames": { "enum": [ "createdBy", "created", "lastUpdatedBy", "lastUpdated" ] }, "metadataFields": { "type": "object", "properties": { "createdBy": { "$ref": "#/definitions/account-identifier" }, "created": { "$ref": "#/definitions/iso-date-string" }, "lastUpdatedBy": { "$ref": "#/definitions/account-identifier" }, "lastUpdated": { "$ref": "#/definitions/iso-date-string" } } }, "metadataFieldsDereferenced": { "type": "object", "properties": { "createdBy": { "oneOf": [ { "type": "string" }, { "type": "null" } ] }, "created": { "$ref": "#/definitions/iso-date-string" }, "lastUpdatedBy": { "oneOf": [ { "type": "string" }, { "type": "null" } ] }, "lastUpdated": { "$ref": "#/definitions/iso-date-string" } } }, "migrationVersion": { "description": "The current document version of this document.", "type": "integer" } } }