@universis/candidates
Version:
Universis api server plugin for study program candidates, internship selection etc
107 lines (106 loc) • 3.11 kB
JSON
{
"$schema": "https://themost-framework.github.io/themost/models/2018/2/schema.json",
"@id": "https://universis.io/schemas/CourseClassRegisterAction",
"name": "CourseClassRegisterAction",
"title": "CourseClassRegisterAction",
"hidden": false,
"sealed": false,
"abstract": false,
"inherits": "RegisterAction",
"version": "0.4",
"classPath": "./models/CourseClassRegisterAction",
"fields": [
{
"@id": "http://schema.org/additionalType",
"name": "additionalType",
"readonly": true,
"nullable": false,
"value": "javascript:return this.model.name;"
},
{
"@id": "http://schema.org/actionStatus",
"name": "actionStatus",
"title": "actionStatus",
"description": "Indicates the current disposition of the Action.",
"type": "ActionStatusType",
"value": "javascript:return { alternateName:'PotentialActionStatus' };"
},
{
"@id": "http://schema.org/courseClass",
"name": "courseClass",
"title": "courseClass",
"description": "The course class that is going to be registered",
"type": "CourseClass",
"editable": false,
"nullable": false
},
{
"@id": "http://schema.org/review",
"name": "review",
"title": "A review for this item",
"type": "Review",
"multiplicity": "ZeroOrOne",
"many": true,
"mapping": {
"associationType": "association",
"parentModel": "CourseClassRegisterAction",
"parentField": "id",
"childModel": "CourseClassRegisterActionReview",
"childField": "itemReviewed"
}
},
{
"@id": "http://schema.org/initiator",
"name": "initiator",
"type": "StudyProgramRegisterAction",
"editable": false,
"nullable": false
}
],
"privileges": [
{
"mask": 15,
"type": "global"
},
{
"mask": 15,
"type": "global",
"account": "Administrators"
},
{
"mask": 15,
"type": "self",
"account": "Registrar",
"filter": "initiator/studyProgram/department eq departments()"
},
{
"mask": 5,
"type": "self",
"account": "Instructors",
"filter": "courseClass/instructors/instructor eq instructor()"
},
{
"mask": 1,
"type": "self",
"filter": "owner eq me()"
},
{
"mask": 14,
"type": "self",
"when": "owner eq me() and initiator/actionStatus/alternateName eq 'PotentialActionStatus' and actionStatus/alternateName eq 'PotentialActionStatus'",
"filter": "owner eq me() and (initiator/actionStatus/alternateName eq 'PotentialActionStatus' or initiator/actionStatus/alternateName eq 'ActiveActionStatus') and (actionStatus/alternateName eq 'PotentialActionStatus' or actionStatus/alternateName eq 'ActiveActionStatus')",
"account": "Candidates"
}
],
"constraints": [
{
"type": "unique",
"fields": [
"courseClass",
"initiator"
]
}
],
"eventListeners": [
]
}