Files
Excalidraw/documents/memory/documents.go
T
2024-03-28 23:57:33 +00:00

32 lines
647 B
Go

package memory
import (
"context"
"excalidraw-backend/core"
"fmt"
"github.com/oklog/ulid/v2"
)
var savedDocuments = make(map[string]core.Document)
type documentStore struct {
}
func NewDocumentStore() core.DocumentStore {
return &documentStore{}
}
func (s *documentStore) FindID(ctx context.Context, id string) (*core.Document, error) {
if val, ok := savedDocuments[id]; ok {
return &val, nil
}
return nil, fmt.Errorf("document with id %s not found", id)
}
func (s *documentStore) Create(ctx context.Context, document *core.Document) (string, error) {
id := ulid.Make().String()
savedDocuments[id] = *document
return id, nil
}