(c *gin.Context)
| 196 | ) |
| 197 | |
| 198 | func (s *SingleTaskService) Get(c *gin.Context) (*GetTaskResponse, error) { |
| 199 | dep := dependency.FromContext(c) |
| 200 | taskClient := dep.TaskClient() |
| 201 | hasher := dep.HashIDEncoder() |
| 202 | |
| 203 | ctx := context.WithValue(c, inventory.LoadTaskUser{}, true) |
| 204 | task, err := taskClient.GetTaskByID(ctx, s.ID) |
| 205 | if err != nil { |
| 206 | return nil, serializer.NewError(serializer.CodeDBError, "Failed to get task", err) |
| 207 | } |
| 208 | |
| 209 | t, err := queue.NewTaskFromModel(task) |
| 210 | if err != nil { |
| 211 | return nil, serializer.NewError(serializer.CodeDBError, "Failed to parse task", err) |
| 212 | } |
| 213 | |
| 214 | summary := t.Summarize(hasher) |
| 215 | var ( |
| 216 | node *ent.Node |
| 217 | userHashID string |
| 218 | ) |
| 219 | |
| 220 | if summary != nil && summary.NodeID > 0 { |
| 221 | node, _ = dep.NodeClient().GetNodeById(c, summary.NodeID) |
| 222 | } |
| 223 | |
| 224 | if task.Edges.User != nil { |
| 225 | userHashID = hashid.EncodeUserID(hasher, task.Edges.User.ID) |
| 226 | } |
| 227 | |
| 228 | return &GetTaskResponse{ |
| 229 | Task: task, |
| 230 | Summary: summary, |
| 231 | Node: node, |
| 232 | UserHashID: userHashID, |
| 233 | TaskHashID: hashid.EncodeTaskID(hasher, task.ID), |
| 234 | }, nil |
| 235 | } |
| 236 | |
| 237 | type ( |
| 238 | BatchTaskService struct { |
nothing calls this directly
no test coverage detected