diff options
| author | Max Resnick <max@ofmax.li> | 2020-06-27 21:23:44 -0700 |
|---|---|---|
| committer | Max Resnick <max@ofmax.li> | 2020-07-26 22:16:40 -0700 |
| commit | 77c2e6aca2dc0f851f55e30a0f49c9ee7c2c952e (patch) | |
| tree | bf5b062468b21c9b61d96e2d73dfbc183fc58dc9 /internal/db | |
| parent | 85e7eaa3a1c9024c02cc9a63744cdfb144cc3737 (diff) | |
| download | iserv-77c2e6aca2dc0f851f55e30a0f49c9ee7c2c952e.tar.gz | |
adds post meta, basic template for single image
Diffstat (limited to 'internal/db')
| -rw-r--r-- | internal/db/redis/image.go | 16 |
1 files changed, 11 insertions, 5 deletions
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 } |