@universis/candidates
Version:
Universis api server plugin for study program candidates, internship selection etc
101 lines (100 loc) • 2.79 kB
JSON
{
"$schema": "https://themost-framework.github.io/themost/models/2018/2/schema.json",
"@id": "https://universis.io/schemas/InternshipRegisterAction",
"name": "InternshipRegisterAction",
"title": "InternshipRegisterActions",
"hidden": false,
"sealed": false,
"abstract": false,
"inherits": "RegisterAction",
"version": "0.4",
"classPath": "./models/InternshipRegisterAction",
"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/internship",
"name": "internship",
"title": "internship",
"description": "The internship that is going to be registered",
"type": "AvailableInternship",
"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": "InternshipRegisterAction",
"parentField": "id",
"childModel": "InternshipRegisterActionReview",
"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": 1,
"type": "self",
"filter": "owner eq me()"
},
{
"mask": 14,
"type": "self",
"when": "owner eq me() and initiator/actionStatus/alternateName eq 'PotentialActionStatus'",
"filter": "owner eq me() and (initiator/actionStatus/alternateName eq 'PotentialActionStatus' or initiator/actionStatus/alternateName eq 'ActiveActionStatus')",
"account": "Candidates"
}
],
"constraints": [
{
"type": "unique",
"fields": [
"internship",
"initiator"
]
}
],
"eventListeners": [
]
}