545 lines
19 KiB
JSON
545 lines
19 KiB
JSON
{
|
|
|
|
|
|
"POST": {
|
|
"des": "Returns the API documentation",
|
|
"per": [],
|
|
"par": {
|
|
"URL0": { "des": "Method name", "typ": "varchar(1,30)", "ren": "method_name", "opt": true, "def": null },
|
|
"mixed": { "des": "mixed type", "typ": "mixed", "opt": true },
|
|
"id": { "des": "id type", "typ": "id", "opt": true },
|
|
"text": { "des": "text type", "typ": "text", "opt": true },
|
|
"mail": { "des": "mail type", "typ": "mail", "opt": true },
|
|
"alphanumeric": { "des": "alphanumeric type", "typ": "alphanumeric", "opt": true },
|
|
"letters": { "des": "letters type", "typ": "letters", "opt": true },
|
|
"array": { "des": "array type", "typ": "array", "opt": true },
|
|
"array_id": { "des": "array<id> type", "typ": "array<id>", "opt": true },
|
|
"boolean": { "des": "boolean type", "typ": "boolean", "opt": true },
|
|
"object": { "des": "object type", "typ": "object", "opt": true },
|
|
"numeric": { "des": "numeric type", "typ": "numeric", "opt": true },
|
|
"float": { "des": "float type", "typ": "float", "opt": true }
|
|
}
|
|
},
|
|
|
|
"cas": {
|
|
|
|
"GET": {
|
|
"des": "Authenticatation callback (used by third-party OAuth)",
|
|
"per": [],
|
|
"par": {
|
|
"URL0": { "des": "Whether to manage a popup", "typ": "id", "opt": true, "ren": "popup_mode", "def": 0 }
|
|
},
|
|
"opt": { "download": true }
|
|
},
|
|
|
|
"PUT": {
|
|
"des": "Real logout to change login",
|
|
"per": [["cas_user"]],
|
|
"par": {}
|
|
},
|
|
|
|
"DELETE": {
|
|
"des": "Logout",
|
|
"per": [["cas_user"]],
|
|
"par": {}
|
|
}
|
|
|
|
},
|
|
|
|
"release": {
|
|
|
|
"GET": {
|
|
|
|
"des": "Pulls project from git branch.",
|
|
"per": [[]],
|
|
"par": {
|
|
"URL0": { "des": "Name of the project to release", "typ": "alphanumeric", "ren": "project", "opt": true, "def": "self" },
|
|
"URL1": { "des": "Step to run, if not given, all steps will be run", "typ": "id", "ren": "step", "opt": true }
|
|
}
|
|
|
|
}
|
|
},
|
|
|
|
"excel":{
|
|
"POST": {
|
|
"des": "Import data from an Excel file",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
}
|
|
}
|
|
},
|
|
|
|
"department":{
|
|
|
|
"GET": {
|
|
"des": "Get one or all departments",
|
|
"per": [["cas_user"]],
|
|
"par": {
|
|
"URL0": { "des": "Optional department id.", "typ": "id", "ren": "id_dep", "opt": true }
|
|
},
|
|
"out": {
|
|
"departments": { "des": "department list", "typ": "array" }
|
|
}
|
|
},
|
|
|
|
"POST": {
|
|
"des": "Create a new Department",
|
|
"per": [["cas_user"]],
|
|
"par": {
|
|
"name": { "des": "Name of the department", "typ": "text"}
|
|
}
|
|
},
|
|
|
|
"PUT":{
|
|
"des": "Switch the user on another department database",
|
|
"per": [["cas_user"]],
|
|
"par": {
|
|
"URL0": {"des": "Department id", "typ": "id", "ren": "department" }
|
|
},
|
|
"out": {
|
|
"switched": { "des": "Whether the department has been switched", "typ": "bool" }
|
|
}
|
|
|
|
},
|
|
"errors":{
|
|
"GET": {
|
|
"des": "Get the list of incoherence of the department",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
}
|
|
}
|
|
},
|
|
"stats":{
|
|
"GET": {
|
|
"des": "Get the statistics about the department",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
}
|
|
}
|
|
},
|
|
"export":{
|
|
"GET": {
|
|
"des": "Export the data of the current department and version to a Excel file",
|
|
"per": [["cas_admin"]],
|
|
"par": {},
|
|
"opt": { "download": true }
|
|
}
|
|
},
|
|
"version":{
|
|
"switch":{
|
|
"GET": {
|
|
"des": "Switch database version for the current session",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
"URL0": { "des": "The version id", "typ": "id", "ren": "version" }
|
|
},
|
|
"out": {
|
|
"sucess": { "des": "success of the operation", "typ": "bool" }
|
|
}
|
|
}
|
|
},
|
|
"GET": {
|
|
"des": "Get the list of the versions of the department",
|
|
"per": [["cas_admin"]],
|
|
"par": {},
|
|
"out": {
|
|
"versions": { "des": "List of available versions", "typ": "array" }
|
|
}
|
|
},
|
|
"POST": {
|
|
"des": "Create a backup if the name is empty, execute the backup if the name is set",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
"label": { "des": "Label of the version", "typ": "text" }
|
|
},
|
|
"out": {
|
|
"created_id": { "des": "The id of the created version", "typ": "varchar(10,10,alphanumeric)" }
|
|
}
|
|
},
|
|
"PUT": {
|
|
"des": "Update a version and switch to this version",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
"URL0": { "des": "id of the version", "typ": "id", "ren": "version" },
|
|
"label": { "des": "Label de la version", "typ": "text", "opt": true },
|
|
"default": { "des": "Whether this version should be used on login", "typ": "bool", "opt": true }
|
|
},
|
|
"out": {
|
|
"updated": { "des": "Whether the version has been switched|applied", "typ": "bool" }
|
|
}
|
|
},
|
|
"DELETE": {
|
|
"des": "Delete a backup",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
"URL0": { "des": "The version id", "typ": "id", "ren": "version" }
|
|
},
|
|
"out": {
|
|
"deleted": { "des": "Whether the version has been deleted", "typ": "bool" }
|
|
}
|
|
}
|
|
}
|
|
},
|
|
|
|
"professor":{
|
|
|
|
"POST": {
|
|
"des": "Creates a new professor",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
"firstName": { "des": "Professor last name.", "typ": "varchar(2,30,alphanumeric)" },
|
|
"lastName": { "des": "Professor first name.", "typ": "varchar(2,30,alphanumeric)" },
|
|
"category": { "des": "Professor category UID.", "typ": "id" },
|
|
"hoursToDo": { "des": "Number of hours professor have to do", "typ": "id" },
|
|
"initials": { "des": "Professor initials", "typ": "varchar(2,8,letters)" },
|
|
"isAdmin": { "des": "Whether professor is an admin", "typ": "boolean" },
|
|
"casLogin": { "des": "Optional CAS username", "typ": "varchar(6,16,letters)", "opt": true }
|
|
},
|
|
"out": {
|
|
"created_uid": { "des": "Created professor UID", "typ": "id" }
|
|
}
|
|
},
|
|
|
|
"GET": {
|
|
"des": "Get one or all professors",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
"URL0": { "des": "Whether to return VH", "typ": "id", "ren": "with_vh" },
|
|
"URL1": { "des": "Optional professor UID.", "typ": "id", "ren": "prof_id", "opt": true }
|
|
},
|
|
"out": {
|
|
"professors": { "des": "Teacher list", "typ": "array" }
|
|
}
|
|
},
|
|
|
|
"DELETE": {
|
|
"des": "Deletes an existing professor",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
"URL0": { "des": "Professor UID.", "typ": "id", "ren": "prof_id" }
|
|
},
|
|
"out": {
|
|
"deleted": { "des": "Whether it has been deleted", "typ": "boolean" }
|
|
}
|
|
},
|
|
|
|
"PUT": {
|
|
"des": "Edits an existing professor",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
"URL0": { "des": "Optional professor UID.", "typ": "id", "ren": "prof_id" },
|
|
"firstName": { "des": "Professor last name.", "typ": "varchar(2,30,alphanumeric)", "opt": true },
|
|
"lastName": { "des": "Professor first name.", "typ": "varchar(2,30,alphanumeric)", "opt": true },
|
|
"category": { "des": "Professor category UID.", "typ": "id", "opt": true },
|
|
"hoursToDo": { "des": "Number of hours professor have to do", "typ": "id", "opt": true },
|
|
"initials": { "des": "Professor initials", "typ": "varchar(2,8,letters)", "opt": true },
|
|
"isAdmin": { "des": "Whether professor is an admin", "typ": "boolean", "opt": true },
|
|
"casLogin": { "des": "Optional CAS username", "typ": "varchar(6,16,letters)", "opt": true },
|
|
"remCas": { "des": "Unset CAS username", "typ": "boolean", "def": false, "opt": true }
|
|
},
|
|
"out": {
|
|
"updated": { "des": "Whether the professor has been updated", "typ": "boolean" }
|
|
}
|
|
},
|
|
|
|
"filter": {
|
|
"POST": {
|
|
"des": "Get matching professors (only ids) for a given filter",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
"categories": { "des": "Optional category ID list", "typ": "array<id>", "opt": true },
|
|
"formations": { "des": "Optional formation ID list", "typ": "array<id>", "opt": true },
|
|
"ues": { "des": "Optional UE code list", "typ": "array<varchar(2,30,alphanumeric)>", "opt": true }
|
|
},
|
|
"out": {
|
|
"matches": { "des": "Matching professor UID(s)", "typ": "array<id>" }
|
|
}
|
|
}
|
|
},
|
|
|
|
"pdf": {
|
|
|
|
"GET": {
|
|
"des": "Get a professor's fiche",
|
|
"per": [["cas_admin"], ["cas_user"]],
|
|
"par": {
|
|
"URL0": { "des": "Optional professor UID.", "typ": "id", "ren": "prof_id" }
|
|
},
|
|
"opt": { "download": true }
|
|
}
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
"ue":{
|
|
|
|
"POST": {
|
|
"des": "Creates a new UE",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
"code": { "des": "UE code.", "typ": "varchar(4,20,alphanumeric)" },
|
|
"label": { "des": "UE label", "typ": "varchar(4,30,alphanumeric)" },
|
|
"required": { "des": "If UE is required", "typ": "bool" },
|
|
"volumeCours": { "des": "Number of course hours for UE", "typ": "float" },
|
|
"volumeTD": { "des": "Number of TD hours for UE", "typ": "float" },
|
|
"volumeTP": { "des": "Number of TP hours for UE", "typ": "float" },
|
|
"disabled": { "des": "Whether UE is disabled", "typ": "boolean" },
|
|
"defaultFormation": { "des": "UID for optional default formation (-1 if none)", "typ": "int", "opt": true, "def": -1 }
|
|
},
|
|
"out": {
|
|
"created_code": { "des": "Created UE code", "typ": "varchar(4,20,alphanumeric)" }
|
|
}
|
|
},
|
|
|
|
"GET": {
|
|
"des": "Get one or all UE",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
"URL0": { "des": "Optional UE code.", "typ": "varchar(4,20,alphanumeric)", "ren": "code", "opt": true }
|
|
},
|
|
"out": {
|
|
"ues": { "des": "UE list", "typ": "array" }
|
|
}
|
|
},
|
|
|
|
|
|
"DELETE": {
|
|
"des": "Deletes an existing UE",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
"URL0": { "des": "UE code.", "typ": "varchar(4,20,alphanumeric)", "ren": "code" }
|
|
},
|
|
"out": {
|
|
"deleted": { "des": "Whether it has been deleted", "typ": "boolean" }
|
|
}
|
|
},
|
|
|
|
"PUT": {
|
|
"des": "Edits an existing UE",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
"URL0": { "des": "UE code.", "typ": "varchar(4,20,alphanumeric)", "ren": "code" },
|
|
"new_code": { "des": "UE new code", "typ": "varchar(4,20,alphanumeric)", "opt": true },
|
|
"label": { "des": "UE label", "typ": "varchar(4,30,alphanumeric)", "opt": true },
|
|
"required": { "des": "If UE is required", "typ": "bool", "opt": true },
|
|
"volumeCours": { "des": "Number of course hours for UE", "typ": "float", "opt": true },
|
|
"volumeTD": { "des": "Number of TD hours for UE", "typ": "float", "opt": true },
|
|
"volumeTP": { "des": "Number of TP hours for UE", "typ": "float", "opt": true },
|
|
"disabled": { "des": "Whether UE is disabled", "typ": "boolean", "opt": true },
|
|
"defaultFormation": { "des": "UID for optional default formation (-1 for none)", "typ": "int", "opt": true }
|
|
},
|
|
"out": {
|
|
"updated": { "des": "Whether the UE has been updated", "typ": "boolean" }
|
|
}
|
|
},
|
|
|
|
"cours": {
|
|
|
|
"POST": {
|
|
"des" : "Creates a new Cours for an UE",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
"code": { "des": "Code of the UE", "typ": "varchar(4,20,alphanumeric)" },
|
|
"idProf": { "des": "Id of the professor", "typ": "id", "opt": true },
|
|
"volume": { "des": "Number of hours for Cours", "typ": "id", "opt": true, "def": 0 },
|
|
"formations": { "des": "List of formations (ids)", "typ": "array<id>", "opt": true, "def": [] }
|
|
},
|
|
"out": {
|
|
"created_id" : { "des": "The id of the created Cours", "typ": "id" },
|
|
"formations" : { "des": "The ids of the linked formations", "typ": "array<id>" }
|
|
}
|
|
},
|
|
|
|
"GET": {
|
|
"des" : "Get all cours data about a given UE",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
"URL0": { "des": "Code of the UE", "typ": "varchar(4,20,alphanumeric)", "ren": "code" }
|
|
}
|
|
},
|
|
|
|
"PUT": {
|
|
"des" : "Updates an existing Cours",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
"URL0": { "des": "Id of the Cours", "typ": "id", "ren": "idCours" },
|
|
"idProf": { "des": "Id of the professor (-1 to unset)", "typ": "int", "opt": true },
|
|
"volume": { "des": "Number of hours for Cours", "typ": "float", "opt": true },
|
|
"add_form": { "des": "Id of formations to add", "typ": "array<id>", "opt": true, "def": [] },
|
|
"rem_form": { "des": "Id of formations to remove", "typ": "array<id>", "opt": true, "def": [] }
|
|
},
|
|
"out": {
|
|
"updated" : { "des": "Whether it has been updated", "typ": "bool" }
|
|
}
|
|
},
|
|
|
|
"DELETE": {
|
|
"des" : "Deletes an existing Cours",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
"URL0": { "des": "Id of the Cours", "typ": "id", "ren": "idCours" }
|
|
},
|
|
"out": {
|
|
"deleted" : { "des": "Whether it has been deleted", "typ": "bool" }
|
|
}
|
|
}
|
|
|
|
},
|
|
|
|
"td": {
|
|
|
|
"POST": {
|
|
"des" : "Creates a new TD for an UE",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
"code": { "des": "Code of the UE", "typ": "varchar(4,20,alphanumeric)" },
|
|
"idProf": { "des": "Id of the professor", "typ": "id", "opt": true },
|
|
"volume": { "des": "Number of hours for TD", "typ": "id", "opt": true, "def": 0 },
|
|
"formations": { "des": "List of formations (ids)", "typ": "array<id>", "opt": true, "def": [] }
|
|
},
|
|
"out": {
|
|
"created_id" : { "des": "The id of the created TD", "typ": "id" },
|
|
"formations" : { "des": "The ids of the linked formations", "typ": "array<id>" }
|
|
}
|
|
},
|
|
|
|
"GET": {
|
|
"des" : "Get all TD data about a given UE",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
"URL0": { "des": "Code of the UE", "typ": "varchar(4,20,alphanumeric)", "ren": "code" }
|
|
}
|
|
},
|
|
|
|
"PUT": {
|
|
"des" : "Updates an existing TD",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
"URL0": { "des": "Id of the TD", "typ": "id", "ren": "idTD" },
|
|
"idProf": { "des": "Id of the professor (-1 to unset)", "typ": "int", "opt": true },
|
|
"volume": { "des": "Number of hours for TD", "typ": "float", "opt": true },
|
|
"add_form": { "des": "Id of formations to add", "typ": "array<id>", "opt": true, "def": [] },
|
|
"rem_form": { "des": "Id of formations to remove", "typ": "array<id>", "opt": true, "def": [] }
|
|
},
|
|
"out": {
|
|
"updated" : { "des": "Whether it has been updated", "typ": "bool" }
|
|
}
|
|
},
|
|
|
|
"DELETE": {
|
|
"des" : "Deletes an existing TD",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
"URL0": { "des": "Id of the TD", "typ": "id", "ren": "idTD" }
|
|
},
|
|
"out": {
|
|
"deleted" : { "des": "Whether it has been deleted", "typ": "bool" }
|
|
}
|
|
}
|
|
|
|
},
|
|
|
|
"tp": {
|
|
|
|
"POST": {
|
|
"des" : "Creates a new TP for an UE",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
"code": { "des": "Code of the UE", "typ": "varchar(4,20,alphanumeric)" },
|
|
"idProf": { "des": "Id of the professor", "typ": "id", "opt": true },
|
|
"volume": { "des": "Number of hours for TP", "typ": "id", "opt": true, "def": 0 },
|
|
"formations": { "des": "List of formations (ids)", "typ": "array<id>", "opt": true, "def": [] }
|
|
},
|
|
"out": {
|
|
"created_id" : { "des": "The id of the created TP", "typ": "id" },
|
|
"formations" : { "des": "The ids of the linked formations", "typ": "array<id>" }
|
|
}
|
|
},
|
|
|
|
"GET": {
|
|
"des" : "Get all TP data about a given UE",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
"URL0": { "des": "Code of the UE", "typ": "varchar(4,20,alphanumeric)", "ren": "code" }
|
|
}
|
|
},
|
|
|
|
"PUT": {
|
|
"des" : "Updates an existing TP",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
"URL0": { "des": "Id of the TP", "typ": "id", "ren": "idTP" },
|
|
"idProf": { "des": "Id of the professor (-1 to unset)", "typ": "int", "opt": true },
|
|
"volume": { "des": "Number of hours for TP", "typ": "float", "opt": true },
|
|
"add_form": { "des": "Id of formations to add", "typ": "array<id>", "opt": true, "def": [] },
|
|
"rem_form": { "des": "Id of formations to remove", "typ": "array<id>", "opt": true, "def": [] }
|
|
},
|
|
"out": {
|
|
"updated" : { "des": "Whether it has been updated", "typ": "bool" }
|
|
}
|
|
},
|
|
|
|
"DELETE": {
|
|
"des" : "Deletes an existing TP",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
"URL0": { "des": "Id of the TP", "typ": "id", "ren": "idTP" }
|
|
},
|
|
"out": {
|
|
"deleted" : { "des": "Whether it has been deleted", "typ": "bool" }
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"formation": {
|
|
"GET":{
|
|
"des": "Get all data about a formation",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
"URL0":{"des" : "Id of the formation", "typ": "id", "ren": "form_id", "opt" : true }
|
|
}
|
|
},
|
|
|
|
"POST":{
|
|
"des": "Create a new formation",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
"label":{"des" : "name of the formation", "typ": "text" },
|
|
"isInternal":{"des" : "is this formation internal to the department", "typ": "bool" }
|
|
}
|
|
},
|
|
|
|
"PUT":{
|
|
"des": "Update a formation",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
"URL0": { "des": "Id of the formation", "typ": "id", "ren": "idFormation" },
|
|
"label":{"des" : "name of the formation", "typ": "text", "opt":true },
|
|
"isInternal":{"des" : "is this formation internal to the department", "typ": "bool", "opt":true }
|
|
}
|
|
},
|
|
|
|
"DELETE":{
|
|
"des": "Delete a formation",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
"URL0": { "des": "Id of the formation", "typ": "id", "ren": "idFormation" }
|
|
}
|
|
}
|
|
},
|
|
|
|
"category": {
|
|
"GET": {
|
|
"des" : "Get all data about a given category | all",
|
|
"per": [["cas_admin"]],
|
|
"par": {
|
|
"URL0": { "des": "Id of the category", "typ": "id", "ren": "cat_id", "opt": true }
|
|
}
|
|
}
|
|
}
|
|
} |