{ "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 type", "typ": "array", "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", "opt": true }, "formations": { "des": "Optional formation ID list", "typ": "array", "opt": true }, "ues": { "des": "Optional UE code list", "typ": "array", "opt": true } }, "out": { "matches": { "des": "Matching professor UID(s)", "typ": "array" } } } }, "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", "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" } } }, "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", "opt": true, "def": [] }, "rem_form": { "des": "Id of formations to remove", "typ": "array", "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", "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" } } }, "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", "opt": true, "def": [] }, "rem_form": { "des": "Id of formations to remove", "typ": "array", "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", "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" } } }, "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", "opt": true, "def": [] }, "rem_form": { "des": "Id of formations to remove", "typ": "array", "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 } } } } }