feat(runner): implement empty classroom sync functionality
Add support for fetching and synchronizing empty classroom data. This includes new protobuf definitions for task payloads and results, database models, repository, service, and HTTP handlers. - Add `TASK_TYPE_GET_EMPTY_CLASSROOM` to `TaskType` enum - Implement `EmptyClassroom` model and auto-migration - Add `EmptyClassroomHandler` with `GET` and `POST /sync` routes - Implement `EmptyClassroomSyncService` and `EmptyClassroomRepository` - Update dependency injection with wire sets
This commit is contained in:
@@ -28,6 +28,7 @@ type RouterDeps struct {
|
||||
ScheduleHandler *handler.ScheduleHandler
|
||||
GradeHandler *handler.GradeHandler
|
||||
ExamHandler *handler.ExamHandler
|
||||
EmptyClassroomHandler *handler.EmptyClassroomHandler
|
||||
RoleHandler *handler.RoleHandler
|
||||
AdminUserHandler *handler.AdminUserHandler
|
||||
AdminPostHandler *handler.AdminPostHandler
|
||||
@@ -71,6 +72,7 @@ type Router struct {
|
||||
scheduleHandler *handler.ScheduleHandler
|
||||
gradeHandler *handler.GradeHandler
|
||||
examHandler *handler.ExamHandler
|
||||
emptyClassroomHandler *handler.EmptyClassroomHandler
|
||||
roleHandler *handler.RoleHandler
|
||||
adminUserHandler *handler.AdminUserHandler
|
||||
adminPostHandler *handler.AdminPostHandler
|
||||
@@ -117,6 +119,7 @@ func New(deps RouterDeps) *Router {
|
||||
scheduleHandler: deps.ScheduleHandler,
|
||||
gradeHandler: deps.GradeHandler,
|
||||
examHandler: deps.ExamHandler,
|
||||
emptyClassroomHandler: deps.EmptyClassroomHandler,
|
||||
roleHandler: deps.RoleHandler,
|
||||
adminUserHandler: deps.AdminUserHandler,
|
||||
adminPostHandler: deps.AdminPostHandler,
|
||||
@@ -372,6 +375,16 @@ func (r *Router) setupRoutes() {
|
||||
}
|
||||
}
|
||||
|
||||
// 空教室路由
|
||||
if r.emptyClassroomHandler != nil {
|
||||
classrooms := v1.Group("/classrooms")
|
||||
classrooms.Use(authMiddleware)
|
||||
{
|
||||
classrooms.GET("", r.emptyClassroomHandler.ListEmptyClassrooms)
|
||||
classrooms.POST("/sync", r.emptyClassroomHandler.SyncEmptyClassrooms)
|
||||
}
|
||||
}
|
||||
|
||||
// 学习资料路由(公开)
|
||||
if r.materialHandler != nil {
|
||||
materials := v1.Group("/materials")
|
||||
|
||||
Reference in New Issue
Block a user