308 lines
14 KiB
Go
Generated
308 lines
14 KiB
Go
Generated
// Code generated by Wire. DO NOT EDIT.
|
|
|
|
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
|
|
//go:build !wireinject
|
|
// +build !wireinject
|
|
|
|
package main
|
|
|
|
import (
|
|
"github.com/go-kratos/kratos/v3"
|
|
analytics2 "kra/internal/biz/analytics"
|
|
asset2 "kra/internal/biz/asset"
|
|
gift2 "kra/internal/biz/gift"
|
|
integration3 "kra/internal/biz/integration"
|
|
live2 "kra/internal/biz/live"
|
|
livechat2 "kra/internal/biz/livechat"
|
|
liveclient2 "kra/internal/biz/liveclient"
|
|
payment3 "kra/internal/biz/payment"
|
|
platformsetting2 "kra/internal/biz/platformsetting"
|
|
recharge2 "kra/internal/biz/recharge"
|
|
system2 "kra/internal/biz/system"
|
|
task2 "kra/internal/biz/task"
|
|
"kra/internal/config"
|
|
"kra/internal/data"
|
|
"kra/internal/data/analytics"
|
|
"kra/internal/data/asset"
|
|
"kra/internal/data/gift"
|
|
"kra/internal/data/integration"
|
|
"kra/internal/data/live"
|
|
"kra/internal/data/livechat"
|
|
"kra/internal/data/liveclient"
|
|
payment2 "kra/internal/data/payment"
|
|
"kra/internal/data/platformsetting"
|
|
"kra/internal/data/recharge"
|
|
"kra/internal/data/system"
|
|
"kra/internal/data/task"
|
|
"kra/internal/initialize"
|
|
integration2 "kra/internal/integration"
|
|
"kra/internal/integration/cache"
|
|
"kra/internal/integration/email"
|
|
live4 "kra/internal/integration/live"
|
|
"kra/internal/integration/mq"
|
|
"kra/internal/integration/payment"
|
|
"kra/internal/integration/storage"
|
|
"kra/internal/integration/systeminfo"
|
|
"kra/internal/integration/websocket"
|
|
"kra/internal/logging"
|
|
"kra/internal/modules"
|
|
"kra/internal/server"
|
|
"kra/internal/server/handler"
|
|
"kra/internal/server/router"
|
|
analytics3 "kra/internal/service/analytics"
|
|
asset3 "kra/internal/service/asset"
|
|
gift3 "kra/internal/service/gift"
|
|
integration4 "kra/internal/service/integration"
|
|
live3 "kra/internal/service/live"
|
|
livechat3 "kra/internal/service/livechat"
|
|
liveclient3 "kra/internal/service/liveclient"
|
|
payment4 "kra/internal/service/payment"
|
|
platformsetting3 "kra/internal/service/platformsetting"
|
|
recharge3 "kra/internal/service/recharge"
|
|
system3 "kra/internal/service/system"
|
|
task3 "kra/internal/service/task"
|
|
"kra/internal/worker"
|
|
"log/slog"
|
|
)
|
|
|
|
import (
|
|
_ "go.uber.org/automaxprocs"
|
|
)
|
|
|
|
// Injectors from wire.go:
|
|
|
|
// wireApp init kratos application.
|
|
func wireApp(configServer *config.Server, store *config.Store, logger *slog.Logger, reloadableLogger *logging.ReloadableLogger, string2 string) (*kratos.App, func(), error) {
|
|
reloadable, err := storage.NewFileStorage(store)
|
|
if err != nil {
|
|
return nil, nil, err
|
|
}
|
|
catalog := modules.Catalog()
|
|
dataData, cleanup, err := data.NewData(store, logger, reloadable, catalog)
|
|
if err != nil {
|
|
return nil, nil, err
|
|
}
|
|
authorityAccessRepo := system.NewAuthorityAccessRepo(dataData)
|
|
apiRepo := system.NewAPIRepo(dataData)
|
|
accessControlUsecase := system2.NewAccessControlUsecase(authorityAccessRepo, apiRepo)
|
|
accessControlService := system3.NewAccessControlService(accessControlUsecase)
|
|
userRepo := system.NewUserRepo(dataData)
|
|
userUsecase := system2.NewUserUsecase(userRepo)
|
|
securityRepo := system.NewSecurityRepo(dataData)
|
|
systemCache := cache.New(dataData)
|
|
runtimeSettings := system.NewRuntimeSettings(store)
|
|
apiTokenRepo := system.NewAPITokenRepo(dataData)
|
|
tokenUsecase := system2.NewTokenUsecase(apiTokenRepo)
|
|
securityUsecase := system2.NewSecurityUsecase(securityRepo, systemCache, runtimeSettings, tokenUsecase)
|
|
tokenIssuer := system.NewTokenIssuer(runtimeSettings)
|
|
auditRecordRepo := system.NewAuditRecorderRepo(dataData)
|
|
authenticationUsecase := system2.NewAuthenticationUsecase(userUsecase, securityUsecase, tokenIssuer, auditRecordRepo)
|
|
authService := system3.NewAuthService(authenticationUsecase)
|
|
securityService := system3.NewSecurityService(securityUsecase)
|
|
auditRecorderUsecase := system2.NewAuditRecorderUsecase(auditRecordRepo)
|
|
auditRecorder := system3.NewAuditRecorder(auditRecorderUsecase)
|
|
registry := taskRegistry()
|
|
authorityUsecase := system2.NewAuthorityUsecase(authorityAccessRepo)
|
|
authorityService := system3.NewAuthorityService(authorityUsecase)
|
|
authority := handler.NewAuthority(authorityService)
|
|
menuRepo := system.NewMenuRepo(dataData)
|
|
menuUsecase := system2.NewMenuUsecase(menuRepo)
|
|
menuService := system3.NewMenuService(menuUsecase)
|
|
menu := handler.NewMenu(menuService)
|
|
apiUsecase := system2.NewAPIUsecase(apiRepo)
|
|
apiService := system3.NewAPIService(apiUsecase, runtimeSettings)
|
|
api := handler.NewAPI(apiService)
|
|
permissionRepo := system.NewPermissionRepo(dataData)
|
|
permissionUsecase := system2.NewPermissionUsecase(permissionRepo)
|
|
permissionService := system3.NewPermissionService(permissionUsecase)
|
|
permission := handler.NewPermission(permissionService)
|
|
departmentRepo := system.NewDepartmentRepo(dataData)
|
|
departmentUsecase := system2.NewDepartmentUsecase(departmentRepo)
|
|
departmentService := system3.NewDepartmentService(departmentUsecase)
|
|
positionRepo := system.NewPositionRepo(dataData)
|
|
positionUsecase := system2.NewPositionUsecase(positionRepo)
|
|
positionService := system3.NewPositionService(positionUsecase)
|
|
organization := handler.NewOrganization(departmentService, positionService)
|
|
announcementRepo := system.NewAnnouncementRepo(dataData)
|
|
announcementUsecase := system2.NewAnnouncementUsecase(announcementRepo)
|
|
announcementService := system3.NewAnnouncementService(announcementUsecase)
|
|
announcement := handler.NewAnnouncement(announcementService)
|
|
emailRepo := email.NewEmailRepo(store)
|
|
emailUsecase := system2.NewEmailUsecase(emailRepo)
|
|
emailService := system3.NewEmailService(emailUsecase)
|
|
handlerEmail := handler.NewEmail(emailService)
|
|
paymentConfigReader := integration.NewPaymentConfigReader(dataData)
|
|
factory := payment.NewFactory()
|
|
paymentOrderRepo := payment2.NewPaymentOrderRepo(dataData)
|
|
paymentRepo := payment2.NewPaymentRepo(dataData, paymentConfigReader, factory, paymentOrderRepo)
|
|
paymentHooks := payment3.NewPaymentHooks()
|
|
paymentOrderSourceRegistry := payment3.NewPaymentOrderSourceRegistry()
|
|
paymentFulfillmentRegistry := payment3.NewPaymentFulfillmentRegistry()
|
|
paymentUsecase := payment3.NewPaymentUsecase(paymentRepo, paymentOrderRepo, paymentHooks, paymentOrderSourceRegistry, paymentFulfillmentRegistry, logger)
|
|
paymentService := payment4.NewPaymentService(paymentUsecase)
|
|
handlerPayment := handler.NewPayment(paymentService)
|
|
taskRepo := task.NewTaskRepo(dataData)
|
|
taskUsecase := task2.NewTaskUsecaseWithRegistry(taskRepo, registry)
|
|
taskExecutor := worker.NewTaskExecutorWithRegistry(taskUsecase, registry)
|
|
taskScheduler := worker.NewTaskScheduler(taskUsecase, authorityUsecase, taskExecutor, logger)
|
|
taskRuntime := worker.NewTaskRuntime(taskScheduler)
|
|
taskApplicationUsecase := task2.NewTaskApplicationUsecase(taskUsecase, taskRuntime)
|
|
taskService := task3.NewTaskService(taskApplicationUsecase)
|
|
handlerTask := handler.NewTask(taskService)
|
|
mediaRepo := system.NewMediaRepo(dataData)
|
|
mediaUsecase := system2.NewMediaUsecase(mediaRepo, reloadable, runtimeSettings)
|
|
mediaService := system3.NewMediaService(mediaUsecase, runtimeSettings)
|
|
media := handler.NewMedia(mediaService)
|
|
auditQueryRepo := system.NewAuditRepo(dataData)
|
|
auditUsecase := system2.NewAuditUsecase(auditQueryRepo)
|
|
auditService := system3.NewAuditService(auditUsecase)
|
|
logFileRepo := system.NewLogFileRepo(dataData)
|
|
logViewerUsecase := system2.NewLogViewerUsecase(logFileRepo)
|
|
logViewerService := system3.NewLogViewerService(logViewerUsecase)
|
|
audit := handler.NewAudit(auditService, auditRecorder, logViewerService, logger)
|
|
exportRepo := system.NewExportRepo(dataData)
|
|
exportUsecase := system2.NewExportUsecase(exportRepo)
|
|
exportService := system3.NewExportService(exportUsecase, systemCache)
|
|
export := handler.NewExport(exportService)
|
|
versionRepo := system.NewVersionRepo(dataData)
|
|
versionUsecase := system2.NewVersionUsecase(versionRepo)
|
|
versionService := system3.NewVersionService(versionUsecase)
|
|
version := handler.NewVersion(versionService)
|
|
dictionaryRepo := system.NewDictionaryRepo(dataData)
|
|
dictionaryUsecase := system2.NewDictionaryUsecase(dictionaryRepo)
|
|
dictionaryService := system3.NewDictionaryService(dictionaryUsecase)
|
|
dictionary := handler.NewDictionary(dictionaryService)
|
|
parameterRepo := system.NewParameterRepo(dataData)
|
|
parameterUsecase := system2.NewParameterUsecase(parameterRepo)
|
|
parameterService := system3.NewParameterService(parameterUsecase)
|
|
parameter := handler.NewParameter(parameterService)
|
|
tokenService := system3.NewTokenService(tokenUsecase, tokenIssuer)
|
|
apiToken := handler.NewAPIToken(tokenService)
|
|
initializationRepo := initialize.NewRepo(dataData, catalog)
|
|
taskReloader := worker.NewTaskReloader(taskScheduler)
|
|
provider := systeminfo.NewProvider()
|
|
systemConfigUsecase := system2.NewSystemConfigUsecase(initializationRepo, taskReloader, provider)
|
|
systemConfigService := system3.NewSystemConfigService(systemConfigUsecase, runtimeSettings)
|
|
systemConfig := handler.NewSystemConfig(systemConfigService, securityService)
|
|
public := handler.NewPublic(authService, systemConfigService, securityService)
|
|
userService := system3.NewUserService(userUsecase, securityService)
|
|
user := handler.NewUser(userService, authService)
|
|
navigation := handler.NewNavigation(userService)
|
|
session := handler.NewSession(tokenService)
|
|
integrationConfigRepo := integration.NewIntegrationConfigRepo(dataData)
|
|
runtimeconfigStore := data.NewIntegrationRuntime(dataData)
|
|
connectivityTester := integration2.NewConnectivityTester(runtimeconfigStore)
|
|
integrationConfigUsecase := integration3.NewIntegrationConfigUsecase(integrationConfigRepo, connectivityTester)
|
|
integrationConfigService := integration4.NewIntegrationConfigService(integrationConfigUsecase)
|
|
integrationConfig := handler.NewIntegrationConfig(integrationConfigService)
|
|
streamRepo := live.NewStreamRepo()
|
|
streamUsecase := live2.NewStreamUsecase(streamRepo)
|
|
streamService := live3.NewStreamService(streamUsecase)
|
|
catalogRepo := live.NewCatalogRepo(dataData)
|
|
categoryUsecase := live2.NewCategoryUsecase(catalogRepo)
|
|
roomUsecase := live2.NewRoomUsecase(catalogRepo, streamUsecase)
|
|
catalogService := live3.NewCatalogService(categoryUsecase, roomUsecase)
|
|
followRepo := live.NewFollowRepo(dataData)
|
|
followUsecase := live2.NewFollowUsecase(followRepo)
|
|
followService := live3.NewFollowService(followUsecase)
|
|
handlerLive := handler.NewLive(streamService, catalogService, followService)
|
|
repo := livechat.NewRepo(dataData)
|
|
usecase := livechat2.NewUsecase(repo)
|
|
service := livechat3.NewService(usecase)
|
|
liveChat := handler.NewLiveChat(service)
|
|
liveclientRepo := liveclient.NewRepo(dataData)
|
|
liveclientUsecase := liveclient2.NewUsecase(liveclientRepo, securityUsecase, authenticationUsecase, userUsecase)
|
|
liveclientService := liveclient3.NewService(liveclientUsecase)
|
|
liveClient := handler.NewLiveClient(liveclientService)
|
|
giftRepo := gift.NewRepo(dataData)
|
|
websocketServer, cleanup2, err := websocket.New(runtimeconfigStore)
|
|
if err != nil {
|
|
cleanup()
|
|
return nil, nil, err
|
|
}
|
|
manager, cleanup3, err := live4.New(websocketServer, streamUsecase, roomUsecase, usecase, logger)
|
|
if err != nil {
|
|
cleanup2()
|
|
cleanup()
|
|
return nil, nil, err
|
|
}
|
|
giftUsecase := gift2.NewUsecase(giftRepo, manager, roomUsecase)
|
|
giftService := gift3.NewService(giftUsecase)
|
|
handlerGift := handler.NewGift(giftService)
|
|
rechargeRepo := recharge.NewRepo(dataData)
|
|
rechargeUsecase, err := recharge2.NewUsecase(rechargeRepo, paymentUsecase)
|
|
if err != nil {
|
|
cleanup3()
|
|
cleanup2()
|
|
cleanup()
|
|
return nil, nil, err
|
|
}
|
|
rechargeService := recharge3.NewService(rechargeUsecase, integrationConfigUsecase)
|
|
handlerRecharge := handler.NewRecharge(rechargeService)
|
|
assetRepo := asset.NewRepo(dataData)
|
|
assetUsecase := asset2.NewUsecase(assetRepo)
|
|
assetService := asset3.NewService(assetUsecase)
|
|
handlerAsset := handler.NewAsset(assetService)
|
|
platformsettingRepo := platformsetting.NewRepo(dataData)
|
|
platformsettingUsecase := platformsetting2.NewUsecase(platformsettingRepo)
|
|
platformsettingService := platformsetting3.NewService(platformsettingUsecase)
|
|
platformSetting := handler.NewPlatformSetting(platformsettingService)
|
|
analyticsRepo := analytics.NewRepo(dataData)
|
|
analyticsUsecase := analytics2.NewUsecase(analyticsRepo, streamUsecase)
|
|
analyticsService := analytics3.NewService(analyticsUsecase)
|
|
handlerAnalytics := handler.NewAnalytics(analyticsService)
|
|
set := &handler.Set{
|
|
Authority: authority,
|
|
Menu: menu,
|
|
API: api,
|
|
Permission: permission,
|
|
Organization: organization,
|
|
Announcement: announcement,
|
|
Email: handlerEmail,
|
|
Payment: handlerPayment,
|
|
Task: handlerTask,
|
|
Media: media,
|
|
Audit: audit,
|
|
Export: export,
|
|
Version: version,
|
|
Dictionary: dictionary,
|
|
Parameter: parameter,
|
|
APIToken: apiToken,
|
|
SystemConfig: systemConfig,
|
|
Public: public,
|
|
User: user,
|
|
Navigation: navigation,
|
|
Session: session,
|
|
IntegrationConfig: integrationConfig,
|
|
Live: handlerLive,
|
|
LiveChat: liveChat,
|
|
LiveClient: liveClient,
|
|
Gift: handlerGift,
|
|
Recharge: handlerRecharge,
|
|
Asset: handlerAsset,
|
|
PlatformSetting: platformSetting,
|
|
Analytics: handlerAnalytics,
|
|
}
|
|
routes := router.NewRoutes(set)
|
|
maintenanceRepo := system.NewMaintenanceRepo(dataData)
|
|
maintenanceUsecase := system2.NewMaintenanceUsecase(maintenanceRepo)
|
|
taskMethods := worker.NewTaskMethods(taskUsecase, maintenanceUsecase, mediaUsecase, store)
|
|
routeRegistrar := buildRuntime(registry, routes, taskMethods)
|
|
engine := server.NewGinEngineWithRuntime(store, accessControlService, authService, securityService, auditRecorder, logger, string2, routeRegistrar, websocketServer)
|
|
httpServer := server.NewGinServer(configServer, engine)
|
|
mqReloadable, cleanup4, err := mq.New(runtimeconfigStore, logger)
|
|
if err != nil {
|
|
cleanup3()
|
|
cleanup2()
|
|
cleanup()
|
|
return nil, nil, err
|
|
}
|
|
app := newApp(logger, httpServer, taskScheduler, auditRecorder, reloadableLogger, mqReloadable, manager)
|
|
return app, func() {
|
|
cleanup4()
|
|
cleanup3()
|
|
cleanup2()
|
|
cleanup()
|
|
}, nil
|
|
}
|