| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- package memory
- import (
- "context"
- "excalidraw-complete/core"
- "fmt"
- "github.com/oklog/ulid/v2"
- "github.com/sirupsen/logrus"
- )
- 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) {
- log := logrus.WithField("document_id", id)
- if val, ok := savedDocuments[id]; ok {
- log.Info("Document retrieved successfully")
- return &val, nil
- }
- log.WithField("error", "document not found").Warn("Document with specified ID not found")
- 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
- log := logrus.WithFields(logrus.Fields{
- "document_id": id,
- "data_length": len(document.Data.Bytes()),
- })
- log.Info("Document created successfully")
- return id, nil
- }
|