Files
cms-server/api/agenda/handler.go
Asai Neko 2f3eaf17ea
All checks were successful
Server Check Build (NixCN CMS) TeamCity build finished
Add agenda and stats and event management service with api
Signed-off-by: Asai Neko <sugar@sne.moe>
2026-03-26 16:15:07 +08:00

33 lines
884 B
Go

package agenda
import (
"nixcn-cms/middleware"
"nixcn-cms/service/service_agenda"
"github.com/gin-gonic/gin"
)
type AgendaHandler struct {
svc service_agenda.AgendaService
}
func ApiHandler(r *gin.RouterGroup) {
agendaSvc := service_agenda.NewAgendaService()
agendaHandler := &AgendaHandler{agendaSvc}
// Lv10+ attendee routes
attendee := r.Group("")
attendee.Use(middleware.JWTAuth(), middleware.Permission(10))
attendee.POST("/submit", agendaHandler.Submit)
attendee.PATCH("/update", agendaHandler.Update)
attendee.GET("/my-list", agendaHandler.MyList)
attendee.GET("/schedule", agendaHandler.ScheduleGet)
// Manager routes (Lv30+)
manager := r.Group("")
manager.Use(middleware.JWTAuth(), middleware.Permission(30))
manager.PATCH("/review", agendaHandler.Review)
manager.PATCH("/schedule", agendaHandler.Schedule)
manager.GET("/list", agendaHandler.List)
}