package no.niths.application.rest.school.interfaces; import no.niths.application.rest.interfaces.GenericRESTController; import no.niths.domain.school.Course; /** * Controller for course * has the basic CRUD methods and * methods too add and remove subject * and representative * * For the URL too get Course add /courses * after the {@value no.niths.common.constants.MiscConstants#NITHS_BASE_DOMAIN} */ public interface CourseController extends GenericRESTController<Course> { /** * Adds a subject to a course * * Too add subject add /{courseId}/subject/{subjectId} * too the URL * * Use the POST method * * @param courseId the id of the course * @param subjectId the id of the subject */ public void addSubject(Long courseId, Long subjectId); /** * Removes a subject to a course * * Too remove subject add /{courseId}/subject/{subjectId} * too the URL * * Use the DELETE method * * @param courseId id for the course * @param subjectId id for the subject too remove */ public void removeSubject(Long courseId, Long subjectId); /** * Adds a representative to a course * * Too add representative add /{courseId}/representative/{studentId} * too the URL * * Use the POST method * * @param courseId id of the course * @param studentId id of the student to add as a representative */ void addRepresentative(Long courseId, Long studentId); /** * Removes a representative from a course * * Too remove representative add /{courseId}/representative/{studentId} * too the URL * * Use the DELETE method * * @param courseId id of the course * @param studentId id of the student to remove */ void removeRepresentative(Long courseId, Long studentId); }