Newer
Older
wg-portal / internal / wireguard / persistence.go
@Christoph Haas Christoph Haas on 13 Oct 2021 657 bytes user and wireguard package
package wireguard

import (
	"github.com/h44z/wg-portal/internal/persistence"
)

type store interface {
	GetAvailableInterfaces() ([]persistence.InterfaceIdentifier, error)

	GetAllInterfaces(interfaceIdentifiers ...persistence.InterfaceIdentifier) (map[persistence.InterfaceConfig][]persistence.PeerConfig, error)
	GetInterface(identifier persistence.InterfaceIdentifier) (persistence.InterfaceConfig, []persistence.PeerConfig, error)

	SaveInterface(cfg persistence.InterfaceConfig) error
	SavePeer(peer persistence.PeerConfig) error

	DeleteInterface(identifier persistence.InterfaceIdentifier) error
	DeletePeer(peer persistence.PeerIdentifier) error
}