diff --git a/sharing.go b/sharing.go index 83ce5260..2905c8ef 100644 --- a/sharing.go +++ b/sharing.go @@ -21,12 +21,15 @@ func (h *Headscale) AddSharedMachineToNamespace(m *Machine, ns *Namespace) error return errorSameNamespace } - sharedMachine := SharedMachine{} - if err := h.db.Where("machine_id = ? AND namespace_id", m.ID, ns.ID).First(&sharedMachine).Error; err == nil { + sharedMachines := []SharedMachine{} + if err := h.db.Where("machine_id = ? AND namespace_id = ?", m.ID, ns.ID).Find(&sharedMachines).Error; err != nil { + return err + } + if len(sharedMachines) > 0 { return errorMachineAlreadyShared } - sharedMachine = SharedMachine{ + sharedMachine := SharedMachine{ MachineID: m.ID, Machine: *m, NamespaceID: ns.ID,