package seriessetmaster import ( "cardverse/internal/middleware" "cardverse/internal/modules/user" "github.com/gin-gonic/gin" "gorm.io/gorm" ) func RegisterRoutes(router *gin.RouterGroup, db *gorm.DB) { repo := NewRepository(db) svc := NewService(repo) handler := NewHandler(svc) series := router.Group("/series") { series.GET("", handler.GetAllSeries) series.POST("", middleware.AuthRequired(), middleware.RequireRoles(user.RoleAdmin, user.RoleSuperAdmin), handler.CreateSeries) series.PUT("/:id", middleware.AuthRequired(), middleware.RequireRoles(user.RoleAdmin, user.RoleSuperAdmin), handler.UpdateSeries) } sets := router.Group("/sets") { sets.GET("", handler.GetAllSets) sets.GET("/code/:code", handler.GetSetByCode) sets.POST("", middleware.AuthRequired(), middleware.RequireRoles(user.RoleAdmin, user.RoleSuperAdmin), handler.CreateSet) sets.PUT("/:id", middleware.AuthRequired(), middleware.RequireRoles(user.RoleAdmin, user.RoleSuperAdmin), handler.UpdateSet) } master := router.Group("/series-set-masters") { master.GET("/:id", handler.GetByID) master.DELETE("/:id", middleware.AuthRequired(), middleware.RequireRoles(user.RoleAdmin, user.RoleSuperAdmin), handler.Delete) } }