first
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
package pricing
|
||||
|
||||
import "github.com/gin-gonic/gin"
|
||||
|
||||
// RegisterAdminRoutes nests price-tier management under a product, e.g.
|
||||
// PUT /api/admin/products/:id/price-tiers/:tierId, so tiers are always
|
||||
// managed in the context of the product they belong to.
|
||||
func RegisterAdminRoutes(rg *gin.RouterGroup, h *Handler, requireAdmin gin.HandlerFunc) {
|
||||
group := rg.Group("/admin/products/:id/price-tiers", requireAdmin)
|
||||
group.GET("", h.ListByProduct)
|
||||
group.POST("", h.Create)
|
||||
group.PUT("/:tierId", h.Update)
|
||||
group.DELETE("/:tierId", h.Delete)
|
||||
}
|
||||
|
||||
// RegisterPublicRoutes exposes read-only tiers so the storefront can render
|
||||
// the available quantity/price options for a product. Kept as its own
|
||||
// top-level path (rather than nested under /products/:slug) because the
|
||||
// products module's public detail route uses a :slug wildcard at that same
|
||||
// position -- gin does not allow two different wildcard names at the same
|
||||
// path segment.
|
||||
func RegisterPublicRoutes(rg *gin.RouterGroup, h *Handler) {
|
||||
rg.GET("/price-tiers/by-product/:id", h.ListByProduct)
|
||||
}
|
||||
Reference in New Issue
Block a user