| 1 | package edu.ucsb.cs156.frontiers.controllers; | |
| 2 | ||
| 3 | import java.security.NoSuchAlgorithmException; | |
| 4 | import java.security.spec.InvalidKeySpecException; | |
| 5 | import java.util.*; | |
| 6 | ||
| 7 | import org.springframework.beans.factory.annotation.Autowired; | |
| 8 | import org.springframework.http.HttpHeaders; | |
| 9 | import org.springframework.http.HttpStatus; | |
| 10 | import org.springframework.http.ResponseEntity; | |
| 11 | import org.springframework.security.access.prepost.PreAuthorize; | |
| 12 | import org.springframework.web.bind.annotation.ExceptionHandler; | |
| 13 | import org.springframework.web.bind.annotation.GetMapping; | |
| 14 | import org.springframework.web.bind.annotation.PostMapping; | |
| 15 | import org.springframework.web.bind.annotation.RequestMapping; | |
| 16 | import org.springframework.web.bind.annotation.RequestParam; | |
| 17 | import org.springframework.web.bind.annotation.ResponseStatus; | |
| 18 | import org.springframework.web.bind.annotation.RestController; | |
| 19 | ||
| 20 | import com.fasterxml.jackson.core.JsonProcessingException; | |
| 21 | ||
| 22 | import edu.ucsb.cs156.frontiers.entities.Course; | |
| 23 | import edu.ucsb.cs156.frontiers.entities.User; | |
| 24 | import edu.ucsb.cs156.frontiers.entities.RosterStudent; | |
| 25 | import edu.ucsb.cs156.frontiers.enums.OrgStatus; | |
| 26 | import edu.ucsb.cs156.frontiers.enums.RosterStatus; | |
| 27 | import edu.ucsb.cs156.frontiers.entities.CourseStaff; | |
| 28 | import edu.ucsb.cs156.frontiers.errors.EntityNotFoundException; | |
| 29 | import edu.ucsb.cs156.frontiers.errors.InvalidInstallationTypeException; | |
| 30 | import edu.ucsb.cs156.frontiers.models.CurrentUser; | |
| 31 | import edu.ucsb.cs156.frontiers.repositories.CourseRepository; | |
| 32 | import edu.ucsb.cs156.frontiers.repositories.CourseStaffRepository; | |
| 33 | import edu.ucsb.cs156.frontiers.repositories.RosterStudentRepository; | |
| 34 | import edu.ucsb.cs156.frontiers.repositories.UserRepository; | |
| 35 | import edu.ucsb.cs156.frontiers.services.OrganizationLinkerService; | |
| 36 | import io.swagger.v3.oas.annotations.Operation; | |
| 37 | import io.swagger.v3.oas.annotations.Parameter; | |
| 38 | import io.swagger.v3.oas.annotations.tags.Tag; | |
| 39 | import lombok.extern.slf4j.Slf4j; | |
| 40 | ||
| 41 | @Tag(name = "CourseStaff") | |
| 42 | @RequestMapping("/api/coursestaff") | |
| 43 | @RestController | |
| 44 | @Slf4j | |
| 45 | public class CourseStaffController extends ApiController { | |
| 46 | | |
| 47 | @Autowired | |
| 48 | private CourseRepository courseRepository; | |
| 49 | ||
| 50 | @Autowired | |
| 51 | private CourseStaffRepository courseStaffRepository; | |
| 52 | ||
| 53 | ||
| 54 | /** | |
| 55 | * This method creates a new Course Staff Roster. | |
| 56 | * | |
| 57 | * @return the created course staff roster | |
| 58 | */ | |
| 59 | ||
| 60 | @Operation(summary = "Create a new course staff member") | |
| 61 | @PreAuthorize("hasRole('ROLE_ADMIN')") | |
| 62 | @PostMapping("/post") | |
| 63 | public CourseStaff postStaffRoster( | |
| 64 | @Parameter(name = "role") @RequestParam String role, | |
| 65 | @Parameter(name = "studentEmail") @RequestParam String studentEmail, | |
| 66 | @Parameter(name = "courseId") @RequestParam Long courseId) throws EntityNotFoundException { | |
| 67 | ||
| 68 | Course course = courseRepository.findById(courseId) | |
| 69 |
1
1. lambda$postStaffRoster$0 : replaced return value with null for edu/ucsb/cs156/frontiers/controllers/CourseStaffController::lambda$postStaffRoster$0 → KILLED |
.orElseThrow(() -> new EntityNotFoundException(Course.class, courseId)); |
| 70 | CourseStaff cs = CourseStaff.builder() | |
| 71 | .email(studentEmail) | |
| 72 | .course(course) | |
| 73 | .role(role) | |
| 74 | .orgStatus(OrgStatus.NONE) | |
| 75 | .build(); | |
| 76 | CourseStaff savedCourseStaff = courseStaffRepository.save(cs); | |
| 77 | ||
| 78 |
1
1. postStaffRoster : replaced return value with null for edu/ucsb/cs156/frontiers/controllers/CourseStaffController::postStaffRoster → KILLED |
return savedCourseStaff; |
| 79 | } | |
| 80 | ||
| 81 | } | |
Mutations | ||
| 69 |
1.1 |
|
| 78 |
1.1 |