fix: align admin behavior and Kratos integrations
This commit is contained in:
@@ -7,14 +7,14 @@ import (
|
||||
"path/filepath"
|
||||
|
||||
"kra/internal/conf"
|
||||
"kra/internal/server"
|
||||
"kra/internal/worker"
|
||||
"kra/pkg/logging"
|
||||
|
||||
"github.com/go-kratos/kratos/contrib/otel/v3/tracing"
|
||||
"github.com/go-kratos/kratos/v3"
|
||||
"github.com/go-kratos/kratos/v3/config"
|
||||
"github.com/go-kratos/kratos/v3/config/file"
|
||||
"github.com/go-kratos/kratos/v3/log"
|
||||
kratoshttp "github.com/go-kratos/kratos/v3/transport/http"
|
||||
|
||||
_ "go.uber.org/automaxprocs"
|
||||
)
|
||||
@@ -35,7 +35,7 @@ func init() {
|
||||
flag.StringVar(&flagconf, "conf", "../../configs", "config path, eg: -conf config.yaml")
|
||||
}
|
||||
|
||||
func newApp(logger *slog.Logger, hs *server.GinServer, scheduler *worker.TaskScheduler) *kratos.App {
|
||||
func newApp(logger *slog.Logger, hs *kratoshttp.Server, scheduler *worker.TaskScheduler) *kratos.App {
|
||||
return kratos.New(
|
||||
kratos.ID(id),
|
||||
kratos.Name(Name),
|
||||
@@ -51,17 +51,12 @@ func newApp(logger *slog.Logger, hs *server.GinServer, scheduler *worker.TaskSch
|
||||
|
||||
func main() {
|
||||
flag.Parse()
|
||||
logger := log.NewLogger(
|
||||
slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{
|
||||
AddSource: true,
|
||||
Level: slog.LevelInfo,
|
||||
}),
|
||||
log.WithExtractor(tracing.TraceAttrs),
|
||||
).With(
|
||||
logger, closeLogger := logging.NewZapLogger("logs", "application.log",
|
||||
slog.String("service.id", id),
|
||||
slog.String("service.name", Name),
|
||||
slog.String("service.version", Version),
|
||||
)
|
||||
defer closeLogger()
|
||||
log.SetDefault(logger)
|
||||
c := config.New(
|
||||
config.WithSource(
|
||||
|
||||
@@ -20,5 +20,5 @@ import (
|
||||
|
||||
// wireApp init kratos application.
|
||||
func wireApp(*conf.Server, *conf.Data, *conf.AdminBackend, *slog.Logger) (*kratos.App, func(), error) {
|
||||
panic(wire.Build(server.ProviderSet, data.ProviderSet, biz.ProviderSet, service.ProviderSet, newApp))
|
||||
panic(wire.Build(conf.NewRuntime, server.ProviderSet, data.ProviderSet, biz.ProviderSet, service.ProviderSet, newApp))
|
||||
}
|
||||
|
||||
Generated
+9
-8
@@ -26,7 +26,8 @@ import (
|
||||
|
||||
// wireApp init kratos application.
|
||||
func wireApp(confServer *conf.Server, confData *conf.Data, adminBackend *conf.AdminBackend, logger *slog.Logger) (*kratos.App, func(), error) {
|
||||
dataData, cleanup, err := data.NewData(confData, adminBackend)
|
||||
runtime := conf.NewRuntime(confData, adminBackend)
|
||||
dataData, cleanup, err := data.NewData(runtime)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
@@ -40,8 +41,8 @@ func wireApp(confServer *conf.Server, confData *conf.Data, adminBackend *conf.Ad
|
||||
systemUsecase := biz.NewSystemUsecase(systemRepo, cache, fileStorage)
|
||||
settingsRepo := data.NewSettingsRepo(dataData)
|
||||
settingsUsecase := biz.NewSettingsUsecase(settingsRepo)
|
||||
settingsService := service.NewSettingsService(settingsUsecase, adminBackend)
|
||||
systemService := service.NewSystemService(systemUsecase, adminBackend, settingsService)
|
||||
settingsService := service.NewSettingsService(settingsUsecase, runtime, cache)
|
||||
systemService := service.NewSystemService(systemUsecase, runtime, settingsService)
|
||||
accessRepo := data.NewAccessRepo(dataData)
|
||||
accessUsecase := biz.NewAccessUsecase(accessRepo)
|
||||
accessService := service.NewAccessService(accessUsecase)
|
||||
@@ -60,7 +61,7 @@ func wireApp(confServer *conf.Server, confData *conf.Data, adminBackend *conf.Ad
|
||||
announcementUsecase := biz.NewAnnouncementUsecase(announcementRepo)
|
||||
announcementService := service.NewAnnouncementService(announcementUsecase)
|
||||
announcement := handler.NewAnnouncement(announcementService)
|
||||
emailRepo := data.NewEmailRepo(adminBackend)
|
||||
emailRepo := data.NewEmailRepo(runtime)
|
||||
emailUsecase := biz.NewEmailUsecase(emailRepo)
|
||||
emailService := service.NewEmailService(emailUsecase)
|
||||
email := handler.NewEmail(emailService)
|
||||
@@ -68,7 +69,7 @@ func wireApp(confServer *conf.Server, confData *conf.Data, adminBackend *conf.Ad
|
||||
taskUsecase := biz.NewTaskUsecase(taskRepo)
|
||||
mediaRepo := data.NewMediaRepo(dataData)
|
||||
mediaUsecase := biz.NewMediaUsecase(mediaRepo, fileStorage)
|
||||
taskService := service.NewTaskService(taskUsecase, mediaUsecase, adminBackend)
|
||||
taskService := service.NewTaskService(taskUsecase, mediaUsecase, runtime)
|
||||
taskScheduler := worker.NewTaskScheduler(taskService, logger)
|
||||
task := handler.NewTask(taskService, taskScheduler)
|
||||
mediaService := service.NewMediaService(mediaUsecase)
|
||||
@@ -89,12 +90,12 @@ func wireApp(confServer *conf.Server, confData *conf.Data, adminBackend *conf.Ad
|
||||
parameter := handler.NewParameter(settingsService)
|
||||
apiToken := handler.NewAPIToken(settingsService)
|
||||
systemConfig := handler.NewSystemConfig(systemService, settingsService, taskScheduler)
|
||||
public := handler.NewPublic(adminBackend, systemService, settingsService, auditService, taskScheduler)
|
||||
public := handler.NewPublic(runtime, systemService, settingsService, auditService, taskScheduler)
|
||||
user := handler.NewUser(systemService)
|
||||
navigation := handler.NewNavigation(systemService)
|
||||
session := handler.NewSession(settingsService)
|
||||
ginServer := server.NewGinServer(confServer, adminBackend, systemService, accessService, authority, menu, api, permission, organization, announcement, email, task, media, audit, export, version, dictionary, parameter, apiToken, systemConfig, public, user, navigation, session, settingsService, auditService, emailService, logger)
|
||||
app := newApp(logger, ginServer, taskScheduler)
|
||||
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, emailService, logger)
|
||||
app := newApp(logger, httpServer, taskScheduler)
|
||||
return app, func() {
|
||||
cleanup()
|
||||
}, nil
|
||||
|
||||
Reference in New Issue
Block a user