Fix: populate relations in GetTaskByID and agent GetTasks
This commit is contained in:
@@ -15,6 +15,7 @@ import (
|
|||||||
"github.com/engigu/baihu-panel/internal/executor"
|
"github.com/engigu/baihu-panel/internal/executor"
|
||||||
"github.com/engigu/baihu-panel/internal/logger"
|
"github.com/engigu/baihu-panel/internal/logger"
|
||||||
"github.com/engigu/baihu-panel/internal/models"
|
"github.com/engigu/baihu-panel/internal/models"
|
||||||
|
"github.com/engigu/baihu-panel/internal/services/relation"
|
||||||
"github.com/engigu/baihu-panel/internal/services/tasks"
|
"github.com/engigu/baihu-panel/internal/services/tasks"
|
||||||
"github.com/engigu/baihu-panel/internal/utils"
|
"github.com/engigu/baihu-panel/internal/utils"
|
||||||
|
|
||||||
@@ -318,6 +319,20 @@ func (s *AgentService) GetTasks(agentID string) []models.AgentTask {
|
|||||||
var tasksList []models.Task
|
var tasksList []models.Task
|
||||||
database.DB.Where("agent_id = ? AND enabled = ?", agentID, true).Find(&tasksList)
|
database.DB.Where("agent_id = ? AND enabled = ?", agentID, true).Find(&tasksList)
|
||||||
|
|
||||||
|
// 装载关联的变量信息
|
||||||
|
if len(tasksList) > 0 {
|
||||||
|
taskIDs := make([]string, len(tasksList))
|
||||||
|
for i, t := range tasksList {
|
||||||
|
taskIDs[i] = t.ID
|
||||||
|
}
|
||||||
|
envsMap := relation.DataRelation.LoadRelations(taskIDs, constant.RelationTypeTaskEnv)
|
||||||
|
for i, t := range tasksList {
|
||||||
|
if envs, ok := envsMap[t.ID]; ok {
|
||||||
|
tasksList[i].Envs = models.BigText(strings.Join(envs, ","))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
result := make([]models.AgentTask, len(tasksList))
|
result := make([]models.AgentTask, len(tasksList))
|
||||||
envService := NewEnvService()
|
envService := NewEnvService()
|
||||||
|
|
||||||
|
|||||||
@@ -167,9 +167,10 @@ func (ts *TaskService) GetTaskByID(id string) *models.Task {
|
|||||||
if res.Error != nil || res.RowsAffected == 0 {
|
if res.Error != nil || res.RowsAffected == 0 {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
ts.loadTagsAndEnvs([]models.Task{task})
|
tasks := []models.Task{task}
|
||||||
|
ts.loadTagsAndEnvs(tasks)
|
||||||
|
|
||||||
return &task
|
return &tasks[0]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ts *TaskService) UpdateTask(id string, p *TaskParam) *models.Task {
|
func (ts *TaskService) UpdateTask(id string, p *TaskParam) *models.Task {
|
||||||
|
|||||||
Reference in New Issue
Block a user