diff --git a/frontend/src/rest/courses.js b/frontend/src/rest/courses.js new file mode 100644 index 0000000..0d21eaf --- /dev/null +++ b/frontend/src/rest/courses.js @@ -0,0 +1,52 @@ +/** + * Courses API + */ + +import { restGet, restPost } 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); +}