(req dto.AgentAccountModelDeleteReq)
| 1217 | } |
| 1218 | |
| 1219 | func (a AgentService) DeleteAccountModel(req dto.AgentAccountModelDeleteReq) error { |
| 1220 | account, err := agentAccountRepo.GetFirst(repo.WithByID(req.AccountID)) |
| 1221 | if err != nil { |
| 1222 | return err |
| 1223 | } |
| 1224 | if _, err := agentAccountModelRepo.GetFirst(repo.WithByID(req.RecordID), repo.WithByAccountID(req.AccountID)); err != nil { |
| 1225 | return err |
| 1226 | } |
| 1227 | models, err := loadAgentAccountModels(account) |
| 1228 | if err != nil { |
| 1229 | return err |
| 1230 | } |
| 1231 | nextModels := make([]dto.AgentAccountModel, 0, len(models)) |
| 1232 | for _, item := range models { |
| 1233 | if item.RecordID == req.RecordID { |
| 1234 | continue |
| 1235 | } |
| 1236 | nextModels = append(nextModels, item) |
| 1237 | } |
| 1238 | if err := ensureAccountModelsNotBound(account, nextModels); err != nil { |
| 1239 | return err |
| 1240 | } |
| 1241 | if err := agentAccountModelRepo.DeleteByID(req.RecordID); err != nil { |
| 1242 | return err |
| 1243 | } |
| 1244 | if err := compactPersistedAgentAccountModelSortOrder(req.AccountID); err != nil { |
| 1245 | return err |
| 1246 | } |
| 1247 | terminalai.InvalidateTerminalRuntimeCache() |
| 1248 | terminalai.InvalidateFileAIRuntimeCache() |
| 1249 | return a.syncAgentsByAccount(account) |
| 1250 | } |
| 1251 | |
| 1252 | func (a AgentService) SyncAgentsByAccount(account *model.AgentAccount) error { |
| 1253 | if account == nil || account.ID == 0 { |
nothing calls this directly
no test coverage detected