@universis/evaluations
Version:
Universis evaluations library
150 lines (148 loc) • 4.44 kB
JSON
{
"$schema": "https://themost-framework.github.io/themost/models/2018/2/schema.json",
"@id": "http://schema.org/CourseClassEvaluationEvent",
"name": "CourseClassEvaluationEvent",
"title": "CourseClassEvaluationEvents",
"abstract": false,
"sealed": false,
"inherits": "EvaluationEvent",
"version": "1.0",
"classPath": "./models/course-class-evaluation-event-model",
"fields": [
{
"@id": "http://schema.org/courseClass",
"name": "courseClass",
"title": "Course Class",
"type": "CourseClass",
"nullable": false
},
{
"@id": "http://schema.org/organizer",
"name": "organizer",
"title": "organizer",
"description": "An organizer of an Event.",
"type": "Department",
"nullable": false
},
{
"name": "tokens",
"title": "Evaluation tokens",
"type": "EvaluationAccessToken",
"many": true,
"mapping": {
"parentModel": "CourseClassEvaluationEvent",
"childModel": "EvaluationAccessToken",
"parentField": "id",
"childField": "evaluationEvent",
"cascade": "delete",
"associationType": "association"
}
},
{
"name": "actions",
"title": "Generate token actions",
"type": "GenerateTokenAction",
"many": true,
"mapping": {
"parentModel": "CourseClassEvaluationEvent",
"childModel": "GenerateCourseClassTokenAction",
"parentField": "id",
"childField": "event",
"cascade": "delete",
"associationType": "association"
}
},
{
"name": "sendActions",
"title": "Send token actions",
"type": "SendTokenAction",
"many": true,
"mapping": {
"parentModel": "CourseClassEvaluationEvent",
"childModel": "SendCourseClassTokenAction",
"parentField": "id",
"childField": "event",
"cascade": "delete",
"associationType": "association"
}
},
{
"name": "numberOfStudents",
"title": "Μέγιστος αριθμός φοιτητών",
"description": "Αριθμός φοιτητών που μπορούν να αξιολογήσουν",
"type": "Integer",
"nullable": true
}
],
"privileges": [
{
"mask": 15,
"type": "global"
},
{
"mask": 31,
"type": "global",
"account": "Administrators"
},
{
"mask": 17,
"type": "self",
"account": "Registrar",
"filter": "courseClass/course/department eq departments()",
"scope": [
"qa"
]
},
{
"mask": 31,
"type": "global",
"account": "QualityAssuranceUnit"
},
{
"mask": 31,
"type": "self",
"account": "QualityAssuranceDepartment",
"filter": "courseClass/course/department eq departments()",
"scope": [
"qa"
]
},
{
"mask": 17,
"type": "self",
"account": "Instructors",
"filter": "courseClass/instructors/instructor eq instructor()",
"scope": [
"teachers"
]
}
],
"resultPrivileges": [
{
"mask": 1,
"type": "self",
"account": "Instructors",
"filter": "courseClass/instructors/instructor eq instructor()",
"scope": [
"teachers"
]
},
{
"mask": 1,
"type": "self",
"account": "Registrar",
"filter": "organizer eq departments()",
"scope": [
"qa"
]
}
],
"eventListeners": [
{
"type": "@themost/data/previous-state-listener"
},
{
"type": "./listeners/class-event-listener"
}
]
}