From b42324987bd5bcf36b62b5ee259d6afb4309236e Mon Sep 17 00:00:00 2001 From: Anthony Debucquoy Date: Thu, 7 Mar 2024 22:29:07 +0100 Subject: [PATCH] stub for courses (#60) base for the courses api Reviewed-on: https://git.herisson.ovh/PGL/Clyde/pulls/60 Reviewed-by: Wal Reviewed-by: Maxime <231026@umons.ac.be> Co-authored-by: Anthony Debucquoy Co-committed-by: Anthony Debucquoy --- frontend/src/rest/courses.js | 52 ++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 frontend/src/rest/courses.js diff --git a/frontend/src/rest/courses.js b/frontend/src/rest/courses.js new file mode 100644 index 0000000..0b98284 --- /dev/null +++ b/frontend/src/rest/courses.js @@ -0,0 +1,52 @@ +/** + * Courses API + */ + +import { restGet, restPost, restDelete, restPatch } from './restConsumer.js' + +/** + * Create a new course + */ +export async function createCourse(name, credits, faculty, teacher, assistants){ + return restPost("/courses", {name: name, credits: credits, faculty: faculty, teacher: teacher, assistants: assistants} ) +} + +/** + * Delete the specified course + */ +export async function deleteCourse(id){ + return restDelete("/course/" + id); +} + +/** + * Get informations on a particular course + * + * @param id identification of the course + * + * @return all atribute of the specified course + * - name + * - credits + * - faculty + * - teacher + * - assistants : list + */ +export async function getCourse(id){ + return restGet("/course/" + id); +} + +/** + * Change the options of a course + * + * @param id the id of the course + * @param changes Object with value to changes + * + * The changes object can contain: + * - name + * - credits + * - faculty + * - teacher + * - assistants: should be a list and will replace all assistants + */ +export async function alterCourse(id, changes){ + return restPatch("/course/" + id, changes); +}