@universis/dining
Version:
Universis api for dining
85 lines (84 loc) • 2.08 kB
JSON
{
"$schema": "https://themost-framework.github.io/themost/models/2018/2/schema.json",
"@id": "https://universis.io/schemas/DiningRequestPreference",
"title": "DiningRequestPreference (Yes/No)",
"name": "DiningRequestPreference",
"hidden": false,
"sealed": false,
"abstract": false,
"version": "1.1",
"fields": [
{
"name": "id",
"title": "Id",
"type": "Counter",
"nullable": false,
"primary": true
},
{
"name": "student",
"title": "Student",
"description": "The student who declares their preference",
"type": "Student",
"value": "javascript:return this.student();",
"nullable": false,
"editable": false
},
{
"name": "diningRequestEvent",
"title": "Dining request event",
"description": "The related dining request event",
"type": "DiningRequestEvent",
"nullable": false,
"editable": false
},
{
"name": "preference",
"title": "Preference",
"description": "The student's intention to apply for dining (Yes/No)",
"type": "Boolean",
"nullable": false
},
{
"name": "action",
"title": "Dining request action",
"description": "The dining request action associated with this preference (if any)",
"type": "DiningRequestAction"
}
],
"privileges": [
{
"mask": 15,
"type": "global"
},
{
"mask": 15,
"type": "global",
"account": "Administrators"
},
{
"mask": 15,
"type": "global",
"account": "DiningAdministrators"
},
{
"mask": 15,
"type": "self",
"filter": "student/department eq departments()",
"account": "DiningUsers"
},
{
"mask": 7,
"type": "self",
"filter": "student eq student()",
"account": "Students"
}
],
"constraints": [
{
"type": "unique",
"description": "A student's request preference to a specific dining request event should be unique.",
"fields": ["student", "diningRequestEvent"]
}
]
}