| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- // Code scaffolded by goctl. Safe to edit.
- // goctl 1.10.2
- package svc
- import (
- "udeServer/internal/audit"
- "udeServer/internal/config"
- "udeServer/internal/model"
- "github.com/zeromicro/go-zero/core/logx"
- "github.com/zeromicro/go-zero/core/stores/sqlx"
- "github.com/zeromicro/go-zero/rest"
- )
- type ServiceContext struct {
- Config config.Config
- DB sqlx.SqlConn
- DirectoryModel model.TDirectoryModel
- KeyModel model.TKeyModel
- ServiceModel model.TServiceModel
- // 审计日志(移植自 sdf-serve)
- SystemLogModel model.TSystemLogModel
- ConfigModel model.TConfigModel
- LogArchiveRecordModel model.TLogArchiveRecordModel
- LogRestoreRecordModel model.TLogRestoreRecordModel
- MinioClient *audit.MinioClient
- LogConfigManager *audit.LogConfigManager
- LogMiddleware rest.Middleware
- }
- func NewServiceContext(c config.Config) *ServiceContext {
- conn := sqlx.MustNewConn(c.MySQL)
- configModel := model.NewTConfigModel(conn)
- systemLogModel := model.NewTSystemLogModel(conn)
- // 动态配置 + MinIO 客户端;t_config 未建/缺行时降级运行(client 保持 nil)
- minioClient, logConfig := audit.GetGlobalConfig(configModel)
- logx.Infof("audit logging initialized: minio=%t logLevel=%q hmacSecretSet=%t",
- minioClient != nil, logConfig.LogRecordLevel, logConfig.HmacSecret != "")
- logMiddleware := audit.NewLogMiddleware().Handle(systemLogModel, configModel, c.Name)
- return &ServiceContext{
- Config: c,
- DB: conn,
- DirectoryModel: model.NewTDirectoryModel(conn),
- KeyModel: model.NewTKeyModel(conn),
- ServiceModel: model.NewTServiceModel(conn),
- SystemLogModel: systemLogModel,
- ConfigModel: configModel,
- LogArchiveRecordModel: model.NewTLogArchiveRecordModel(conn),
- LogRestoreRecordModel: model.NewTLogRestoreRecordModel(conn),
- MinioClient: minioClient,
- LogConfigManager: logConfig,
- LogMiddleware: logMiddleware,
- }
- }
|