103 lines
4.4 KiB
Go
103 lines
4.4 KiB
Go
// 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"
|
|
"kra/internal/biz"
|
|
"kra/internal/conf"
|
|
"kra/internal/data"
|
|
"kra/internal/server"
|
|
"kra/internal/server/handler"
|
|
"kra/internal/service"
|
|
"kra/internal/worker"
|
|
"log/slog"
|
|
)
|
|
|
|
import (
|
|
_ "go.uber.org/automaxprocs"
|
|
)
|
|
|
|
// Injectors from wire.go:
|
|
|
|
// wireApp init kratos application.
|
|
func wireApp(confServer *conf.Server, confData *conf.Data, adminBackend *conf.AdminBackend, logger *slog.Logger) (*kratos.App, func(), error) {
|
|
runtime := conf.NewRuntime(confData, adminBackend)
|
|
dataData, cleanup, err := data.NewData(runtime)
|
|
if err != nil {
|
|
return nil, nil, err
|
|
}
|
|
systemRepo := data.NewSystemRepo(dataData)
|
|
cache := data.NewCache(dataData)
|
|
fileStorage, err := data.NewFileStorage(dataData)
|
|
if err != nil {
|
|
cleanup()
|
|
return nil, nil, err
|
|
}
|
|
systemUsecase := biz.NewSystemUsecase(systemRepo, cache, fileStorage)
|
|
settingsRepo := data.NewSettingsRepo(dataData)
|
|
settingsUsecase := biz.NewSettingsUsecase(settingsRepo)
|
|
settingsService := service.NewSettingsService(settingsUsecase, runtime, cache)
|
|
systemService := service.NewSystemService(systemUsecase, runtime, settingsService)
|
|
accessRepo := data.NewAccessRepo(dataData)
|
|
accessUsecase := biz.NewAccessUsecase(accessRepo)
|
|
accessService := service.NewAccessService(accessUsecase, runtime)
|
|
authority := handler.NewAuthority(accessService)
|
|
menuRepo := data.NewMenuRepo(dataData)
|
|
menuUsecase := biz.NewMenuUsecase(menuRepo)
|
|
menuService := service.NewMenuService(menuUsecase)
|
|
menu := handler.NewMenu(menuService)
|
|
api := handler.NewAPI(accessService)
|
|
permission := handler.NewPermission(accessService)
|
|
organizationRepo := data.NewOrganizationRepo(dataData)
|
|
organizationUsecase := biz.NewOrganizationUsecase(organizationRepo)
|
|
organizationService := service.NewOrganizationService(organizationUsecase)
|
|
organization := handler.NewOrganization(organizationService)
|
|
announcementRepo := data.NewAnnouncementRepo(dataData)
|
|
announcementUsecase := biz.NewAnnouncementUsecase(announcementRepo)
|
|
announcementService := service.NewAnnouncementService(announcementUsecase)
|
|
announcement := handler.NewAnnouncement(announcementService)
|
|
emailRepo := data.NewEmailRepo(runtime)
|
|
emailUsecase := biz.NewEmailUsecase(emailRepo)
|
|
emailService := service.NewEmailService(emailUsecase)
|
|
email := handler.NewEmail(emailService)
|
|
taskRepo := data.NewTaskRepo(dataData)
|
|
taskUsecase := biz.NewTaskUsecase(taskRepo)
|
|
mediaRepo := data.NewMediaRepo(dataData)
|
|
mediaUsecase := biz.NewMediaUsecase(mediaRepo, fileStorage)
|
|
taskService := service.NewTaskService(taskUsecase, mediaUsecase, runtime)
|
|
taskScheduler := worker.NewTaskScheduler(taskService, logger)
|
|
task := handler.NewTask(taskService, taskScheduler)
|
|
mediaService := service.NewMediaService(mediaUsecase)
|
|
media := handler.NewMedia(mediaService)
|
|
auditRepo := data.NewAuditRepo(dataData)
|
|
auditUsecase := biz.NewAuditUsecase(auditRepo)
|
|
auditService := service.NewAuditService(auditUsecase)
|
|
audit := handler.NewAudit(auditService)
|
|
exportRepo := data.NewExportRepo(dataData)
|
|
exportUsecase := biz.NewExportUsecase(exportRepo)
|
|
exportService := service.NewExportService(exportUsecase)
|
|
export := handler.NewExport(systemService, exportService)
|
|
versionRepo := data.NewVersionRepo(dataData)
|
|
versionUsecase := biz.NewVersionUsecase(versionRepo)
|
|
versionService := service.NewVersionService(versionUsecase)
|
|
version := handler.NewVersion(versionService)
|
|
dictionary := handler.NewDictionary(settingsService)
|
|
parameter := handler.NewParameter(settingsService)
|
|
apiToken := handler.NewAPIToken(settingsService)
|
|
systemConfig := handler.NewSystemConfig(systemService, settingsService, taskScheduler)
|
|
public := handler.NewPublic(runtime, systemService, settingsService, auditService, taskScheduler)
|
|
user := handler.NewUser(systemService)
|
|
navigation := handler.NewNavigation(systemService)
|
|
session := handler.NewSession(settingsService)
|
|
httpServer := server.NewGinServer(confServer, runtime, systemService, accessService, authority, menu, api, permission, organization, announcement, email, task, media, audit, export, version, dictionary, parameter, apiToken, systemConfig, public, user, navigation, session, settingsService, auditService, logger)
|
|
app := newApp(logger, httpServer, taskScheduler)
|
|
return app, func() {
|
|
cleanup()
|
|
}, nil
|
|
}
|