From 77c2e6aca2dc0f851f55e30a0f49c9ee7c2c952e Mon Sep 17 00:00:00 2001 From: Max Resnick Date: Sat, 27 Jun 2020 21:23:44 -0700 Subject: adds post meta, basic template for single image --- internal/db/redis/image.go | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'internal/db/redis') diff --git a/internal/db/redis/image.go b/internal/db/redis/image.go index 1f4e8fa..f216531 100644 --- a/internal/db/redis/image.go +++ b/internal/db/redis/image.go @@ -1,6 +1,7 @@ package redis import ( + "errors" "fmt" "log" @@ -11,6 +12,8 @@ import ( const V1FilePathFmt = "v1imagepost:%s" +var ErrNotFound error = errors.New("Not Found") + // ImageRepo deps. for storage type ImageRepo struct { db *redis.Pool @@ -23,14 +26,14 @@ func NewRedisImageRepo(conn *redis.Pool) *ImageRepo { } } -func fileKey(filename, V1FilePathFmt string) string { - return fmt.Sprintf(V1FilePathFmt, filename) +func fileKey(imageID, V1FilePathFmt string) string { + return fmt.Sprintf(V1FilePathFmt, imageID) } -func (r *ImageRepo) AddNewFile(filename string, meta *image.PostMeta, timeout int) error { +func (r *ImageRepo) AddNewFile(imageID string, meta *image.PostMeta, timeout int) error { conn := r.db.Get() defer conn.Close() - key := fileKey(filename, V1FilePathFmt) + key := fileKey(imageID, V1FilePathFmt) _, err := conn.Do("HMSET", redis.Args{}.Add(key).AddFlat(meta)...) if err != nil { log.Fatal(err) @@ -45,8 +48,11 @@ func (r *ImageRepo) GetFile(fileUrl string) (*image.PostMeta, error) { key := fileKey(fileUrl, V1FilePathFmt) res, err := redis.Values(conn.Do("HGETALL", key)) if err != nil { - return &image.PostMeta{}, err + return &image.PostMeta{}, ErrNotFound } err = redis.ScanStruct(res, imageMeta) + if imageMeta.FilePath == "" { + return &image.PostMeta{}, ErrNotFound + } return imageMeta, err } -- cgit v1.2.3