Class JobsController

java.lang.Object
edu.ucsb.cs.scaffold.controller.ApiController
edu.ucsb.cs.scaffold.controller.JobsController

@RequestMapping("/api/jobs") @RestController public class JobsController extends ApiController
Launch endpoints for this app's concrete jobs, plus the course-scoped jobs listing (which uses this app's CourseSecurity rule). The generic admin endpoints (list all / paginated / logs / delete) come from the lib-jobs library's own controller.
  • Constructor Details

    • JobsController

      public JobsController()
  • Method Details

    • launchUpdateAllJob

      @PreAuthorize("hasRole(\'ROLE_ADMIN\')") @PostMapping("/launch/updateAll") public edu.ucsb.cs156.jobs.entities.Job launchUpdateAllJob()
    • launchRotatePatKeysJob

      @PreAuthorize("hasRole(\'ROLE_ADMIN\')") @PostMapping("/launch/rotatePatKeys") public edu.ucsb.cs156.jobs.entities.Job launchRotatePatKeysJob()
    • launchSyncCourseWithPlRepoJob

      @PreAuthorize("@CourseSecurity.hasManagePermissions(#root, #courseId)") @PostMapping("/launch/syncCourseWithPlRepo") public edu.ucsb.cs156.jobs.entities.Job launchSyncCourseWithPlRepoJob(@RequestParam Long courseId)
    • launchCopyConceptGraphJob

      @PreAuthorize("@CourseSecurity.hasManagePermissions(#root, #fromCourseId) and @CourseSecurity.hasManagePermissions(#root, #toCourseId)") @PostMapping("/launch/copyConceptGraph") public edu.ucsb.cs156.jobs.entities.Job launchCopyConceptGraphJob(@RequestParam Long fromCourseId, @RequestParam Long toCourseId)
    • jobsByCourse

      @PreAuthorize("@CourseSecurity.hasManagePermissions(#root, #courseId)") @GetMapping("/course") public Iterable<edu.ucsb.cs156.jobs.entities.Job> jobsByCourse(@RequestParam Long courseId)