feat(dashboard): admin can now view task detailed steps

pull/2224/merge
Aaron Liu 2025-05-20 10:45:50 +08:00
parent a10a008ed7
commit 2fac086127
3 changed files with 4 additions and 1 deletions

View File

@ -30,6 +30,7 @@ type ListTaskResponse struct {
type GetTaskResponse struct {
*ent.Task
UserHashID string `json:"user_hash_id,omitempty"`
TaskHashID string `json:"task_hash_id,omitempty"`
Summary *queue.Summary `json:"summary,omitempty"`
Node *ent.Node `json:"node,omitempty"`
}

View File

@ -178,6 +178,7 @@ func (s *AdminListService) Tasks(c *gin.Context) (*ListTaskResponse, error) {
return GetTaskResponse{
Task: task,
TaskHashID: hashid.EncodeTaskID(hasher, task.ID),
UserHashID: uid,
Node: node,
Summary: summary,
@ -228,6 +229,7 @@ func (s *SingleTaskService) Get(c *gin.Context) (*GetTaskResponse, error) {
Summary: summary,
Node: node,
UserHashID: userHashID,
TaskHashID: hashid.EncodeTaskID(hasher, task.ID),
}, nil
}

View File

@ -386,7 +386,7 @@ func TaskPhaseProgress(c *gin.Context, taskID int) (queue.Progresses, error) {
u := inventory.UserFromContext(c)
r := dep.TaskRegistry()
t, found := r.Get(taskID)
if !found || t.Owner().ID != u.ID {
if !found || (t.Owner().ID != u.ID && !u.Edges.Group.Permissions.Enabled(int(types.GroupPermissionIsAdmin))) {
return queue.Progresses{}, nil
}