@universis/dining
Version:
Universis api for dining
141 lines • 4.46 kB
JSON
{
"$schema": "https://themost-framework.github.io/themost/models/2018/2/schema.json",
"@id": "https://universis.io/schemas/DiningRequestEvent",
"name": "DiningRequestEvent",
"description": "A dining request event",
"title": "DiningRequestEvent",
"abstract": false,
"sealed": false,
"inherits": "Event",
"version": "1.3",
"classPath": "./models/DiningRequestEvent",
"fields": [
{
"@id": "http://schema.org/identifier",
"name": "identifier",
"title": "identifier",
"description": "The identifier property represents any kind of identifier for any kind of Thing, such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides dedicated properties for representing many of these, either as textual strings or as URL (URI) links.",
"type": "Guid",
"value": "javascript:return this.newGuid();",
"nullable": false
},
{
"@id": "https://universis.io/properties/academicYear",
"name": "academicYear",
"title": "Academic year",
"type": "AcademicYear",
"expandable": true,
"nullable": false
},
{
"@id": "https://universis.io/properties/academicPeriod",
"name": "academicPeriod",
"title": "Academic period",
"type": "AcademicPeriod",
"expandable": true,
"nullable": false,
"value": "javascript:return { alternateName:'winter' };"
},
{
"@id": "http://schema.org/validFrom",
"name": "validFrom",
"title": "validFrom",
"description": "The date when the item becomes valid.",
"type": "DateTime"
},
{
"@id": "http://schema.org/validThrough",
"name": "validThrough",
"title": "validThrough",
"description": "The date after when the item is not valid.",
"type": "DateTime"
},
{
"name": "attachmentTypes",
"title": "Attachment types",
"description": "Attachment types required",
"type": "DiningRequestAttachmentConfiguration",
"many": true,
"nested": true,
"mapping": {
"parentModel": "DiningRequestEvent",
"childModel": "DiningRequestAttachmentConfiguration",
"parentField": "identifier",
"childField": "object",
"cascade": "delete",
"associationType": "association"
}
},
{
"name": "virtual",
"title": "Virtual event",
"description": "Virtual event",
"type": "Boolean",
"value": "javascript:return true;"
},
{
"name": "lastIndex",
"type": "PositiveNumber",
"value": "javascript:return 0;"
},
{
"name": "hasConsent",
"title": "Mandatory consent",
"description": "Request has mandatory consent field",
"type": "Boolean",
"nullable": true
}
],
"constraints": [
{
"type": "unique",
"description": "Identifier number must be unique across different records",
"fields": [
"identifier"
]
}
],
"eventListeners": [
{
"type": "@themost/data/previous-state-listener"
},
{
"type": "./listeners/OnChangeDiningRequestEvent"
},
{
"type": "./listeners/AddDefaultAttachmentConfiguration"
}
],
"privileges": [
{
"mask": 15,
"type": "global"
},
{
"mask": 1,
"type": "global",
"account": "*"
},
{
"mask": 15,
"type": "global",
"account": "Administrators"
},
{
"mask": 15,
"type": "global",
"account": "DiningAdministrators"
},
{
"mask": 1,
"type": "global",
"account": "DiningUsers"
},
{
"mask": 15,
"type": "self",
"filter": "organizer eq departments()",
"account": "DiningUsers"
}
]
}