72 lines
4.0 KiB
Go
72 lines
4.0 KiB
Go
package routes
|
|
|
|
import (
|
|
"nearle/facade"
|
|
|
|
"github.com/gofiber/fiber/v2"
|
|
)
|
|
|
|
func RegisterProductRoutes(api fiber.Router, f *facade.Facade) {
|
|
|
|
products := api.Group("/v1/web/products")
|
|
|
|
products.Get("/getproductsubcategories", f.ProductController.GetProductSubCategory)
|
|
products.Get("/getproductscount", f.ProductController.GetProductCount)
|
|
products.Get("/getproductcategories", f.ProductController.GetProductCategory)
|
|
products.Get("/getproductvariants", f.ProductController.GetProductVariants)
|
|
products.Get("/getcatalougeproducts", f.ProductController.GetCatalougeProducts)
|
|
products.Get("/getproductstocks", f.ProductController.GetProductStocks)
|
|
products.Post("/createproductstock", f.ProductController.CreateProductStock)
|
|
products.Post("/create", f.ProductController.CreateProduct)
|
|
products.Put("/update", f.ProductController.UpdateProduct)
|
|
products.Delete("/delete", f.ProductController.DeleteProduct)
|
|
products.Get("/getstockstatement", f.ProductController.GetStockStatement)
|
|
products.Get("/getlocationproducts", f.ProductController.GetLocationProducts)
|
|
products.Get("/getlocationproductsummary", f.ProductController.GetLocationProductSummary)
|
|
products.Get("/getsaletemplate", f.ProductController.GetSaleTemplate)
|
|
products.Get("/getallproducts", f.ProductController.GetAllProducts)
|
|
products.Put("/updateproductlocation", f.ProductController.UpdateProductLocation)
|
|
products.Post("/createproductlocation", f.ProductController.CreateProductLocation)
|
|
products.Post("/importcatalogueproduct", f.ProductController.ImportCatalogueProduct)
|
|
products.Get("/getimportedcatalogueproducts", f.ProductController.GetImportedCatalogueProducts)
|
|
|
|
// Repairing catalogue links. A dry run unless `apply=true` — see the handler,
|
|
// and `services/catalogueRelink.go` for why a dangling link can only be
|
|
// adopted or cleared, never repaired by name.
|
|
products.Get("/relinkcatalogue", f.ProductController.RelinkCatalogue)
|
|
|
|
products.Get("/gettenantcategories", f.ProductController.GetTenantCategories)
|
|
products.Post("/resolvecategories", f.ProductController.ResolveCategories)
|
|
products.Put("/recategorise", f.ProductController.Recategorise)
|
|
products.Delete("/deleteproductlocation", f.ProductController.DeleteProductLocation)
|
|
|
|
// Releasing a product to the shops. Importing no longer does this: a
|
|
// product lands in the admin catalogue unpublished and unpriced, and only
|
|
// this step — which refuses without a price — makes it sellable.
|
|
products.Post("/publishproduct", f.ProductController.PublishProduct)
|
|
products.Post("/unpublishproduct", f.ProductController.UnpublishProduct)
|
|
products.Post("/createproductvariant", f.ProductController.CreateProductVariant)
|
|
products.Put("/updateproductvariant", f.ProductController.UpdateProductVariant)
|
|
// Sizes as a relationship: attach one product under another, and detach it.
|
|
products.Post("/addproductvariant", f.ProductController.AddProductVariant)
|
|
products.Delete("/removeproductvariant", f.ProductController.RemoveProductVariant)
|
|
|
|
products.Post("/createstockrequest", f.StockRequestController.CreateStockRequest)
|
|
products.Get("/getstockrequests", f.StockRequestController.GetStockRequests)
|
|
products.Put("/updatestockrequest", f.StockRequestController.UpdateStockRequest)
|
|
|
|
products = api.Group("/v1/mob/products")
|
|
|
|
products.Get("/getproductbyvariant", f.ProductController.GetProductByVariant)
|
|
products.Get("/getproductsubcategories", f.ProductController.GetProductSubCategory)
|
|
products.Get("/getallproducts", f.ProductController.GetAllProducts)
|
|
products.Get("/getproductsbysubcategory", f.ProductController.GetProductsBySubcategory)
|
|
products.Put("/update", f.ProductController.UpdateProduct)
|
|
products.Get("/getlocationproducts", f.ProductController.GetLocationProducts)
|
|
products.Put("/updateproductlocation", f.ProductController.UpdateProductLocation)
|
|
products.Post("/importcatalogueproduct", f.ProductController.ImportCatalogueProduct)
|
|
products.Get("/getimportedcatalogueproducts", f.ProductController.GetImportedCatalogueProducts)
|
|
products.Get("/gettenantcategories", f.ProductController.GetTenantCategories)
|
|
|
|
}
|