/** * Courses API */ import { restGet, restPost, restDelete, restPatch } from './restConsumer.js' /** * Create a new course */ export async function createCourse(id,name, credits, owner){ return restPost("/course/curriculum/" + id, {title: name, credits: credits, owner} ) } /** * Delete the specified course */ export async function deleteCourse(id){ return restDelete("/course/" + id); } /** * Get information 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); } /** * Get the list of courses to display on secretary's option * * @return list of courses of the form * - id * - name * - credits * - facutly * - teacher * - Assistants */ export async function getCourses(role){ if(role==="Teacher"){ return restGet("/courses/owned") } return restGet("/courses") } /** * 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); } /** * Return a list containing all the actual courses of a user */ export async function getUserActualCourses(){ return restGet("/usercourses") }