dumb storage

This commit is contained in:
bel
2024-04-11 23:04:25 -06:00
parent ea902cef86
commit 13a1b2e3cd

View File

@@ -1,6 +1,13 @@
package main package main
import "context" import (
"context"
"errors"
)
var (
ErrNotFound = errors.New("not found")
)
type Storage struct { type Storage struct {
driver Driver driver Driver
@@ -14,8 +21,17 @@ func NewStorage(driver Driver) Storage {
return Storage{driver: driver} return Storage{driver: driver}
} }
func (s Storage) Enqueue(ctx context.Context, m Message) error { func (s Storage) Upsert(ctx context.Context, m Message) error {
return s.driver.Set(ctx, "storage", m.ID, m.Serialize())
} }
func (s Storage) Dequeue(ctx context.Context, m Message) error { func (s Storage) Get(ctx context.Context, id string) (Message, error) {
b, err := s.driver.Get(ctx, "storage", id)
if err != nil {
return Message{}, err
}
if b == nil {
return Message{}, ErrNotFound
}
return MustDeserialize(b), nil
} }