(task T)
| 31 | } |
| 32 | |
| 33 | func getTaskInfo[T task.TaskExtensionInfo](task T) TaskInfo { |
| 34 | errMsg := "" |
| 35 | if task.GetErr() != nil { |
| 36 | errMsg = task.GetErr().Error() |
| 37 | } |
| 38 | progress := task.GetProgress() |
| 39 | // if progress is NaN, set it to 100 |
| 40 | if math.IsNaN(progress) { |
| 41 | progress = 100 |
| 42 | } |
| 43 | creatorName := "" |
| 44 | creatorRole := -1 |
| 45 | if task.GetCreator() != nil { |
| 46 | creatorName = task.GetCreator().Username |
| 47 | creatorRole = task.GetCreator().Role |
| 48 | } |
| 49 | return TaskInfo{ |
| 50 | ID: task.GetID(), |
| 51 | Name: task.GetName(), |
| 52 | Creator: creatorName, |
| 53 | CreatorRole: creatorRole, |
| 54 | State: task.GetState(), |
| 55 | Status: task.GetStatus(), |
| 56 | Progress: progress, |
| 57 | StartTime: task.GetStartTime(), |
| 58 | EndTime: task.GetEndTime(), |
| 59 | TotalBytes: task.GetTotalBytes(), |
| 60 | Error: errMsg, |
| 61 | } |
| 62 | } |
| 63 | |
| 64 | func getTaskInfos[T task.TaskExtensionInfo](tasks []T) []TaskInfo { |
| 65 | return utils.MustSliceConvert(tasks, getTaskInfo[T]) |
no test coverage detected