// Code generated by goctl. DO NOT EDIT. // goctl 1.9.2 package handler import ( "net/http" auth "muyu-apiserver/gateway/internal/handler/auth" crmrelation "muyu-apiserver/gateway/internal/handler/crm/relation" inventoryadjust "muyu-apiserver/gateway/internal/handler/inventory/adjust" inventorycheck "muyu-apiserver/gateway/internal/handler/inventory/check" inventorylog "muyu-apiserver/gateway/internal/handler/inventory/log" inventorypanbolt "muyu-apiserver/gateway/internal/handler/inventory/panbolt" inventoryproduct "muyu-apiserver/gateway/internal/handler/inventory/product" inventoryproductbatch "muyu-apiserver/gateway/internal/handler/inventory/productbatch" inventorystock "muyu-apiserver/gateway/internal/handler/inventory/stock" inventoryyarn "muyu-apiserver/gateway/internal/handler/inventory/yarn" productioninbound "muyu-apiserver/gateway/internal/handler/production/inbound" productionplan "muyu-apiserver/gateway/internal/handler/production/plan" productionprocess "muyu-apiserver/gateway/internal/handler/production/process" productionshare "muyu-apiserver/gateway/internal/handler/production/share" purchaseorder "muyu-apiserver/gateway/internal/handler/purchase/order" purchasepayment "muyu-apiserver/gateway/internal/handler/purchase/payment" purchasereceipt "muyu-apiserver/gateway/internal/handler/purchase/receipt" purchasestats "muyu-apiserver/gateway/internal/handler/purchase/stats" purchasesupplier "muyu-apiserver/gateway/internal/handler/purchase/supplier" systemconfig "muyu-apiserver/gateway/internal/handler/system/config" systemlog "muyu-apiserver/gateway/internal/handler/system/log" systemmenu "muyu-apiserver/gateway/internal/handler/system/menu" systemrole "muyu-apiserver/gateway/internal/handler/system/role" systemuser "muyu-apiserver/gateway/internal/handler/system/user" "muyu-apiserver/gateway/internal/svc" "github.com/zeromicro/go-zero/rest" ) func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) { server.AddRoutes( []rest.Route{ { Method: http.MethodPost, Path: "/login", Handler: auth.LoginHandler(serverCtx), }, }, rest.WithPrefix("/api/v1/auth"), ) server.AddRoutes( []rest.Route{ { Method: http.MethodGet, Path: "/tenants/search", Handler: crmrelation.SearchTenantsHandler(serverCtx), }, }, rest.WithPrefix("/api/v1/public"), ) server.AddRoutes( []rest.Route{ { Method: http.MethodGet, Path: "/info", Handler: auth.GetUserInfoHandler(serverCtx), }, { Method: http.MethodPost, Path: "/logout", Handler: auth.LogoutHandler(serverCtx), }, { Method: http.MethodPut, Path: "/password", Handler: auth.ChangePasswordHandler(serverCtx), }, }, rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/auth"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthorityMiddleware}, []rest.Route{ { Method: http.MethodGet, Path: "/graph/full", Handler: crmrelation.GetFullGraphHandler(serverCtx), }, { Method: http.MethodGet, Path: "/graph/upstream", Handler: crmrelation.ListUpstreamHandler(serverCtx), }, { Method: http.MethodGet, Path: "/graph/downstream", Handler: crmrelation.ListDownstreamHandler(serverCtx), }, { Method: http.MethodPost, Path: "/relationships", Handler: crmrelation.CreateRelationHandler(serverCtx), }, { Method: http.MethodPut, Path: "/relationships/:id", Handler: crmrelation.UpdateRelationHandler(serverCtx), }, { Method: http.MethodGet, Path: "/relationships/history", Handler: crmrelation.ListRelationHistoryHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/crm"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthorityMiddleware}, []rest.Route{ { Method: http.MethodGet, Path: "/adjusts", Handler: inventoryadjust.ListStockAdjustHandler(serverCtx), }, { Method: http.MethodPost, Path: "/adjusts", Handler: inventoryadjust.CreateStockAdjustHandler(serverCtx), }, { Method: http.MethodGet, Path: "/adjusts/:id", Handler: inventoryadjust.GetStockAdjustHandler(serverCtx), }, { Method: http.MethodPost, Path: "/adjusts/:id/approve", Handler: inventoryadjust.ApproveStockAdjustHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/inventory"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthorityMiddleware}, []rest.Route{ { Method: http.MethodGet, Path: "/yarns", Handler: inventoryyarn.ListYarnHandler(serverCtx), }, { Method: http.MethodGet, Path: "/yarns/:id", Handler: inventoryyarn.GetYarnHandler(serverCtx), }, { Method: http.MethodPost, Path: "/yarns", Handler: inventoryyarn.CreateYarnHandler(serverCtx), }, { Method: http.MethodPut, Path: "/yarns/:id", Handler: inventoryyarn.UpdateYarnHandler(serverCtx), }, { Method: http.MethodDelete, Path: "/yarns/:id", Handler: inventoryyarn.DeleteYarnHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/inventory"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthorityMiddleware}, []rest.Route{ { Method: http.MethodGet, Path: "/products/:id/batches", Handler: inventoryproductbatch.ListProductBatchHandler(serverCtx), }, { Method: http.MethodPost, Path: "/products/:id/batches", Handler: inventoryproductbatch.CreateProductBatchHandler(serverCtx), }, { Method: http.MethodPut, Path: "/products/:id/batches/:batchId", Handler: inventoryproductbatch.UpdateProductBatchHandler(serverCtx), }, { Method: http.MethodDelete, Path: "/products/:id/batches/:batchId", Handler: inventoryproductbatch.DeleteProductBatchHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/inventory"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthorityMiddleware}, []rest.Route{ { Method: http.MethodGet, Path: "/checks", Handler: inventorycheck.ListStockCheckHandler(serverCtx), }, { Method: http.MethodPost, Path: "/checks", Handler: inventorycheck.CreateStockCheckHandler(serverCtx), }, { Method: http.MethodGet, Path: "/checks/:id", Handler: inventorycheck.GetStockCheckHandler(serverCtx), }, { Method: http.MethodPut, Path: "/checks/:id", Handler: inventorycheck.UpdateStockCheckHandler(serverCtx), }, { Method: http.MethodPost, Path: "/checks/:id/confirm", Handler: inventorycheck.ConfirmStockCheckHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/inventory"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthorityMiddleware}, []rest.Route{ { Method: http.MethodGet, Path: "/products", Handler: inventoryproduct.ListProductHandler(serverCtx), }, { Method: http.MethodPost, Path: "/products", Handler: inventoryproduct.CreateProductHandler(serverCtx), }, { Method: http.MethodGet, Path: "/products/summary", Handler: inventoryproduct.GetProductSummaryHandler(serverCtx), }, { Method: http.MethodGet, Path: "/products/colors", Handler: inventoryproduct.GetColorDetailHandler(serverCtx), }, { Method: http.MethodGet, Path: "/products/export", Handler: inventoryproduct.ExportProductHandler(serverCtx), }, { Method: http.MethodGet, Path: "/products/:id", Handler: inventoryproduct.GetProductHandler(serverCtx), }, { Method: http.MethodPut, Path: "/products/:id", Handler: inventoryproduct.UpdateProductHandler(serverCtx), }, { Method: http.MethodDelete, Path: "/products/:id", Handler: inventoryproduct.DeleteProductHandler(serverCtx), }, { Method: http.MethodGet, Path: "/products/:id/tree", Handler: inventoryproduct.GetProductTreeHandler(serverCtx), }, { Method: http.MethodGet, Path: "/products/:id/pans", Handler: inventoryproduct.ListPansHandler(serverCtx), }, { Method: http.MethodPut, Path: "/products/:id/pans", Handler: inventoryproduct.SavePansHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/inventory"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthorityMiddleware}, []rest.Route{ { Method: http.MethodPost, Path: "/products/import", Handler: inventoryproduct.ImportProductHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/inventory"), rest.WithMaxBytes(50<<20), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthorityMiddleware}, []rest.Route{ { Method: http.MethodGet, Path: "/pans", Handler: inventorypanbolt.ListPanViewHandler(serverCtx), }, { Method: http.MethodGet, Path: "/bolts", Handler: inventorypanbolt.ListBoltViewHandler(serverCtx), }, { Method: http.MethodGet, Path: "/pans/:id/bolts", Handler: inventorypanbolt.ListBoltsHandler(serverCtx), }, { Method: http.MethodPut, Path: "/pans/:id/bolts", Handler: inventorypanbolt.SaveBoltsHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/inventory"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthorityMiddleware}, []rest.Route{ { Method: http.MethodGet, Path: "/stocks", Handler: inventorystock.ListStockHandler(serverCtx), }, { Method: http.MethodGet, Path: "/stocks/by-color", Handler: inventorystock.GetStockByColorHandler(serverCtx), }, { Method: http.MethodGet, Path: "/stocks/by-location", Handler: inventorystock.GetStockByLocationHandler(serverCtx), }, { Method: http.MethodGet, Path: "/stocks/summary", Handler: inventorystock.GetStockSummaryHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/inventory"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthorityMiddleware}, []rest.Route{ { Method: http.MethodGet, Path: "/configs", Handler: systemconfig.ListConfigHandler(serverCtx), }, { Method: http.MethodPut, Path: "/configs/:key", Handler: systemconfig.UpdateConfigHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/system"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthorityMiddleware}, []rest.Route{ { Method: http.MethodGet, Path: "/logs", Handler: systemlog.ListLogHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/system"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthorityMiddleware}, []rest.Route{ { Method: http.MethodGet, Path: "/menus", Handler: systemmenu.ListMenuHandler(serverCtx), }, { Method: http.MethodPost, Path: "/menus", Handler: systemmenu.CreateMenuHandler(serverCtx), }, { Method: http.MethodGet, Path: "/menus/:id", Handler: systemmenu.GetMenuHandler(serverCtx), }, { Method: http.MethodPut, Path: "/menus/:id", Handler: systemmenu.UpdateMenuHandler(serverCtx), }, { Method: http.MethodDelete, Path: "/menus/:id", Handler: systemmenu.DeleteMenuHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/system"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthorityMiddleware}, []rest.Route{ { Method: http.MethodGet, Path: "/roles", Handler: systemrole.ListRoleHandler(serverCtx), }, { Method: http.MethodPost, Path: "/roles", Handler: systemrole.CreateRoleHandler(serverCtx), }, { Method: http.MethodGet, Path: "/roles/:id", Handler: systemrole.GetRoleHandler(serverCtx), }, { Method: http.MethodPut, Path: "/roles/:id", Handler: systemrole.UpdateRoleHandler(serverCtx), }, { Method: http.MethodDelete, Path: "/roles/:id", Handler: systemrole.DeleteRoleHandler(serverCtx), }, { Method: http.MethodPut, Path: "/roles/:id/permissions", Handler: systemrole.SetRolePermissionsHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/system"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthorityMiddleware}, []rest.Route{ { Method: http.MethodGet, Path: "/users", Handler: systemuser.ListUserHandler(serverCtx), }, { Method: http.MethodPost, Path: "/users", Handler: systemuser.CreateUserHandler(serverCtx), }, { Method: http.MethodGet, Path: "/users/:id", Handler: systemuser.GetUserHandler(serverCtx), }, { Method: http.MethodPut, Path: "/users/:id", Handler: systemuser.UpdateUserHandler(serverCtx), }, { Method: http.MethodDelete, Path: "/users/:id", Handler: systemuser.DeleteUserHandler(serverCtx), }, { Method: http.MethodPut, Path: "/users/:id/status", Handler: systemuser.UpdateUserStatusHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/system"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthorityMiddleware}, []rest.Route{ { Method: http.MethodGet, Path: "/suppliers", Handler: purchasesupplier.ListSupplierHandler(serverCtx), }, { Method: http.MethodPost, Path: "/suppliers", Handler: purchasesupplier.CreateSupplierHandler(serverCtx), }, { Method: http.MethodGet, Path: "/suppliers/:id", Handler: purchasesupplier.GetSupplierHandler(serverCtx), }, { Method: http.MethodPut, Path: "/suppliers/:id", Handler: purchasesupplier.UpdateSupplierHandler(serverCtx), }, { Method: http.MethodDelete, Path: "/suppliers/:id", Handler: purchasesupplier.DeleteSupplierHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/purchase"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthorityMiddleware}, []rest.Route{ { Method: http.MethodGet, Path: "/orders", Handler: purchaseorder.ListPurchaseOrderHandler(serverCtx), }, { Method: http.MethodPost, Path: "/orders", Handler: purchaseorder.CreatePurchaseOrderHandler(serverCtx), }, { Method: http.MethodGet, Path: "/orders/:id", Handler: purchaseorder.GetPurchaseOrderHandler(serverCtx), }, { Method: http.MethodPut, Path: "/orders/:id", Handler: purchaseorder.UpdatePurchaseOrderHandler(serverCtx), }, { Method: http.MethodPost, Path: "/orders/:id/confirm", Handler: purchaseorder.ConfirmPurchaseOrderHandler(serverCtx), }, { Method: http.MethodPost, Path: "/orders/:id/cancel", Handler: purchaseorder.CancelPurchaseOrderHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/purchase"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthorityMiddleware}, []rest.Route{ { Method: http.MethodGet, Path: "/receipts", Handler: purchasereceipt.ListPurchaseReceiptHandler(serverCtx), }, { Method: http.MethodPost, Path: "/receipts", Handler: purchasereceipt.CreatePurchaseReceiptHandler(serverCtx), }, { Method: http.MethodGet, Path: "/receipts/:id", Handler: purchasereceipt.GetPurchaseReceiptHandler(serverCtx), }, { Method: http.MethodPost, Path: "/receipts/:id/confirm", Handler: purchasereceipt.ConfirmPurchaseReceiptHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/purchase"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthorityMiddleware}, []rest.Route{ { Method: http.MethodGet, Path: "/payments", Handler: purchasepayment.ListPurchasePaymentHandler(serverCtx), }, { Method: http.MethodPost, Path: "/payments", Handler: purchasepayment.CreatePurchasePaymentHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/purchase"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthorityMiddleware}, []rest.Route{ { Method: http.MethodGet, Path: "/stats/summary", Handler: purchasestats.GetPurchaseStatsSummaryHandler(serverCtx), }, { Method: http.MethodGet, Path: "/stats/by-supplier", Handler: purchasestats.GetPurchaseStatsBySupplierHandler(serverCtx), }, { Method: http.MethodGet, Path: "/stats/by-product", Handler: purchasestats.GetPurchaseStatsByProductHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/purchase"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthorityMiddleware}, []rest.Route{ { Method: http.MethodGet, Path: "/logs", Handler: inventorylog.ListInventoryLogHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/inventory"), ) // ─── Production Plan (JWT + Authority) ────────────────────────────────── server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthorityMiddleware}, []rest.Route{ { Method: http.MethodPost, Path: "/plan", Handler: productionplan.CreateProductionPlanHandler(serverCtx), }, { Method: http.MethodGet, Path: "/plan", Handler: productionplan.ListProductionPlanHandler(serverCtx), }, { Method: http.MethodGet, Path: "/plan/:planId", Handler: productionplan.GetProductionPlanHandler(serverCtx), }, { Method: http.MethodPost, Path: "/plan/confirm", Handler: productionplan.ConfirmPlanHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/production"), ) // ─── Production Share (JWT + Authority) ───────────────────────────────── server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthorityMiddleware}, []rest.Route{ { Method: http.MethodPost, Path: "/share", Handler: productionshare.CreateShareLinkHandler(serverCtx), }, { Method: http.MethodPost, Path: "/share/confirm", Handler: productionshare.ConfirmShareLinkHandler(serverCtx), }, { Method: http.MethodPost, Path: "/share/reject", Handler: productionshare.RejectShareLinkHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/production"), ) // ─── Production Process (JWT + Authority) ─────────────────────────────── server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthorityMiddleware}, []rest.Route{ { Method: http.MethodPost, Path: "/process/step", Handler: productionprocess.CompleteStepHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/production"), ) // ─── Production Inbound (JWT + Authority) ─────────────────────────────── server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthorityMiddleware}, []rest.Route{ { Method: http.MethodPost, Path: "/inbound", Handler: productioninbound.CreateInboundHandler(serverCtx), }, { Method: http.MethodGet, Path: "/inbound", Handler: productioninbound.ListInboundHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/production"), ) // ─── Production Public Share (NO JWT) ─────────────────────────────────── server.AddRoutes( []rest.Route{ { Method: http.MethodGet, Path: "/share/:shortCode", Handler: productionshare.GetShareLinkPlanViewHandler(serverCtx), }, { Method: http.MethodPost, Path: "/share/click", Handler: productionshare.ClickShareLinkHandler(serverCtx), }, }, rest.WithPrefix("/api/v1/public/production"), ) }