in internal/status/immediatestatus.go [60:87]
func (o *StatusObserver) getImmediateTopLevelStatusToReport() ImmediateTopLevelStatus {
o.ctx.Log("message", "Getting all goal states from the event map with the latest status that are not empty")
latestStatusToReport := []ImmediateStatus{}
o.goalStateEventMap.Range(func(key, value interface{}) bool {
// Only report the latest active status for each goal state
if value.(types.StatusItem) != (types.StatusItem{}) {
statusItem := value.(types.StatusItem)
immediateStatus := ImmediateStatus{
SequenceNumber: key.(types.GoalStateKey).SeqNumber,
TimestampUTC: statusItem.TimestampUTC,
Status: statusItem,
}
latestStatusToReport = append(latestStatusToReport, immediateStatus)
}
return true
})
o.ctx.Log("message", "Creating immediate status to report")
return ImmediateTopLevelStatus{
AggregateHandlerImmediateStatus: []ImmediateHandlerStatus{
{
HandlerName: "RunCommandHandler",
AggregateImmediateStatus: latestStatusToReport,
},
},
}
}