|
|
package database
import ( "github.com/matrix-org/go-neb/api" "github.com/matrix-org/go-neb/types" "maunium.net/go/mautrix/id" )
// Storer is the interface which needs to be conformed to in order to persist Go-NEB data
type Storer interface { StoreMatrixClientConfig(config api.ClientConfig) (oldConfig api.ClientConfig, err error) LoadMatrixClientConfigs() (configs []api.ClientConfig, err error) LoadMatrixClientConfig(userID id.UserID) (config api.ClientConfig, err error)
UpdateNextBatch(userID id.UserID, nextBatch string) (err error) LoadNextBatch(userID id.UserID) (nextBatch string, err error)
LoadService(serviceID string) (service types.Service, err error) DeleteService(serviceID string) (err error) LoadServicesForUser(serviceUserID id.UserID) (services []types.Service, err error) LoadServicesByType(serviceType string) (services []types.Service, err error) StoreService(service types.Service) (oldService types.Service, err error)
LoadAuthRealm(realmID string) (realm types.AuthRealm, err error) LoadAuthRealmsByType(realmType string) (realms []types.AuthRealm, err error) StoreAuthRealm(realm types.AuthRealm) (old types.AuthRealm, err error)
StoreAuthSession(session types.AuthSession) (old types.AuthSession, err error) LoadAuthSessionByUser(realmID string, userID id.UserID) (session types.AuthSession, err error) LoadAuthSessionByID(realmID, sessionID string) (session types.AuthSession, err error) RemoveAuthSession(realmID string, userID id.UserID) error
LoadBotOptions(userID id.UserID, roomID id.RoomID) (opts types.BotOptions, err error) StoreBotOptions(opts types.BotOptions) (oldOpts types.BotOptions, err error)
InsertFromConfig(cfg *api.ConfigFile) error }
// NopStorage nops every store API call. This is intended to be embedded into derived structs
// in tests
type NopStorage struct{}
// StoreMatrixClientConfig NOP
func (s *NopStorage) StoreMatrixClientConfig(config api.ClientConfig) (oldConfig api.ClientConfig, err error) { return api.ClientConfig{}, nil }
// LoadMatrixClientConfigs NOP
func (s *NopStorage) LoadMatrixClientConfigs() (configs []api.ClientConfig, err error) { return }
// LoadMatrixClientConfig NOP
func (s *NopStorage) LoadMatrixClientConfig(userID id.UserID) (config api.ClientConfig, err error) { return }
// UpdateNextBatch NOP
func (s *NopStorage) UpdateNextBatch(userID id.UserID, nextBatch string) (err error) { return }
// LoadNextBatch NOP
func (s *NopStorage) LoadNextBatch(userID id.UserID) (nextBatch string, err error) { return }
// LoadService NOP
func (s *NopStorage) LoadService(serviceID string) (service types.Service, err error) { return }
// DeleteService NOP
func (s *NopStorage) DeleteService(serviceID string) (err error) { return }
// LoadServicesForUser NOP
func (s *NopStorage) LoadServicesForUser(serviceUserID id.UserID) (services []types.Service, err error) { return }
// LoadServicesByType NOP
func (s *NopStorage) LoadServicesByType(serviceType string) (services []types.Service, err error) { return }
// StoreService NOP
func (s *NopStorage) StoreService(service types.Service) (oldService types.Service, err error) { return }
// LoadAuthRealm NOP
func (s *NopStorage) LoadAuthRealm(realmID string) (realm types.AuthRealm, err error) { return }
// LoadAuthRealmsByType NOP
func (s *NopStorage) LoadAuthRealmsByType(realmType string) (realms []types.AuthRealm, err error) { return }
// StoreAuthRealm NOP
func (s *NopStorage) StoreAuthRealm(realm types.AuthRealm) (old types.AuthRealm, err error) { return }
// StoreAuthSession NOP
func (s *NopStorage) StoreAuthSession(session types.AuthSession) (old types.AuthSession, err error) { return }
// LoadAuthSessionByUser NOP
func (s *NopStorage) LoadAuthSessionByUser(realmID string, userID id.UserID) (session types.AuthSession, err error) { return }
// LoadAuthSessionByID NOP
func (s *NopStorage) LoadAuthSessionByID(realmID, sessionID string) (session types.AuthSession, err error) { return }
// RemoveAuthSession NOP
func (s *NopStorage) RemoveAuthSession(realmID string, userID id.UserID) error { return nil }
// LoadBotOptions NOP
func (s *NopStorage) LoadBotOptions(userID id.UserID, roomID id.RoomID) (opts types.BotOptions, err error) { return }
// StoreBotOptions NOP
func (s *NopStorage) StoreBotOptions(opts types.BotOptions) (oldOpts types.BotOptions, err error) { return }
// InsertFromConfig NOP
func (s *NopStorage) InsertFromConfig(cfg *api.ConfigFile) error { return nil }
|