package bootstrap import ( "github.com/break/junhong_cmp_fiber/internal/handler/admin" "github.com/break/junhong_cmp_fiber/internal/handler/app" authHandler "github.com/break/junhong_cmp_fiber/internal/handler/auth" "github.com/break/junhong_cmp_fiber/internal/handler/callback" "github.com/go-playground/validator/v10" ) func initHandlers(svc *services, deps *Dependencies) *Handlers { validate := validator.New() return &Handlers{ Auth: authHandler.NewHandler(svc.Auth, validate), Account: admin.NewAccountHandler(svc.Account), Role: admin.NewRoleHandler(svc.Role, validate), Permission: admin.NewPermissionHandler(svc.Permission), PersonalCustomer: app.NewPersonalCustomerHandler(svc.PersonalCustomer, deps.Logger), Shop: admin.NewShopHandler(svc.Shop), ShopRole: admin.NewShopRoleHandler(svc.Shop), AdminAuth: admin.NewAuthHandler(svc.Auth, validate), ShopCommission: admin.NewShopCommissionHandler(svc.ShopCommission), CommissionWithdrawal: admin.NewCommissionWithdrawalHandler(svc.CommissionWithdrawal), CommissionWithdrawalSetting: admin.NewCommissionWithdrawalSettingHandler(svc.CommissionWithdrawalSetting), Enterprise: admin.NewEnterpriseHandler(svc.Enterprise), EnterpriseCard: admin.NewEnterpriseCardHandler(svc.EnterpriseCard), EnterpriseDevice: admin.NewEnterpriseDeviceHandler(svc.EnterpriseDevice), Authorization: admin.NewAuthorizationHandler(svc.Authorization), MyCommission: admin.NewMyCommissionHandler(svc.MyCommission), IotCard: admin.NewIotCardHandler(svc.IotCard), IotCardImport: admin.NewIotCardImportHandler(svc.IotCardImport), Device: admin.NewDeviceHandler(svc.Device), DeviceImport: admin.NewDeviceImportHandler(svc.DeviceImport), AssetAllocationRecord: admin.NewAssetAllocationRecordHandler(svc.AssetAllocationRecord), Storage: admin.NewStorageHandler(deps.StorageService), Carrier: admin.NewCarrierHandler(svc.Carrier), PackageSeries: admin.NewPackageSeriesHandler(svc.PackageSeries), Package: admin.NewPackageHandler(svc.Package), PackageUsage: admin.NewPackageUsageHandler(svc.PackageDailyRecord), ShopPackageBatchAllocation: admin.NewShopPackageBatchAllocationHandler(svc.ShopPackageBatchAllocation), ShopPackageBatchPricing: admin.NewShopPackageBatchPricingHandler(svc.ShopPackageBatchPricing), ShopSeriesGrant: admin.NewShopSeriesGrantHandler(svc.ShopSeriesGrant), AdminOrder: admin.NewOrderHandler(svc.Order, validate), PaymentCallback: callback.NewPaymentHandler(svc.Order, svc.Recharge, svc.AgentRecharge, deps.WechatPayment), PollingConfig: admin.NewPollingConfigHandler(svc.PollingConfig), PollingConcurrency: admin.NewPollingConcurrencyHandler(svc.PollingConcurrency), PollingMonitoring: admin.NewPollingMonitoringHandler(svc.PollingMonitoring), PollingAlert: admin.NewPollingAlertHandler(svc.PollingAlert), PollingCleanup: admin.NewPollingCleanupHandler(svc.PollingCleanup), PollingManualTrigger: admin.NewPollingManualTriggerHandler(svc.PollingManualTrigger), Asset: admin.NewAssetHandler(svc.Asset, svc.Device, svc.StopResumeService), AssetLifecycle: admin.NewAssetLifecycleHandler(svc.AssetLifecycle), AssetWallet: admin.NewAssetWalletHandler(svc.AssetWallet), WechatConfig: admin.NewWechatConfigHandler(svc.WechatConfig), AgentRecharge: admin.NewAgentRechargeHandler(svc.AgentRecharge), } }