add connect / disconnect to adapters.

This commit is contained in:
Miroslav Šedivý
2020-12-06 18:11:11 +01:00
parent 6ca1e27f01
commit 35cd0f5270
6 changed files with 87 additions and 42 deletions

View File

@ -10,6 +10,14 @@ func New() types.MembersDatabase {
type MembersDatabaseCtx struct {}
func (manager *MembersDatabaseCtx) Connect() error {
return nil
}
func (manager *MembersDatabaseCtx) Disconnect() error {
return nil
}
func (manager *MembersDatabaseCtx) Insert(id string, profile types.MemberProfile) error {
return nil
}
@ -22,6 +30,6 @@ func (manager *MembersDatabaseCtx) Delete(id string) error {
return nil
}
func (manager *MembersDatabaseCtx) Select() map[string]types.MemberProfile {
return map[string]types.MemberProfile{}
func (manager *MembersDatabaseCtx) Select() (map[string]types.MemberProfile, error) {
return map[string]types.MemberProfile{}, nil
}

View File

@ -7,8 +7,6 @@ import (
"fmt"
"sync"
"github.com/rs/zerolog/log"
"demodesk/neko/internal/types"
)
@ -24,6 +22,14 @@ type MembersDatabaseCtx struct {
mu sync.Mutex
}
func (manager *MembersDatabaseCtx) Connect() error {
return nil
}
func (manager *MembersDatabaseCtx) Disconnect() error {
return nil
}
func (manager *MembersDatabaseCtx) Insert(id string, profile types.MemberProfile) error {
manager.mu.Lock()
defer manager.mu.Unlock()
@ -81,17 +87,12 @@ func (manager *MembersDatabaseCtx) Delete(id string) error {
return manager.serialize(profiles)
}
func (manager *MembersDatabaseCtx) Select() map[string]types.MemberProfile {
func (manager *MembersDatabaseCtx) Select() (map[string]types.MemberProfile, error) {
manager.mu.Lock()
defer manager.mu.Unlock()
profiles, err := manager.deserialize()
if err != nil {
// TODO: Refactor.
log.Panic().Err(err).Msg("could not read members file")
}
return profiles
return profiles, err
}
func (manager *MembersDatabaseCtx) deserialize() (map[string]types.MemberProfile, error) {

View File

@ -19,6 +19,14 @@ type MembersDatabaseCtx struct {
mu sync.Mutex
}
func (manager *MembersDatabaseCtx) Connect() error {
return nil
}
func (manager *MembersDatabaseCtx) Disconnect() error {
return nil
}
func (manager *MembersDatabaseCtx) Insert(id string, profile types.MemberProfile) error {
manager.mu.Lock()
defer manager.mu.Unlock()
@ -58,9 +66,9 @@ func (manager *MembersDatabaseCtx) Delete(id string) error {
return nil
}
func (manager *MembersDatabaseCtx) Select() map[string]types.MemberProfile {
func (manager *MembersDatabaseCtx) Select() (map[string]types.MemberProfile, error) {
manager.mu.Lock()
defer manager.mu.Unlock()
return manager.profiles
return manager.profiles, nil
}