package no.niths.application.rest.school.interfaces; import no.niths.application.rest.interfaces.GenericRESTController; import no.niths.domain.school.Subject; /** * Controller for subjects * has the basic CRUD methods and * methods too add and remove tutors * and rooms * * For the URL too get Subjects add /subjects * after the {@value no.niths.common.constants.MiscConstants#NITHS_BASE_DOMAIN} */ public interface SubjectController extends GenericRESTController<Subject> { /** * Removes a tutor from a subject * * Too remove tutor add /{subjectId}/tutor/{studentId} * too the URL * * Use the DELETE method * * @param subjectId the id of the subject * @param studentId the id of the tutor */ void removeTutor(Long subjectId, Long studentId); /** * Adds a tutor to a subject * * Too add tutor add /{subjectId}/tutor/{studentId} * too the URL * * Use the POST method * * @param subjectId id for the subject * @param studentId id for the student */ void addTutor(Long subjectId, Long studentId); /** * Adds a room to a subject * * Too add room add /{subjectId}/room/{roomId} * too the URL * * Use the POST method * * @param subjectId the id of the subject * @param roomId the id of the room */ void addRoom(Long subjectId, Long roomId); /** * Removes a room from a subject * * Too remove room add /{subjectId}/room * too the URL * * Use the DELETE method * * @param subjectId the id of the subject */ void removeRoom(Long subjectId); }