Preload namespace so the name can be shown

This commit is contained in:
Juan Font 2021-09-03 10:23:26 +02:00
parent 7287e0259c
commit 7ce4738d8a
2 changed files with 7 additions and 3 deletions

View File

@ -231,7 +231,7 @@ func (h *Headscale) GetMachine(namespace string, name string) (*Machine, error)
// GetMachineByID finds a Machine by ID and returns the Machine struct
func (h *Headscale) GetMachineByID(id uint64) (*Machine, error) {
m := Machine{}
if result := h.db.Find(&Machine{ID: id}).First(&m); result.Error != nil {
if result := h.db.Preload("Namespace").Find(&Machine{ID: id}).First(&m); result.Error != nil {
return nil, result.Error
}
return &m, nil

View File

@ -104,13 +104,17 @@ func (h *Headscale) ListSharedMachinesInNamespace(name string) (*[]Machine, erro
return nil, err
}
sharedNodes := []SharedNode{}
if err := h.db.Preload("Namespace").Preload("Machine").Where(&SharedNode{NamespaceID: n.ID}).Find(&sharedNodes).Error; err != nil {
if err := h.db.Preload("Namespace").Where(&SharedNode{NamespaceID: n.ID}).Find(&sharedNodes).Error; err != nil {
return nil, err
}
machines := []Machine{}
for _, sn := range sharedNodes {
machines = append(machines, sn.Machine)
m, err := h.GetMachineByID(sn.MachineID) // otherwise not everything comes filled
if err != nil {
return nil, err
}
machines = append(machines, *m)
}
return &machines, nil
}