BOM start implementing basic CRUD operations for Bill of Materials and Variant Nodes
This commit is contained in:
@@ -21,6 +21,7 @@ type HttpServer struct {
|
||||
valueController *controller.ValueController
|
||||
productGroupController *controller.ProductGroupController
|
||||
productController *controller.ProductController
|
||||
bomController *controller.BOMController
|
||||
}
|
||||
|
||||
func InitHttpServer(config *viper.Viper, dbHandler *sql.DB) HttpServer {
|
||||
@@ -30,17 +31,20 @@ func InitHttpServer(config *viper.Viper, dbHandler *sql.DB) HttpServer {
|
||||
productGroupRepository := repositories.NewProductGroupRepository(dbHandler, valueRepository)
|
||||
productRepository := repositories.NewProductRepository(dbHandler, productGroupRepository, valueRepository)
|
||||
importRepository := repositories.NewImportRepository(dbHandler, productGroupRepository, productRepository, valueRepository)
|
||||
bomRepository := repositories.NewBOMRepository(dbHandler, productRepository)
|
||||
|
||||
// service initialisation:
|
||||
valueService := services.NewValueService(valueRepository)
|
||||
productGroupService := services.NewProductGroupService(productGroupRepository)
|
||||
productService := services.NewProductService(productRepository)
|
||||
importService := services.NewImportService(importRepository)
|
||||
bomService := services.NewBOMService(bomRepository)
|
||||
|
||||
// controller initialisation:
|
||||
valueController := controller.NewValueController(valueService)
|
||||
productGroupController := controller.NewProductGroupController(productGroupService, valueService)
|
||||
productController := controller.NewProductController(productService, productGroupService, valueService)
|
||||
bomController := controller.NewBOMController(bomService)
|
||||
importController := controller.NewImportController(importService)
|
||||
|
||||
// Service API
|
||||
@@ -92,6 +96,19 @@ func InitHttpServer(config *viper.Viper, dbHandler *sql.DB) HttpServer {
|
||||
router.POST("/addPropertyToProductId/:productId", productController.AddPropertyToProductId) // add Property to Product by ID
|
||||
router.DELETE("/deletePropertyFromProductId/:productId", productController.DeletePropertyFromProductId) // delete Property from Product by ID
|
||||
|
||||
// BOM centric routing
|
||||
router.POST("/createBillOfMaterial", bomController.CreateBillOfMaterial)
|
||||
router.PUT("/updateBillOfMaterial", bomController.UpdateBillOfMaterial)
|
||||
router.DELETE("/deleteBillOfMaterial/:id", bomController.DeleteBillOfMaterial)
|
||||
router.GET("/getBillOfMaterial/:id", bomController.GetBillOfMaterial)
|
||||
router.GET("/getBOMProductsByBOMId/:bomId", bomController.GetBOMProductsByBOMId) // get all BOMContents by BOM ID
|
||||
router.GET("/getBOMVariantNodesByBOMId/:bomId", bomController.GetBOMVariantNodesByBOMId) // get all VariantNodes by BOM ID
|
||||
router.POST("/createVariantNode/:bomId", bomController.CreateVariantNode)
|
||||
router.PUT("/updateVariantNode", bomController.UpdateVariantNode)
|
||||
router.DELETE("/deleteVariantNode/:id", bomController.DeleteVariantNode)
|
||||
router.GET("/getVariantNode/:id", bomController.GetVariantNode)
|
||||
router.GET("/getVariantNodeProductsByVariantNodeId/:variantNodeId", bomController.GetVariantNodeProductsByVariantNodeId)
|
||||
|
||||
// Import functionality
|
||||
router.POST("/importPropertyTypeGroups", importController.ImportPropertyTypeGroups) // import PropertyTypeGroups
|
||||
router.POST("/importProductGroups", importController.ImportProductGroups) // import ProductGroups
|
||||
|
||||
Reference in New Issue
Block a user