diff options
| author | Max Resnick <max@ofmax.li> | 2020-04-19 23:13:51 -0700 |
|---|---|---|
| committer | Max Resnick <max@ofmax.li> | 2020-05-21 22:24:27 -0700 |
| commit | 4e77ad5762539d8f9edf40d2668a998c38e834d3 (patch) | |
| tree | 91da3dfce1fa77ee04aa9045908f6142712d60f5 /internal/db/redis/image.go | |
| parent | ff1a5122005017d729fea29ec86851609d2991b8 (diff) | |
| download | iserv-4e77ad5762539d8f9edf40d2668a998c38e834d3.tar.gz | |
post w/ some meta working
Diffstat (limited to '')
| -rw-r--r-- | internal/db/redis/image.go | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/internal/db/redis/image.go b/internal/db/redis/image.go new file mode 100644 index 0000000..6814fb7 --- /dev/null +++ b/internal/db/redis/image.go @@ -0,0 +1,35 @@ +package redis + +import ( + "fmt" + "log" + + "github.com/gomodule/redigo/redis" + + "git.ofmax.li/iserv/internal/image" +) + +const V1FilePathFmt = "filepath:up/%s" + +// ImageRepo deps. for storage +type ImageRepo struct { + db *redis.Pool +} + +// NewRedisImageRepo +func NewRedisImageRepo(conn *redis.Pool) *ImageRepo { + return &ImageRepo{ + conn, + } +} + +func (r *ImageRepo) AddNewFile(filename string, meta *image.PostMeta, timeout int) error { + conn := r.db.Get() + defer conn.Close() + key := fmt.Sprintf(V1FilePathFmt, filename) + _, err := conn.Do("HMSET", redis.Args{}.Add(key).AddFlat(meta)...) + if err != nil { + log.Fatal(err) + } + return err +} |