package routes import ( "bugulma/backend/internal/handler" "bugulma/backend/internal/middleware" "bugulma/backend/internal/service" "github.com/gin-gonic/gin" ) // RegisterSubscriptionRoutes registers all subscription routes func RegisterSubscriptionRoutes( protected *gin.RouterGroup, subscriptionHandler *handler.SubscriptionHandler, authService *service.AuthService, ) { // All subscription routes require authentication subscription := protected.Group("/subscription") subscription.Use(middleware.AuthMiddleware(authService)) { subscription.GET("", subscriptionHandler.GetSubscription) subscription.POST("", subscriptionHandler.CreateSubscription) subscription.GET("/plans", subscriptionHandler.GetPlans) subscription.POST("/upgrade", subscriptionHandler.UpgradeSubscription) subscription.POST("/cancel", subscriptionHandler.CancelSubscription) subscription.GET("/invoices", subscriptionHandler.GetInvoices) subscription.GET("/payment-methods", subscriptionHandler.GetPaymentMethods) subscription.POST("/payment-methods", subscriptionHandler.AddPaymentMethod) subscription.POST("/webhook", subscriptionHandler.Webhook) subscription.GET("/usage", subscriptionHandler.GetUsageStats) subscription.GET("/check-feature", subscriptionHandler.CheckFeature) subscription.GET("/check-limits", subscriptionHandler.CheckLimits) } }