package stormstore import ( "context" "github.com/asdine/storm" "github.com/lmika/awstools/internal/sqs-browse/models" "github.com/pkg/errors" ) type Store struct { db *storm.DB } // TODO: should probably be a workspace provider func NewStore(filename string) (*Store, error) { db, err := storm.Open(filename) if err != nil { return nil, errors.Wrapf(err, "cannot open store %v", filename) } return &Store{db: db}, nil } func (s *Store) Close() { s.db.Close() } func (s *Store) Save(ctx context.Context, msg *models.Message) error { return s.db.Save(msg) }