thread-master/backend/internal/logic/setting/get_setting_logic.go

30 lines
703 B
Go
Raw Permalink Normal View History

2026-06-26 08:37:04 +00:00
package setting
import (
"context"
"haixun-backend/internal/svc"
"haixun-backend/internal/types"
)
type GetSettingLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewGetSettingLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetSettingLogic {
return &GetSettingLogic{ctx: ctx, svcCtx: svcCtx}
}
func (l *GetSettingLogic) GetSetting(req *types.SettingKeyPath) (*types.SettingData, error) {
2026-06-26 16:02:06 +00:00
if err := authorizeSettingAccess(l.ctx, l.svcCtx, req.Scope, req.ScopeID); err != nil {
return nil, err
}
2026-06-26 08:37:04 +00:00
item, err := l.svcCtx.Setting.Get(l.ctx, req.Scope, req.ScopeID, req.Key)
if err != nil {
return nil, err
}
data := toSettingData(item)
return &data, nil
}