(req dto.AgentAccountModelCreateReq)
| 1132 | } |
| 1133 | |
| 1134 | func (a AgentService) CreateAccountModel(req dto.AgentAccountModelCreateReq) error { |
| 1135 | account, err := agentAccountRepo.GetFirst(repo.WithByID(req.AccountID)) |
| 1136 | if err != nil { |
| 1137 | return err |
| 1138 | } |
| 1139 | models, err := loadAgentAccountModels(account) |
| 1140 | if err != nil { |
| 1141 | return err |
| 1142 | } |
| 1143 | nextModel := cloneAgentAccountModel(req.Model) |
| 1144 | if _, ok := findAgentAccountModelForProvider(account.Provider, models, nextModel.ID); ok { |
| 1145 | return buserr.New("ErrRecordExist") |
| 1146 | } |
| 1147 | inputPayload, err := json.Marshal(nextModel.Input) |
| 1148 | if err != nil { |
| 1149 | return err |
| 1150 | } |
| 1151 | sortOrder := len(models) + 1 |
| 1152 | record := &model.AgentAccountModel{ |
| 1153 | AccountID: account.ID, |
| 1154 | Model: nextModel.ID, |
| 1155 | Name: nextModel.Name, |
| 1156 | ContextWindow: nextModel.ContextWindow, |
| 1157 | MaxTokens: nextModel.MaxTokens, |
| 1158 | Reasoning: nextModel.Reasoning, |
| 1159 | Input: string(inputPayload), |
| 1160 | SortOrder: sortOrder, |
| 1161 | } |
| 1162 | if err := agentAccountModelRepo.Create(record); err != nil { |
| 1163 | return err |
| 1164 | } |
| 1165 | return a.syncAgentsByAccount(account) |
| 1166 | } |
| 1167 | |
| 1168 | func (a AgentService) UpdateAccountModel(req dto.AgentAccountModelUpdateReq) error { |
| 1169 | account, err := agentAccountRepo.GetFirst(repo.WithByID(req.AccountID)) |
nothing calls this directly
no test coverage detected