@universis/candidates
Version:
Universis api server plugin for study program candidates, internship selection etc
226 lines (224 loc) • 7.75 kB
JSON
{
"$schema": "https://themost-framework.github.io/themost/models/2018/2/schema.json",
"@id": "https://universis.io/schemas/StudyProgramEnrollmentEvent",
"name": "StudyProgramEnrollmentEvent",
"description": "A study program enrollment event",
"title": "StudyProgramEnrollmentEvent",
"abstract": false,
"sealed": false,
"inherits": "Event",
"version": "1.1",
"classPath": "./models/StudyProgramEnrollmentEvent",
"fields": [
{
"@id": "https://universis.io/properties/inscriptionYear",
"name": "inscriptionYear",
"title": "Inscription year",
"type": "AcademicYear",
"expandable": true,
"nullable": false
},
{
"@id": "https://universis.io/properties/inscriptionPeriod",
"name": "inscriptionPeriod",
"title": "Inscription period",
"type": "AcademicPeriod",
"expandable": true,
"nullable": false
},
{
"@id": "http://schema.org/organizer",
"name": "organizer",
"title": "organizer",
"description": "An organizer of an Event.",
"type": "Department",
"nullable": false
},
{
"@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. For example the end of an offer, salary period, or a period of opening hours.",
"type": "DateTime"
},
{
"@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
},
{
"name": "virtual",
"title": "Virtual event",
"description": "Virtual event",
"type": "Boolean",
"value": "javascript:return true;"
},
{
"name": "studyProgram",
"title": "Study program",
"type": "StudyProgram",
"nullable": false
},
{
"name": "attachmentTypes",
"title": "Attachment types",
"description": "Attachment types required",
"type": "EnrollmentAttachmentConfiguration",
"many": true,
"nested": true,
"mapping": {
"parentModel": "StudyProgramEnrollmentEvent",
"childModel": "EnrollmentAttachmentConfiguration",
"parentField": "identifier",
"childField": "object",
"cascade": "delete",
"associationType": "association"
}
},
{
"name": "inscriptionModes",
"title": "Student inscription modes",
"description": "Allowed inscription modes",
"type": "InscriptionMode",
"mapping": {
"associationAdapter": "StudyProgramEnrollmentEventInscriptionModes",
"parentModel": "InscriptionMode",
"parentField": "id",
"childModel": "StudyProgramEnrollmentEvent",
"childField": "id",
"associationType": "junction",
"cascade": "delete",
"privileges": [
{
"mask": 1,
"type": "global",
"account": "Students"
},
{
"mask": 15,
"type": "global",
"account": "Administrators"
},
{
"mask": 15,
"type": "global",
"account": "Registrar"
}
]
}
},
{
"name": "articles",
"type": "ActionStatusArticle",
"mapping": {
"cascade": "delete",
"associationType": "junction",
"associationAdapter": "EnrollmentActionStatusArticles",
"parentModel": "StudyProgramEnrollmentEvent",
"parentField": "id",
"childModel": "ActionStatusArticle",
"childField": "id",
"associationObjectField": "event",
"associationValueField": "article"
}
},
{
"name": "inscriptionMode",
"title": "Default inscription mode",
"description": "The default inscription mode that the event assigns to registered candidates",
"type": "InscriptionMode",
"nullable": true
},
{
"name": "autoRegisterCourses",
"title": "Auto register courses",
"description": "Indicates whether the obligatory (semester) courses will be automatically registered after the application acceptance.",
"type": "Boolean"
},
{
"name": "viewers",
"title": "Candidates Viewers",
"type": "User",
"many": true,
"mapping": {
"cascade": "delete",
"associationType": "junction",
"associationAdapter": "StudyProgramEnrollmentEventViewers",
"parentModel": "StudyProgramEnrollmentEvent",
"parentField": "id",
"childModel": "User",
"childField": "id",
"associationObjectField": "event",
"associationValueField": "viewer",
"options": {
},
"privileges": [
{
"mask": 15,
"type": "global",
"account": "Administrators"
},
{
"mask": 15,
"type": "global",
"account": "Registrar"
},
{
"mask": 1,
"type": "global",
"account": "CandidateViewers"
}
]
}
}
],
"constraints": [
{
"type": "unique",
"fields": [
"identifier"
]
}
],
"eventListeners": [
{
"type": "@themost/data/previous-state-listener"
},
{
"type": "./listeners/study-program-enrollment-event-listener"
}
],
"privileges": [
{
"mask": 31,
"type": "global"
},
{
"mask": 1,
"type": "global",
"account": "*"
},
{
"mask": 31,
"type": "global",
"account": "Administrators"
},
{
"mask": 15,
"type": "self",
"account": "Registrar",
"filter": "organizer eq departments()"
}
]
}