package bootstrap import ( "github.com/break/junhong_cmp_fiber/internal/store/postgres" "github.com/break/junhong_cmp_fiber/pkg/queue" ) type workerStores struct { IotCardImportTask *postgres.IotCardImportTaskStore IotCard *postgres.IotCardStore DeviceImportTask *postgres.DeviceImportTaskStore Device *postgres.DeviceStore DeviceSimBinding *postgres.DeviceSimBindingStore ShopSeriesCommissionStats *postgres.ShopSeriesCommissionStatsStore ShopPackageAllocation *postgres.ShopPackageAllocationStore CommissionRecord *postgres.CommissionRecordStore Shop *postgres.ShopStore ShopSeriesAllocation *postgres.ShopSeriesAllocationStore PackageSeries *postgres.PackageSeriesStore Wallet *postgres.WalletStore WalletTransaction *postgres.WalletTransactionStore Order *postgres.OrderStore OrderItem *postgres.OrderItemStore Package *postgres.PackageStore PackageUsage *postgres.PackageUsageStore PackageUsageDailyRecord *postgres.PackageUsageDailyRecordStore PollingAlertRule *postgres.PollingAlertRuleStore PollingAlertHistory *postgres.PollingAlertHistoryStore DataCleanupConfig *postgres.DataCleanupConfigStore DataCleanupLog *postgres.DataCleanupLogStore } func initWorkerStores(deps *WorkerDependencies) *queue.WorkerStores { stores := &workerStores{ IotCardImportTask: postgres.NewIotCardImportTaskStore(deps.DB, deps.Redis), IotCard: postgres.NewIotCardStore(deps.DB, deps.Redis), DeviceImportTask: postgres.NewDeviceImportTaskStore(deps.DB, deps.Redis), Device: postgres.NewDeviceStore(deps.DB, deps.Redis), DeviceSimBinding: postgres.NewDeviceSimBindingStore(deps.DB, deps.Redis), ShopSeriesCommissionStats: postgres.NewShopSeriesCommissionStatsStore(deps.DB), ShopPackageAllocation: postgres.NewShopPackageAllocationStore(deps.DB), CommissionRecord: postgres.NewCommissionRecordStore(deps.DB, deps.Redis), Shop: postgres.NewShopStore(deps.DB, deps.Redis), ShopSeriesAllocation: postgres.NewShopSeriesAllocationStore(deps.DB), PackageSeries: postgres.NewPackageSeriesStore(deps.DB), Wallet: postgres.NewWalletStore(deps.DB, deps.Redis), WalletTransaction: postgres.NewWalletTransactionStore(deps.DB, deps.Redis), Order: postgres.NewOrderStore(deps.DB, deps.Redis), OrderItem: postgres.NewOrderItemStore(deps.DB, deps.Redis), Package: postgres.NewPackageStore(deps.DB), PackageUsage: postgres.NewPackageUsageStore(deps.DB, deps.Redis), PackageUsageDailyRecord: postgres.NewPackageUsageDailyRecordStore(deps.DB, deps.Redis), PollingAlertRule: postgres.NewPollingAlertRuleStore(deps.DB), PollingAlertHistory: postgres.NewPollingAlertHistoryStore(deps.DB), DataCleanupConfig: postgres.NewDataCleanupConfigStore(deps.DB), DataCleanupLog: postgres.NewDataCleanupLogStore(deps.DB), } return &queue.WorkerStores{ IotCardImportTask: stores.IotCardImportTask, IotCard: stores.IotCard, DeviceImportTask: stores.DeviceImportTask, Device: stores.Device, DeviceSimBinding: stores.DeviceSimBinding, ShopSeriesCommissionStats: stores.ShopSeriesCommissionStats, ShopPackageAllocation: stores.ShopPackageAllocation, CommissionRecord: stores.CommissionRecord, Shop: stores.Shop, ShopSeriesAllocation: stores.ShopSeriesAllocation, PackageSeries: stores.PackageSeries, Wallet: stores.Wallet, WalletTransaction: stores.WalletTransaction, Order: stores.Order, OrderItem: stores.OrderItem, Package: stores.Package, PackageUsage: stores.PackageUsage, PackageUsageDailyRecord: stores.PackageUsageDailyRecord, PollingAlertRule: stores.PollingAlertRule, PollingAlertHistory: stores.PollingAlertHistory, DataCleanupConfig: stores.DataCleanupConfig, DataCleanupLog: stores.DataCleanupLog, } }