You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

140 lines
4.3 KiB

package database
import (
"github.com/matrix-org/go-neb/api"
"github.com/matrix-org/go-neb/types"
)
// 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 string) (config api.ClientConfig, err error)
UpdateNextBatch(userID, nextBatch string) (err error)
LoadNextBatch(userID string) (nextBatch string, err error)
LoadService(serviceID string) (service types.Service, err error)
DeleteService(serviceID string) (err error)
LoadServicesForUser(serviceUserID string) (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, userID string) (session types.AuthSession, err error)
LoadAuthSessionByID(realmID, sessionID string) (session types.AuthSession, err error)
RemoveAuthSession(realmID, userID string) error
LoadBotOptions(userID, roomID string) (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 string) (config api.ClientConfig, err error) {
return
}
// UpdateNextBatch NOP
func (s *NopStorage) UpdateNextBatch(userID, nextBatch string) (err error) {
return
}
// LoadNextBatch NOP
func (s *NopStorage) LoadNextBatch(userID string) (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 string) (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, userID string) (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, userID string) error {
return nil
}
// LoadBotOptions NOP
func (s *NopStorage) LoadBotOptions(userID, roomID string) (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
}