(account *model.AgentAccount, models []dto.AgentAccountModel)
| 1278 | } |
| 1279 | |
| 1280 | func normalizeAgentAccountModels(account *model.AgentAccount, models []dto.AgentAccountModel) ([]dto.AgentAccountModel, error) { |
| 1281 | requested := append([]dto.AgentAccountModel(nil), models...) |
| 1282 | if len(requested) == 0 { |
| 1283 | return nil, fmt.Errorf("model is required") |
| 1284 | } |
| 1285 | normalized := make([]dto.AgentAccountModel, 0, len(requested)) |
| 1286 | seen := make(map[string]struct{}, len(requested)) |
| 1287 | for _, item := range requested { |
| 1288 | normalizedItem, err := normalizeAgentAccountModel(account, item) |
| 1289 | if err != nil { |
| 1290 | return nil, err |
| 1291 | } |
| 1292 | if strings.TrimSpace(normalizedItem.ID) == "" { |
| 1293 | continue |
| 1294 | } |
| 1295 | if _, ok := seen[normalizedItem.ID]; ok { |
| 1296 | continue |
| 1297 | } |
| 1298 | seen[normalizedItem.ID] = struct{}{} |
| 1299 | normalized = append(normalized, normalizedItem) |
| 1300 | } |
| 1301 | if len(normalized) == 0 { |
| 1302 | return nil, fmt.Errorf("model is required") |
| 1303 | } |
| 1304 | return normalized, nil |
| 1305 | } |
| 1306 | |
| 1307 | func normalizeAgentAccountModel(account *model.AgentAccount, model dto.AgentAccountModel) (dto.AgentAccountModel, error) { |
| 1308 | modelID := strings.TrimSpace(model.ID) |
no test coverage detected