mirror of https://github.com/h44z/wg-portal.git
				
				
				
			
		
			
				
	
	
		
			28 lines
		
	
	
		
			858 B
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			858 B
		
	
	
	
		
			Go
		
	
	
	
| package domain
 | |
| 
 | |
| import "context"
 | |
| 
 | |
| type InterfaceController interface {
 | |
| 	GetId() InterfaceBackend
 | |
| 	GetInterfaces(_ context.Context) ([]PhysicalInterface, error)
 | |
| 	GetInterface(_ context.Context, id InterfaceIdentifier) (*PhysicalInterface, error)
 | |
| 	GetPeers(_ context.Context, deviceId InterfaceIdentifier) ([]PhysicalPeer, error)
 | |
| 	SaveInterface(
 | |
| 		_ context.Context,
 | |
| 		id InterfaceIdentifier,
 | |
| 		updateFunc func(pi *PhysicalInterface) (*PhysicalInterface, error),
 | |
| 	) error
 | |
| 	DeleteInterface(_ context.Context, id InterfaceIdentifier) error
 | |
| 	SavePeer(
 | |
| 		_ context.Context,
 | |
| 		deviceId InterfaceIdentifier,
 | |
| 		id PeerIdentifier,
 | |
| 		updateFunc func(pp *PhysicalPeer) (*PhysicalPeer, error),
 | |
| 	) error
 | |
| 	DeletePeer(_ context.Context, deviceId InterfaceIdentifier, id PeerIdentifier) error
 | |
| 	PingAddresses(
 | |
| 		ctx context.Context,
 | |
| 		addr string,
 | |
| 	) (*PingerResult, error)
 | |
| }
 |