thread-master/old/backend/internal/logic/member/ai_settings_mapper.go

38 lines
1019 B
Go
Raw Normal View History

2026-07-07 14:02:41 +00:00
package member
import (
domusecase "haixun-backend/internal/model/threads_account/domain/usecase"
"haixun-backend/internal/types"
)
func toMemberAiSettingsData(data *domusecase.AiSettings) *types.MemberAiSettingsData {
if data == nil {
return nil
}
configured := map[string]interface{}{}
for provider, ok := range data.ApiKeysConfigured {
configured[provider] = ok
}
return &types.MemberAiSettingsData{
Provider: data.Provider,
Model: data.Model,
ResearchProvider: data.ResearchProvider,
ResearchModel: data.ResearchModel,
ApiKeys: data.ApiKeys,
ApiKeysConfigured: configured,
}
}
func toMemberAiSettingsPatch(req *types.UpdateMemberAiSettingsReq) domusecase.AiSettingsPatch {
if req == nil {
return domusecase.AiSettingsPatch{}
}
return domusecase.AiSettingsPatch{
Provider: req.Provider,
Model: req.Model,
ResearchProvider: req.ResearchProvider,
ResearchModel: req.ResearchModel,
ApiKeys: req.ApiKeys,
}
}