add product ingredients
This commit is contained in:
+76
-56
@@ -12,34 +12,35 @@ import (
|
||||
)
|
||||
|
||||
type Router struct {
|
||||
config *config.Config
|
||||
healthHandler *handler.HealthHandler
|
||||
authHandler *handler.AuthHandler
|
||||
userHandler *handler.UserHandler
|
||||
organizationHandler *handler.OrganizationHandler
|
||||
outletHandler *handler.OutletHandler
|
||||
outletSettingHandler *handler.OutletSettingHandlerImpl
|
||||
categoryHandler *handler.CategoryHandler
|
||||
productHandler *handler.ProductHandler
|
||||
productVariantHandler *handler.ProductVariantHandler
|
||||
inventoryHandler *handler.InventoryHandler
|
||||
orderHandler *handler.OrderHandler
|
||||
fileHandler *handler.FileHandler
|
||||
customerHandler *handler.CustomerHandler
|
||||
paymentMethodHandler *handler.PaymentMethodHandler
|
||||
analyticsHandler *handler.AnalyticsHandler
|
||||
reportHandler *handler.ReportHandler
|
||||
tableHandler *handler.TableHandler
|
||||
unitHandler *handler.UnitHandler
|
||||
ingredientHandler *handler.IngredientHandler
|
||||
productRecipeHandler *handler.ProductRecipeHandler
|
||||
vendorHandler *handler.VendorHandler
|
||||
purchaseOrderHandler *handler.PurchaseOrderHandler
|
||||
unitConverterHandler *handler.IngredientUnitConverterHandler
|
||||
chartOfAccountTypeHandler *handler.ChartOfAccountTypeHandler
|
||||
chartOfAccountHandler *handler.ChartOfAccountHandler
|
||||
accountHandler *handler.AccountHandler
|
||||
authMiddleware *middleware.AuthMiddleware
|
||||
config *config.Config
|
||||
healthHandler *handler.HealthHandler
|
||||
authHandler *handler.AuthHandler
|
||||
userHandler *handler.UserHandler
|
||||
organizationHandler *handler.OrganizationHandler
|
||||
outletHandler *handler.OutletHandler
|
||||
outletSettingHandler *handler.OutletSettingHandlerImpl
|
||||
categoryHandler *handler.CategoryHandler
|
||||
productHandler *handler.ProductHandler
|
||||
productVariantHandler *handler.ProductVariantHandler
|
||||
inventoryHandler *handler.InventoryHandler
|
||||
orderHandler *handler.OrderHandler
|
||||
fileHandler *handler.FileHandler
|
||||
customerHandler *handler.CustomerHandler
|
||||
paymentMethodHandler *handler.PaymentMethodHandler
|
||||
analyticsHandler *handler.AnalyticsHandler
|
||||
reportHandler *handler.ReportHandler
|
||||
tableHandler *handler.TableHandler
|
||||
unitHandler *handler.UnitHandler
|
||||
ingredientHandler *handler.IngredientHandler
|
||||
productRecipeHandler *handler.ProductRecipeHandler
|
||||
vendorHandler *handler.VendorHandler
|
||||
purchaseOrderHandler *handler.PurchaseOrderHandler
|
||||
unitConverterHandler *handler.IngredientUnitConverterHandler
|
||||
chartOfAccountTypeHandler *handler.ChartOfAccountTypeHandler
|
||||
chartOfAccountHandler *handler.ChartOfAccountHandler
|
||||
accountHandler *handler.AccountHandler
|
||||
orderIngredientTransactionHandler *handler.OrderIngredientTransactionHandler
|
||||
authMiddleware *middleware.AuthMiddleware
|
||||
}
|
||||
|
||||
func NewRouter(cfg *config.Config,
|
||||
@@ -87,36 +88,39 @@ func NewRouter(cfg *config.Config,
|
||||
chartOfAccountService service.ChartOfAccountService,
|
||||
chartOfAccountValidator validator.ChartOfAccountValidator,
|
||||
accountService service.AccountService,
|
||||
accountValidator validator.AccountValidator) *Router {
|
||||
accountValidator validator.AccountValidator,
|
||||
orderIngredientTransactionService service.OrderIngredientTransactionService,
|
||||
orderIngredientTransactionValidator validator.OrderIngredientTransactionValidator) *Router {
|
||||
|
||||
return &Router{
|
||||
config: cfg,
|
||||
healthHandler: healthHandler,
|
||||
authHandler: handler.NewAuthHandler(authService),
|
||||
userHandler: handler.NewUserHandler(userService, userValidator),
|
||||
organizationHandler: handler.NewOrganizationHandler(organizationService, organizationValidator),
|
||||
outletHandler: handler.NewOutletHandler(outletService, outletValidator),
|
||||
outletSettingHandler: handler.NewOutletSettingHandlerImpl(outletSettingService),
|
||||
categoryHandler: handler.NewCategoryHandler(categoryService, categoryValidator),
|
||||
productHandler: handler.NewProductHandler(productService, productValidator),
|
||||
inventoryHandler: handler.NewInventoryHandler(inventoryService, inventoryValidator),
|
||||
orderHandler: handler.NewOrderHandler(orderService, orderValidator, transformer.NewTransformer()),
|
||||
fileHandler: handler.NewFileHandler(fileService, fileValidator, transformer.NewTransformer()),
|
||||
customerHandler: handler.NewCustomerHandler(customerService, customerValidator),
|
||||
paymentMethodHandler: handler.NewPaymentMethodHandler(paymentMethodService, paymentMethodValidator),
|
||||
analyticsHandler: handler.NewAnalyticsHandler(analyticsService, transformer.NewTransformer()),
|
||||
reportHandler: handler.NewReportHandler(reportService, userService),
|
||||
tableHandler: handler.NewTableHandler(tableService, tableValidator),
|
||||
unitHandler: handler.NewUnitHandler(unitService),
|
||||
ingredientHandler: handler.NewIngredientHandler(ingredientService),
|
||||
productRecipeHandler: handler.NewProductRecipeHandler(productRecipeService),
|
||||
vendorHandler: handler.NewVendorHandler(vendorService, vendorValidator),
|
||||
purchaseOrderHandler: handler.NewPurchaseOrderHandler(purchaseOrderService, purchaseOrderValidator),
|
||||
unitConverterHandler: handler.NewIngredientUnitConverterHandler(unitConverterService, unitConverterValidator),
|
||||
chartOfAccountTypeHandler: handler.NewChartOfAccountTypeHandler(chartOfAccountTypeService, chartOfAccountTypeValidator),
|
||||
chartOfAccountHandler: handler.NewChartOfAccountHandler(chartOfAccountService, chartOfAccountValidator),
|
||||
accountHandler: handler.NewAccountHandler(accountService, accountValidator),
|
||||
authMiddleware: authMiddleware,
|
||||
config: cfg,
|
||||
healthHandler: healthHandler,
|
||||
authHandler: handler.NewAuthHandler(authService),
|
||||
userHandler: handler.NewUserHandler(userService, userValidator),
|
||||
organizationHandler: handler.NewOrganizationHandler(organizationService, organizationValidator),
|
||||
outletHandler: handler.NewOutletHandler(outletService, outletValidator),
|
||||
outletSettingHandler: handler.NewOutletSettingHandlerImpl(outletSettingService),
|
||||
categoryHandler: handler.NewCategoryHandler(categoryService, categoryValidator),
|
||||
productHandler: handler.NewProductHandler(productService, productValidator),
|
||||
inventoryHandler: handler.NewInventoryHandler(inventoryService, inventoryValidator),
|
||||
orderHandler: handler.NewOrderHandler(orderService, orderValidator, transformer.NewTransformer()),
|
||||
fileHandler: handler.NewFileHandler(fileService, fileValidator, transformer.NewTransformer()),
|
||||
customerHandler: handler.NewCustomerHandler(customerService, customerValidator),
|
||||
paymentMethodHandler: handler.NewPaymentMethodHandler(paymentMethodService, paymentMethodValidator),
|
||||
analyticsHandler: handler.NewAnalyticsHandler(analyticsService, transformer.NewTransformer()),
|
||||
reportHandler: handler.NewReportHandler(reportService, userService),
|
||||
tableHandler: handler.NewTableHandler(tableService, tableValidator),
|
||||
unitHandler: handler.NewUnitHandler(unitService),
|
||||
ingredientHandler: handler.NewIngredientHandler(ingredientService),
|
||||
productRecipeHandler: handler.NewProductRecipeHandler(productRecipeService),
|
||||
vendorHandler: handler.NewVendorHandler(vendorService, vendorValidator),
|
||||
purchaseOrderHandler: handler.NewPurchaseOrderHandler(purchaseOrderService, purchaseOrderValidator),
|
||||
unitConverterHandler: handler.NewIngredientUnitConverterHandler(unitConverterService, unitConverterValidator),
|
||||
chartOfAccountTypeHandler: handler.NewChartOfAccountTypeHandler(chartOfAccountTypeService, chartOfAccountTypeValidator),
|
||||
chartOfAccountHandler: handler.NewChartOfAccountHandler(chartOfAccountService, chartOfAccountValidator),
|
||||
accountHandler: handler.NewAccountHandler(accountService, accountValidator),
|
||||
orderIngredientTransactionHandler: handler.NewOrderIngredientTransactionHandler(&orderIngredientTransactionService, orderIngredientTransactionValidator),
|
||||
authMiddleware: authMiddleware,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -351,6 +355,7 @@ func (r *Router) addAppRoutes(rg *gin.Engine) {
|
||||
unitConverters.POST("", r.unitConverterHandler.CreateIngredientUnitConverter)
|
||||
unitConverters.GET("", r.unitConverterHandler.ListIngredientUnitConverters)
|
||||
unitConverters.GET("/ingredient/:ingredient_id", r.unitConverterHandler.GetConvertersForIngredient)
|
||||
unitConverters.GET("/ingredient/:ingredient_id/units", r.unitConverterHandler.GetUnitsByIngredientID)
|
||||
unitConverters.POST("/convert", r.unitConverterHandler.ConvertUnit)
|
||||
unitConverters.GET("/:id", r.unitConverterHandler.GetIngredientUnitConverter)
|
||||
unitConverters.PUT("/:id", r.unitConverterHandler.UpdateIngredientUnitConverter)
|
||||
@@ -406,6 +411,21 @@ func (r *Router) addAppRoutes(rg *gin.Engine) {
|
||||
accounts.GET("/:id/balance", r.accountHandler.GetAccountBalance)
|
||||
}
|
||||
|
||||
orderIngredientTransactions := protected.Group("/order-ingredient-transactions")
|
||||
orderIngredientTransactions.Use(r.authMiddleware.RequireAdminOrManager())
|
||||
{
|
||||
orderIngredientTransactions.POST("", r.orderIngredientTransactionHandler.CreateOrderIngredientTransaction)
|
||||
orderIngredientTransactions.GET("", r.orderIngredientTransactionHandler.ListOrderIngredientTransactions)
|
||||
orderIngredientTransactions.GET("/:id", r.orderIngredientTransactionHandler.GetOrderIngredientTransactionByID)
|
||||
orderIngredientTransactions.PUT("/:id", r.orderIngredientTransactionHandler.UpdateOrderIngredientTransaction)
|
||||
orderIngredientTransactions.DELETE("/:id", r.orderIngredientTransactionHandler.DeleteOrderIngredientTransaction)
|
||||
orderIngredientTransactions.GET("/order/:order_id", r.orderIngredientTransactionHandler.GetOrderIngredientTransactionsByOrder)
|
||||
orderIngredientTransactions.GET("/order-item/:order_item_id", r.orderIngredientTransactionHandler.GetOrderIngredientTransactionsByOrderItem)
|
||||
orderIngredientTransactions.GET("/ingredient/:ingredient_id", r.orderIngredientTransactionHandler.GetOrderIngredientTransactionsByIngredient)
|
||||
orderIngredientTransactions.GET("/summary", r.orderIngredientTransactionHandler.GetOrderIngredientTransactionSummary)
|
||||
orderIngredientTransactions.POST("/bulk", r.orderIngredientTransactionHandler.BulkCreateOrderIngredientTransactions)
|
||||
}
|
||||
|
||||
outlets := protected.Group("/outlets")
|
||||
outlets.Use(r.authMiddleware.RequireAdminOrManager())
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user