func nodeToDetails(node datasource.Machine) (*nodeDetails, error) { name := node.Name() mac := node.Mac() ip, err := node.IP() if err != nil { return nil, errors.New("IP") } first, err := node.FirstSeen() if err != nil { return nil, errors.New("FIRST") } last, err := node.LastSeen() if err != nil { return nil, errors.New("LAST") } return &nodeDetails{name, mac.String(), ip, first, last}, nil }