53 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			53 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | /** | ||
|  |  * 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); | ||
|  | } |