package store import ( "github.com/ngoduykhanh/wireguard-ui/model" ) type IStore interface { Init() error GetUsers() ([]model.User, error) GetUserByName(username string) (model.User, error) SaveUser(user model.User) error DeleteUser(username string) error GetGlobalSettings() (model.GlobalSetting, error) GetClients(hasQRCode bool) ([]model.ClientData, error) GetClientByID(clientID string, qrCode model.QRCodeSettings) (model.ClientData, error) SaveClient(client model.Client) error DeleteClient(clientID string) error SaveGlobalSettings(globalSettings model.GlobalSetting) error GetWakeOnLanHosts() ([]model.WakeOnLanHost, error) GetWakeOnLanHost(macAddress string) (*model.WakeOnLanHost, error) DeleteWakeOnHostLanHost(macAddress string) error SaveWakeOnLanHost(host model.WakeOnLanHost) error DeleteWakeOnHost(host model.WakeOnLanHost) error GetPath() string SaveHashes(hashes model.ClientServerHashes) error GetHashes() (model.ClientServerHashes, error) GetServers() ([]model.Server, error) GetServerByID(serverID string) (model.Server, error) CreateServer(server model.Server) error DeleteServer(serverID string) error GetServerSettings(serverID string) (model.ServerSetting, error) SaveServerSettings(serverID string, settings model.ServerSetting) error GetServerHashes(serverID string) (model.ClientServerHashes, error) SaveServerHashes(serverID string, hashes model.ClientServerHashes) error UpdateServerInterface(serverID string, serverInterface model.ServerInterface) error UpdateServerKeyPair(serverID string, serverKeyPair model.ServerKeypair) error GetFirewallRules(serverID string) ([]model.FirewallRule, error) CreateFirewallRule(rule model.FirewallRule) error UpdateFirewallRule(rule model.FirewallRule) error DeleteFirewallRule(serverID, ruleID string) error GetIPListEntries() ([]model.IPListEntry, error) CreateIPListEntry(entry model.IPListEntry) error DeleteIPListEntry(id string) error }