(req dto.AgentConfigFileUpdateReq)
| 1396 | } |
| 1397 | |
| 1398 | func (a AgentService) UpdateConfigFile(req dto.AgentConfigFileUpdateReq) error { |
| 1399 | agent, install, err := a.loadAgentAndInstall(req.AgentID) |
| 1400 | if err != nil { |
| 1401 | return err |
| 1402 | } |
| 1403 | if err := validateAgentConfigFileContent(agent.AgentType, req.Content); err != nil { |
| 1404 | return err |
| 1405 | } |
| 1406 | info, err := os.Stat(agent.ConfigPath) |
| 1407 | if err != nil { |
| 1408 | return err |
| 1409 | } |
| 1410 | if err := os.WriteFile(agent.ConfigPath, []byte(req.Content), info.Mode()); err != nil { |
| 1411 | return err |
| 1412 | } |
| 1413 | if agent.AgentType == constant.AppHermesAgent { |
| 1414 | cfg, err := readHermesConfig(agent.ConfigPath) |
| 1415 | if err != nil { |
| 1416 | return err |
| 1417 | } |
| 1418 | if cfg.Model.Default != "" { |
| 1419 | agent.Model = cfg.Model.Default |
| 1420 | if err := agentRepo.Save(agent); err != nil { |
| 1421 | return err |
| 1422 | } |
| 1423 | } |
| 1424 | } |
| 1425 | return NewIAppInstalledService().Operate(request.AppInstalledOperate{ |
| 1426 | InstallId: install.ID, |
| 1427 | Operate: constant.Restart, |
| 1428 | }) |
| 1429 | } |
| 1430 | |
| 1431 | func validateAgentConfigFileContent(agentType, content string) error { |
| 1432 | var payload interface{} |
nothing calls this directly
no test coverage detected