@universis/candidates
Version:
Universis api server plugin for study program candidates, internship selection etc
148 lines (147 loc) • 3.88 kB
JSON
{
"$schema": "https://themost-framework.github.io/themost/models/2018/2/schema.json",
"@id": "https://universis.io/schemas/CandidateStudent",
"name": "CandidateStudent",
"title": "Candidates",
"hidden": false,
"sealed": false,
"abstract": false,
"version": "1.5",
"classPath": "./models/CandidateStudent",
"implements": "Student",
"fields": [
{
"@id": "https://universis.io/id",
"name": "id",
"title": "ID",
"description": "The unique ID of this item",
"type": "Counter",
"nullable": false,
"primary": true
},
{
"name": "person",
"title": "Επαφή",
"description": "Ο κωδικός της επαφής",
"type": "CandidatePerson",
"nested": true,
"many": false,
"expandable": true
},
{
"name": "inscriptionDate",
"title": "Ημερομηνία εισαγωγής",
"description": "Ημερομηνία εισαγωγής",
"type": "DateTime",
"nullable": true
},
{
"name": "studentStatus",
"title": "Κατάσταση",
"description": "Η κατάσταση του φοιτητή",
"type": "StudentStatus",
"expandable": true,
"nullable": false,
"mapping": {
"parentModel": "StudentStatus",
"childModel": "CandidateStudent",
"parentField": "identifier",
"childField": "studentStatus",
"associationType": "association"
}
},
{
"name": "inscriptionMode",
"title": "Τρόπος εισαγωγής",
"description": "Τρόπος εισαγωγής",
"type": "InscriptionMode",
"expandable": true,
"nullable": true
},
{
"name": "studyProgramSpecialty",
"title": "Κατεύθυνση",
"description": "Η κατεύθυνση του προγράμματος σπουδών που ακολουθεί ο φοιτητής.",
"type": "StudyProgramSpecialty",
"nullable": true
},
{
"name": "student",
"title": "Φοιτητής",
"description": "Ο φοιτητής που δημιουργήθηκε από την προεγγραφή",
"type": "Student",
"nullable": true
},
{
"name": "user",
"property": "user",
"title": "Χρήστης",
"description": "Ο συνδεδεμένος χρήστης",
"type": "User",
"nullable": true
},
{
"name": "actions",
"title": "Study program register actions",
"description": "Related register action",
"type": "StudyProgramRegisterAction",
"many": true,
"mapping": {
"parentModel": "CandidateStudent",
"childModel": "StudyProgramRegisterAction",
"parentField": "id",
"childField": "candidate",
"cascade": "none",
"associationType": "association"
}
}
],
"privileges": [
{
"mask": 31,
"type": "global"
},
{
"mask": 15,
"type": "global",
"account": "Administrators"
},
{
"mask": 15,
"type": "self",
"account": "Registrar",
"filter": "department eq departments()"
},
{
"mask": 7,
"type": "self",
"account": "Candidates",
"filter": "user eq me()"
},
{
"mask": 7,
"type": "self",
"account": "Students",
"filter": "user eq me()"
}
],
"constraints": [
{
"type": "unique",
"description": "A candidate student (inscriptionNumber, inscriptionYear, inscriptionMode) tuple must be unique",
"fields": [
"inscriptionNumber",
"inscriptionYear",
"inscriptionMode"
]
}
],
"eventListeners": [
{
"type": "@themost/data/previous-state-listener"
},
{
"type": "./listeners/candidate-student-listener"
}
]
}