summaryrefslogtreecommitdiff
path: root/internal/storage/inmem.go
blob: 25432fbaaea52b79502a004f2fa0e6a3b9b118ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package storage

import (
	"fmt"

	"github.com/sirupsen/logrus"
	"github.com/superseriousbusiness/gotosocial/internal/config"
)

func NewInMem(c *config.Config, log *logrus.Logger) (Storage, error) {
	return &inMemStorage{
		stored: make(map[string][]byte),
	}, nil
}

type inMemStorage struct {
	stored map[string][]byte
}

func (s *inMemStorage) StoreFileAt(path string, data []byte) error {
	s.stored[path] = data
	return nil
}

func (s *inMemStorage) RetrieveFileFrom(path string) ([]byte, error) {
	d, ok := s.stored[path]
	if !ok {
		return nil, fmt.Errorf("no data found at path %s", path)
	}
	return d, nil
}