mirror of
				https://github.com/juanfont/headscale.git
				synced 2025-10-28 10:51:44 +01:00 
			
		
		
		
	Added helper function to get list of shared nodes
This commit is contained in:
		
							parent
							
								
									7010f5afad
								
							
						
					
					
						commit
						187b016d09
					
				@ -91,12 +91,30 @@ func (h *Headscale) ListMachinesInNamespace(name string) (*[]Machine, error) {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	machines := []Machine{}
 | 
			
		||||
	if err := h.db.Preload("AuthKey").Where(&Machine{NamespaceID: n.ID}).Find(&machines).Error; err != nil {
 | 
			
		||||
	if err := h.db.Preload("AuthKey").Preload("Namespace").Where(&Machine{NamespaceID: n.ID}).Find(&machines).Error; err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return &machines, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ListSharedMachinesInNamespaces returns all the machines that are shared to the specified namespace
 | 
			
		||||
func (h *Headscale) ListSharedMachinesInNamespace(name string) (*[]Machine, error) {
 | 
			
		||||
	n, err := h.GetNamespace(name)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	sharedNodes := []SharedNode{}
 | 
			
		||||
	if err := h.db.Preload("Namespace").Preload("Machine").Where(&SharedNode{NamespaceID: n.ID}).Find(&sharedNodes).Error; err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	machines := []Machine{}
 | 
			
		||||
	for _, sn := range sharedNodes {
 | 
			
		||||
		machines = append(machines, sn.Machine)
 | 
			
		||||
	}
 | 
			
		||||
	return &machines, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// SetMachineNamespace assigns a Machine to a namespace
 | 
			
		||||
func (h *Headscale) SetMachineNamespace(m *Machine, namespaceName string) error {
 | 
			
		||||
	n, err := h.GetNamespace(namespaceName)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user