package status import ( "edge-infra.dev/pkg/edge/api/graph/model" "edge-infra.dev/pkg/edge/api/services/kinform" kinformmodel "edge-infra.dev/pkg/f8n/kinform/model" ) // StatusesFromWatchedFields is a mapper that converts a slice of // WatchedField objects to a slice of VirtualMachineStatus objects func StatusesFromWatchedFields(watchedVMList []*kinformmodel.WatchedField) ([]*model.VirtualMachineStatus, error) { statusList := []*model.VirtualMachineStatus{} for _, watchedVM := range watchedVMList { status := &model.VirtualMachineStatus{ Name: watchedVM.Name, ClusterEdgeID: watchedVM.Cluster.String(), Namespace: watchedVM.Namespace, } conditions, err := kinform.ObjStatusConditionsFromFieldValues(watchedVM.Fields) if err != nil { return nil, err } status.Conditions = conditions statusList = append(statusList, status) } return statusList, nil }