UNPKG

@universis/dining

Version:

Universis api for dining

535 lines (534 loc) 15.2 kB
{ "$schema": "https://themost-framework.github.io/themost/models/2018/2/schema.json", "@id": "https://universis.io/schemas/DiningRequestAction", "name": "DiningRequestAction", "title": "DiningRequestAction", "hidden": false, "sealed": false, "abstract": false, "inherits": "StudentRequestAction", "version": "2.1", "classPath": "./models/DiningRequestAction", "fields": [ { "name": "requestNumber", "type": "Text", "size": 36, "nullable": false, "value": "javascript:return this.code;" }, { "name": "militaryActive", "type": "Boolean", "nullable": true, "value": "javascript:return false;" }, { "name": "militarySchool", "type": "Boolean", "nullable": true, "value": "javascript:return false;" }, { "name": "studentHouseResident", "type": "Boolean", "nullable": true, "value": "javascript:return false;" }, { "name": "sameDegreeHolder", "type": "Boolean", "nullable": true, "value": "javascript:return false;" }, { "name": "foreignScholarStudent", "type": "Boolean", "nullable": false, "value": "javascript:return false;" }, { "name": "inscriptionModeTag", "type": "DiningInscriptionModeTag", "nullable": true }, { "name": "lessThan25yrs", "type": "Boolean", "nullable": false, "value": "javascript:return false;" }, { "name": "institutionOrClubLocationSameAsStudentPermanentResidence", "type": "Boolean", "nullable": true, "value": "javascript:return false;" }, { "name": "studentDisabledPerson", "type": "Boolean", "nullable": true, "value": "javascript:return false;" }, { "name": "studentOrphan", "type": "Boolean", "nullable": true, "value": "javascript:return false;" }, { "name": "numberOfStudyingSiblings", "type": "Number", "nullable": true }, { "name": "maritalStatus", "title": "Οικογενειακή κατάσταση", "description": "Οικογενειακή κατάσταση", "type": "FamilyStatus", "expandable": true, "nullable": true }, { "name": "noOfChildren", "type": "Number", "nullable": true }, { "name": "guardianType", "title": "Τύπος Κηδεμόνα", "description": "Τύπος Κηδεμόνα", "type": "GuardianType", "expandable": true, "nullable": true }, { "name": "institutionOrClubLocationSameAsGuardianPermanentResidence", "type": "Boolean", "nullable": true, "value": "javascript:return false;" }, { "name": "guardianNoOfChildren", "type": "Number", "nullable": true }, { "name": "studentReceivesUnemploymentBenefit", "type": "Boolean", "nullable": true, "value": "javascript:return false;" }, { "name": "childOfVictimOfTerrorism", "type": "Boolean", "nullable": true, "value": "javascript:return false;" }, { "name": "studentSubmitsTaxReportInGreece", "type": "Boolean", "nullable": true, "value": "javascript:return false;" }, { "name": "studentGuardianSubmitsTaxReportInGreece", "type": "Boolean", "nullable": true, "value": "javascript:return false;" }, { "name": "studentAfm", "type": "Text", "nullable": true }, { "name": "studentTotalIncome", "type": "Number", "nullable": true }, { "name": "studentSpouseReceivesUnemploymentBenefit", "type": "Boolean", "nullable": true, "value": "javascript:return false;" }, { "name": "studentSpouseAfm", "type": "Text", "nullable": true }, { "name": "studentSpouseTotalIncome", "type": "Number", "nullable": true }, { "name": "studentGuardianReceivesUnemploymentBenefit", "type": "Boolean", "nullable": true, "value": "javascript:return false;" }, { "name": "cyprusStudent", "type": "Boolean", "nullable": true, "value": "javascript:return false;" }, { "name": "foreignStudentOrChildOfGreekExpatriate", "type": "Boolean", "nullable": true, "value": "javascript:return false;" }, { "name": "studentGuardianAfm", "type": "Text", "nullable": true }, { "name": "studentGuardianTotalIncome", "type": "Number", "nullable": true }, { "name": "studentParentsFileJointTaxReport", "type": "Boolean", "nullable": true, "value": "javascript:return false;" }, { "name": "specialCategorySelfParticipant", "type": "Boolean", "nullable": true }, { "name": "allInformationSubmittedIsTrueConfirmation", "type": "Boolean", "nullable": false, "value": "javascript:return false;" }, { "@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' };" }, { "name": "effectiveStatus", "title": "effectiveStatus", "description": "Indicates the effective status of a potential action.", "type": "DiningRequestEffectiveStatusType", "nullable": true }, { "@id": "https://universis.io/diningRequestEvent", "name": "diningRequestEvent", "title": "dining Request event", "description": "dining Request event", "type": "DiningRequestEvent", "nullable": true, "editable": false }, { "name": "studentDiningCard", "title": "student dining card", "description": "student dining card", "type": "StudentDiningCard", "many": true, "expandable": true, "mapping": { "parentModel": "DiningRequestAction", "parentField": "id", "childModel": "StudentDiningCard", "childField": "action", "cascade": "delete", "associationType": "association" } }, { "@id": "https://universis.io/agree", "name": "agree", "title": "Agreement", "description": "Agree with terms and conditions", "type": "Boolean", "nullable": false, "value": "javascript:return 1;" }, { "@id": "http://schema.org/agent", "name": "agent", "title": "agent", "description": "The direct performer or driver of the action (animate or inanimate). e.g. <em>John</em> wrote a book.", "type": "User" }, { "@id": "https://themost.io/schemas/attachments", "name": "attachments", "type": "Attachment", "mapping": { "cascade": "delete", "associationType": "junction", "associationObjectField": "action", "associationValueField": "attachment", "associationAdapter": "DiningRequestActionAttachments", "privileges": [ { "mask": 15, "type": "global" }, { "mask": 15, "type": "global", "account": "Administrators" }, { "mask": 15, "type": "global", "account": "DiningAdministrators" }, { "mask": 15, "type": "self", "filter": "action/student/department eq departments()", "account": "DiningUsers" }, { "mask": 1, "type": "self", "filter": "action/owner eq me()", "account": "Students" }, { "mask": 14, "type": "self", "account": "Students", "filter": "action/owner eq me() and action/actionStatus/alternateName eq 'PotentialActionStatus'" } ] } }, { "name": "messages", "title": "Messages", "type": "Message", "many": true, "mapping": { "parentModel": "DiningRequestAction", "childModel": "DiningRequestActionMessage", "parentField": "id", "childField": "action", "cascade": "delete", "associationType": "association" } }, { "name": "studentHasManyChildren", "type": "Boolean", "value": "javascript:return false;" }, { "name": "studentFamilyHasManyChildren", "type": "Boolean", "value": "javascript:return false;" }, { "name": "studyingSiblingsHaveOtherPermanentResidence", "type": "Boolean", "value": "javascript:return false;" }, { "name": "childOfUnmarriedMother", "type": "Boolean", "value": "javascript:return false;" }, { "name": "studentHasDisabledSiblings", "type": "Boolean", "value": "javascript:return false;" }, { "name": "guardianFinancialAttributes", "title": "guardianFinancialAttributes", "type": "GuardianFinancialAttribute", "many": true, "nested": true, "mapping": { "parentModel": "DiningRequestAction", "childModel": "GuardianFinancialAttribute", "parentField": "id", "childField": "diningRequest", "cascade": "delete", "associationType": "association" } }, { "name": "childrenFinancialAttributes", "title": "childrenFinancialAttributes", "type": "ChildFinancialAttribute", "many": true, "nested": true, "mapping": { "parentModel": "DiningRequestAction", "childModel": "ChildFinancialAttribute", "parentField": "id", "childField": "diningRequest", "cascade": "delete", "associationType": "association" } }, { "name": "mobilityProgramStudent", "type": "Boolean", "value": "javascript:return false;" }, { "name": "siblingFinancialAttributes", "title": "siblingFinancialAttributes", "type": "SiblingFinancialAttribute", "many": true, "nested": true, "mapping": { "parentModel": "DiningRequestAction", "childModel": "SiblingFinancialAttribute", "parentField": "id", "childField": "diningRequest", "cascade": "delete", "associationType": "association" } }, { "name": "guardianNoOfChildrenLessThan18yrs", "type": "Number", "nullable": true }, { "@id": "http://schema.org/review", "name": "review", "title": "A review for this item", "type": "Review", "multiplicity": "ZeroOrOne", "many": true, "mapping": { "associationType": "association", "cascade": "delete", "parentModel": "DiningRequestAction", "parentField": "id", "childModel": "DiningRequestActionReview", "childField": "itemReviewed", "privileges": [ { "mask": 15, "type": "global" }, { "mask": 15, "type": "global", "account": "Administrators" }, { "mask": 15, "type": "global", "account": "DiningAdministrators" } ] } }, { "name": "category", "title": "Κατηγορία", "description": "Κατηγορία ειδικής αίτησης σίτισης", "type": "DiningRequestCategory", "nullable": true }, { "name": "studentConsent", "type": "Boolean", "nullable": true, "editable": false } ], "privileges": [ { "mask": 15, "type": "global" }, { "mask": 15, "type": "global", "account": "Administrators" }, { "mask": 15, "type": "global", "account": "DiningAdministrators" }, { "mask": 15, "type": "self", "filter": "student/department eq departments()", "account": "DiningUsers" }, { "mask": 1, "type": "self", "filter": "owner eq me()", "account": "Students" }, { "mask": 2, "type": "self", "filter": "owner eq me() and agent eq null and actionStatus/alternateName eq 'PotentialActionStatus'", "account": "Students" }, { "mask": 4, "type": "self", "when": "owner eq me() and agent eq null and actionStatus/alternateName eq 'PotentialActionStatus'", "filter": "owner eq me() and agent eq null and (actionStatus/alternateName eq 'PotentialActionStatus' or actionStatus/alternateName eq 'ActiveActionStatus')", "account": "Students" } ], "constraints": [ { "type": "unique", "description": "Request number must be unique across different records", "fields": [ "requestNumber" ] }, { "type": "unique", "description": "Request must be unique for student and event", "fields": [ "student", "diningRequestEvent" ] } ], "eventListeners": [ { "type": "@themost/data/previous-state-listener" }, { "type": "./listeners/ValidateActionListener" }, { "type": "./listeners/GenerateRequestNumberListener" }, { "type": "./listeners/OnActionCompleteListener" }, { "type": "./listeners/SendEmailAfterActionStatusChangeListener" } ] }