Implement memory only database to test configapi

pull/89/head
Aloïs Micard 3 years ago
parent 32cb7e63e0
commit 2fd03d2112
No known key found for this signature in database
GPG Key ID: 1A0EB82F071F5EFE

@ -2,6 +2,7 @@ package configapi
import (
"github.com/creekorful/trandoshan/internal/configapi/api"
"github.com/creekorful/trandoshan/internal/configapi/database"
"github.com/creekorful/trandoshan/internal/configapi/service"
"github.com/creekorful/trandoshan/internal/event"
"github.com/creekorful/trandoshan/internal/logging"
@ -42,7 +43,7 @@ func execute(ctx *cli.Context) error {
}
// Create the ConfigAPI service
s, err := service.NewService(nil, pub)
s, err := service.NewService(&database.MemoryDatabase{}, pub)
state := state{
api: s,

@ -0,0 +1,26 @@
package database
import "sync"
// MemoryDatabase is an memory only database structure
type MemoryDatabase struct {
values map[string][]byte
mutex sync.Mutex
}
// Get value using his key
func (md *MemoryDatabase) Get(key string) ([]byte, error) {
md.mutex.Lock()
defer md.mutex.Unlock()
return md.values[key], nil
}
// Set value for given key
func (md *MemoryDatabase) Set(key string, value []byte) error {
md.mutex.Lock()
defer md.mutex.Unlock()
md.values[key] = value
return nil
}
Loading…
Cancel
Save