openframe-apiserver
Version:
The Openframe API Server.
120 lines (119 loc) • 2.41 kB
JSON
{
"name": "Frame",
"plural": "frames",
"base": "PersistedModel",
"idInjection": true,
"options": {
"validateUpsert": true
},
"mixins": {
"Timestamp": {},
"IsPublicOrOwner": {}
},
"scope": {
"order": "created",
"include": {
"current_artwork": true,
"managers": true,
"owner": true
}
},
"properties": {
"name": {
"type": "string",
"required": true
},
"display_name": {
"type": "string"
},
"description": {
"type": "string"
},
"connected": {
"type": "boolean"
},
"settings": {
"type": "object",
"required": true,
"default": {}
},
"is_public": {
"type": "boolean",
"required": true,
"default": false
},
"extensions": {
"type": "object",
"required": true,
"default": {
"openframe-image": "*",
"openframe-glslviewer": "*",
"openframe-website": "*",
"openframe-video": "*"
}
},
"formats": {
"type": "object",
"require": true,
"default": {}
}
},
"validations": [],
"relations": {
"owner": {
"type": "belongsTo",
"model": "OpenframeUser",
"foreignKey": "ownerId"
},
"managers": {
"type": "hasAndBelongsToMany",
"model": "OpenframeUser"
},
"current_artwork": {
"type": "belongsTo",
"model": "Artwork",
"foreignKey": "currentArtworkId"
}
},
"acls": [
{
"accessType": "*",
"principalType": "ROLE",
"principalId": "$everyone",
"permission": "DENY"
},
{
"accessType": "READ",
"principalType": "ROLE",
"principalId": "$everyone",
"permission": "ALLOW"
},
{
"accessType": "WRITE",
"principalType": "ROLE",
"principalId": "$owner",
"permission": "ALLOW"
},
{
"accessType": "EXECUTE",
"principalType": "ROLE",
"principalId": "$frameManager",
"permission": "ALLOW",
"property": "update_current_artwork"
},
{
"accessType": "EXECUTE",
"principalType": "ROLE",
"principalId": "$frameManager",
"permission": "ALLOW",
"property": "update_managers_by_username"
},
{
"accessType": "*",
"principalType": "ROLE",
"principalId": "admin",
"permission": "ALLOW"
}
],
"methods": {}
}