package cardmaster import ( "cardverse/internal/middleware" "cardverse/internal/modules/seriessetmaster" "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) seriesSetRepo := seriessetmaster.NewRepository(db) handler := NewHandler(svc, seriesSetRepo) cards := router.Group("/cards") { cards.GET("", handler.GetAll) cards.GET("/elements", handler.GetElements) cards.GET("/:id", handler.GetByID) cards.POST("", middleware.AuthRequired(), middleware.RequireRoles(user.RoleAdmin, user.RoleSuperAdmin), handler.Create) cards.PUT("/:id", middleware.AuthRequired(), middleware.RequireRoles(user.RoleAdmin, user.RoleSuperAdmin), handler.Update) cards.DELETE("/:id", middleware.AuthRequired(), middleware.RequireRoles(user.RoleAdmin, user.RoleSuperAdmin), handler.Delete) } }