Class CourseStaffController
java.lang.Object
edu.ucsb.cs156.frontiers.controllers.ApiController
edu.ucsb.cs156.frontiers.controllers.CourseStaffController
@RequestMapping("/api/coursestaff")
@RestController
public class CourseStaffController
extends ApiController
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncourseStaffForCourse
(Long courseId) This method returns a list of course staff for a given course.org.springframework.http.ResponseEntity
<String> deleteStaffMember
(Long id, Long courseId) org.springframework.http.ResponseEntity
<String> joinCourseOnGitHub
(Long courseStaffId) postCourseStaff
(String firstName, String lastName, String email, Long courseId) This method creates a new CourseStaff.updateStaffMember
(Long courseId, Long id, String firstName, String lastName) Methods inherited from class edu.ucsb.cs156.frontiers.controllers.ApiController
doesCurrentUserHaveRole, genericMessage, getCurrentUser, handleEntityNotFoundException, handleIllegalArgument, handleNoLinkedOrgException, handleUnsupportedOperation, isCurrentUserAdmin
-
Constructor Details
-
CourseStaffController
public CourseStaffController()
-
-
Method Details
-
postCourseStaff
@PreAuthorize("@CourseSecurity.hasInstructorPermissions(#root, #courseId)") @PostMapping("/post") public CourseStaff postCourseStaff(@RequestParam String firstName, @RequestParam String lastName, @RequestParam String email, @RequestParam Long courseId) throws EntityNotFoundException This method creates a new CourseStaff.- Returns:
- the created CourseStaff
- Throws:
EntityNotFoundException
-
courseStaffForCourse
@PreAuthorize("@CourseSecurity.hasManagePermissions(#root, #courseId)") @GetMapping("/course") public Iterable<CourseStaff> courseStaffForCourse(@RequestParam Long courseId) throws EntityNotFoundException This method returns a list of course staff for a given course.- Returns:
- a list of all courses.
- Throws:
EntityNotFoundException
-
joinCourseOnGitHub
@PreAuthorize("hasRole(\'ROLE_USER\')") @PutMapping("/joinCourse") public org.springframework.http.ResponseEntity<String> joinCourseOnGitHub(@RequestParam Long courseStaffId) throws NoSuchAlgorithmException, InvalidKeySpecException, com.fasterxml.jackson.core.JsonProcessingException - Throws:
NoSuchAlgorithmException
InvalidKeySpecException
com.fasterxml.jackson.core.JsonProcessingException
-
updateStaffMember
@PreAuthorize("@CourseSecurity.hasInstructorPermissions(#root, #courseId)") @PutMapping("") public CourseStaff updateStaffMember(@RequestParam Long courseId, @RequestParam Long id, @RequestParam String firstName, @RequestParam String lastName) throws EntityNotFoundException - Throws:
EntityNotFoundException
-
deleteStaffMember
@PreAuthorize("@CourseSecurity.hasInstructorPermissions(#root, #courseId)") @DeleteMapping("/delete") @Transactional public org.springframework.http.ResponseEntity<String> deleteStaffMember(@RequestParam Long id, @RequestParam Long courseId) throws EntityNotFoundException - Throws:
EntityNotFoundException
-