aboutsummaryrefslogtreecommitdiff
path: root/internal/db/redis/image.go
diff options
context:
space:
mode:
authorMax Resnick <max@ofmax.li>2020-04-19 23:13:51 -0700
committerMax Resnick <max@ofmax.li>2020-05-21 22:24:27 -0700
commit4e77ad5762539d8f9edf40d2668a998c38e834d3 (patch)
tree91da3dfce1fa77ee04aa9045908f6142712d60f5 /internal/db/redis/image.go
parentff1a5122005017d729fea29ec86851609d2991b8 (diff)
downloadiserv-4e77ad5762539d8f9edf40d2668a998c38e834d3.tar.gz
post w/ some meta working
Diffstat (limited to 'internal/db/redis/image.go')
-rw-r--r--internal/db/redis/image.go35
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
+}