Chever John a25acdc5e4 chore: sync codebase with upstream
Pull latest changes from upstream/main (GitHub) including:
- Purchase RPC service (proto, server, logic, models)
- Gateway route updates for purchase endpoints
- SQL migration and config updates

Excludes deploy/bin/ pre-compiled arm64 binaries (builds use
multi-stage Dockerfiles targeting amd64).
2026-06-15 09:20:56 +08:00

638 lines
16 KiB
Go

// 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"
inventorystock "muyu-apiserver/gateway/internal/handler/inventory/stock"
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: "/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"),
)
}