38 lines
1019 B
Go
38 lines
1019 B
Go
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,
|
|
}
|
|
}
|