@universis/candidates
Version:
Universis api server plugin for study program candidates, internship selection etc
125 lines (124 loc) • 3.35 kB
JSON
{
"$schema": "https://themost-framework.github.io/themost/models/2018/2/schema.json",
"@id": "https://universis.io/schemas/AvailableInternship",
"name": "AvailableInternship",
"title": "AvailableInternships",
"hidden": false,
"sealed": false,
"version": "0.1",
"fields": [
{
"@id": "https://themost.io/schemas/id",
"name": "id",
"title": "ID",
"description": "The identifier of the item.",
"type": "Integer",
"primary": true,
"nullable": false
},
{
"@id": "http://schema.org/name",
"name": "name",
"title": "name",
"description": "The name of the item.",
"type": "Text"
},
{
"@id": "http://schema.org/description",
"name": "description",
"title": "description",
"description": "A description of the item.",
"type": "Note"
},
{
"name": "department",
"title": "Department",
"description": "The department which offers this internship to students",
"type": "Department",
"nullable": false
},
{
"name": "company",
"title": "Company",
"description": "The organization which offers this internship.",
"type": "Company",
"nullable": true
},
{
"name": "internshipYear",
"title": "Academic year",
"description": "The academic year when this internship has been started or is going to be started",
"type": "AcademicYear",
"expandable": true,
"nullable": false
},
{
"name": "internshipPeriod",
"title": "Academic period",
"description": "The academic period when this internship has been started or is going to be started",
"type": "AcademicPeriod",
"expandable": true
},
{
"name": "startDate",
"title": "Start Date",
"description": "The starting date of this internship",
"type": "DateTime",
"nullable": true
},
{
"name": "endDate",
"title": "End date",
"description": "The date and time when this internship ended or is going to be ended.",
"type": "DateTime",
"nullable": true
},
{
"name": "status",
"title": "Status",
"description": "The status of this intership",
"type": "InternshipStatus",
"nullable": false,
"mapping": {
"parentModel": "InternshipStatus",
"childModel": "AvailableInternship",
"parentField": "id",
"childField": "status",
"associationType": "association"
},
"value": "javascript:return { alternateName: 'potential' };"
},
{
"@id": "https://themost.io/schemas/dateModified",
"name": "dateModified",
"title": "dateModified",
"description": "The date on which this item was most recently modified.",
"type": "DateTime",
"readonly": true,
"value": "javascript:return (new Date());",
"calculation": "javascript:return (new Date());"
}
],
"privileges": [
{
"mask": 15,
"type": "global"
},
{
"mask": 15,
"type": "global",
"account": "Administrators"
},
{
"mask": 1,
"type": "global",
"account": "Candidates"
},
{
"mask": 15,
"type": "self",
"account": "Registrar",
"filter": "department eq departments()"
}
]
}