{ "$id": "projectsDocumentSchema", "title": "Project Document Schema", "description": "Project Document", "type": "object", "properties": { "_id": { "$ref": "#/definitions/mongoObjectId" }, "name": { "type": "string", "examples": [ "My First Project" ] }, "type": { "type": "string", "default": "project" }, "description": { "oneOf": [ { "type": "string" }, { "type": "null" } ] }, "tags": { "type": "array", "items": { "type": "string" } }, "references": { "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/fileRefObjects" }, { "$ref": "#/definitions/folderObjects" } ] } }, "settings": { "type": "object", "properties": { "type": { "type": "string", "const": "settings" }, "groups": { "$ref": "#/definitions/groups" }, "permissions": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "examples": [ "admin@pronghorn" ] } } } }, "description": { "type": "string" }, "version": { "type": "string" } }, "additionalProperties": false }, "created": { "type": "string", "format": "date-time" }, "created_by": { "$ref": "#/definitions/user" }, "last_updated": { "type": "string", "format": "date-time" }, "last_updated_by": { "$ref": "#/definitions/user" } }, "additionalProperties": false, "required": [ "name", "type", "created", "created_by" ], "definitions": { "fileRefObjects": { "type": "object", "properties": { "refId": { "type": "string" }, "type": { "type": "string", "examples": [ "workflow, folder", "jsonForm", "jst" ] }, "name": { "type": "string", "examples": [ "File 1" ] } }, "required": [ "refId", "type", "name" ], "additionalProperties": false }, "folderObjects": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string", "examples": [ "Folder 1" ] }, "references": { "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/fileRefObjects" }, { "$ref": "#/definitions/folderObjects" } ] } } }, "required": [ "id", "name", "references" ], "additionalProperties": false }, "mongoObjectId": { "type": "string", "pattern": "^[0-9a-f]{24}$", "title": "MongoDB ObjectID", "description": "String representation of a MongoDB ObjectId", "examples": [ "4321abcdef694aa79dae47ad", "5cb7b531d06cceb89fd21b1c" ] }, "ObjectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }, "groups": { "type": "array", "items": { "$ref": "#/definitions/ObjectId" } }, "user": { "$ref": "#/definitions/ObjectId" } } }