44 lines
2.1 KiB
Go
44 lines
2.1 KiB
Go
package main
|
|
|
|
import "github.com/go-chi/chi/v5"
|
|
|
|
func (a *app) registerLiveCourseRoutes(r chi.Router) {
|
|
r.Route("/live-courses", func(r chi.Router) {
|
|
r.Use(a.liveCourseManagerMiddleware)
|
|
r.Get("/", a.listLiveCourses)
|
|
r.Post("/", a.createLiveCourse)
|
|
r.Get("/{id}", a.getLiveCourse)
|
|
r.Patch("/{id}", a.patchLiveCourse)
|
|
r.Delete("/{id}", a.deleteLiveCourse)
|
|
|
|
r.Get("/{id}/modules", a.listLiveCourseModules)
|
|
r.Post("/{id}/modules", a.createLiveCourseModule)
|
|
r.Patch("/{id}/modules/{moduleId}", a.patchLiveCourseModule)
|
|
r.Delete("/{id}/modules/{moduleId}", a.deleteLiveCourseModule)
|
|
r.Get("/{id}/modules/{moduleId}/lessons", a.listLiveCourseLessons)
|
|
r.Post("/{id}/modules/{moduleId}/lessons", a.createLiveCourseLesson)
|
|
r.Patch("/{id}/modules/{moduleId}/lessons/{lessonId}", a.patchLiveCourseLesson)
|
|
r.Delete("/{id}/modules/{moduleId}/lessons/{lessonId}", a.deleteLiveCourseLesson)
|
|
|
|
r.Get("/{id}/cohorts", a.listLiveCourseCohorts)
|
|
r.Post("/{id}/cohorts", a.createLiveCourseCohort)
|
|
r.Get("/{id}/cohorts/{cohortId}", a.getLiveCourseCohort)
|
|
r.Patch("/{id}/cohorts/{cohortId}", a.patchLiveCourseCohort)
|
|
r.Delete("/{id}/cohorts/{cohortId}", a.deleteLiveCourseCohort)
|
|
|
|
r.Get("/{id}/cohorts/{cohortId}/sessions", a.listLiveCourseSessions)
|
|
r.Post("/{id}/cohorts/{cohortId}/sessions", a.createLiveCourseSession)
|
|
r.Get("/{id}/cohorts/{cohortId}/sessions/{sessionId}", a.getLiveCourseSession)
|
|
r.Patch("/{id}/cohorts/{cohortId}/sessions/{sessionId}", a.patchLiveCourseSession)
|
|
r.Delete("/{id}/cohorts/{cohortId}/sessions/{sessionId}", a.deleteLiveCourseSession)
|
|
|
|
r.Get("/{id}/cohorts/{cohortId}/enrollments", a.listLiveCourseEnrollments)
|
|
r.Post("/{id}/cohorts/{cohortId}/enrollments", a.createLiveCourseEnrollment)
|
|
r.Patch("/{id}/cohorts/{cohortId}/enrollments/{enrollmentId}", a.patchLiveCourseEnrollment)
|
|
|
|
r.Get("/{id}/cohorts/{cohortId}/sessions/{sessionId}/attendance", a.listLiveCourseAttendance)
|
|
r.Post("/{id}/cohorts/{cohortId}/sessions/{sessionId}/attendance", a.createLiveCourseAttendance)
|
|
r.Patch("/{id}/cohorts/{cohortId}/sessions/{sessionId}/attendance/{attendanceId}", a.patchLiveCourseAttendance)
|
|
})
|
|
}
|