func()

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,
			},
		},
	}
}