summaryrefslogtreecommitdiff
path: root/internal/api/handlers.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-04-30 16:42:23 +0300
committerPaul Buetow <paul@buetow.org>2026-04-30 16:42:23 +0300
commitfea0840ea65afb2b29abb378bd3c96697e0bbf4b (patch)
tree9e18fa9d56ecae1a8c3014434eae9a5da82e3919 /internal/api/handlers.go
parent6662a07a58d8d64792501864893ba543581c4dd8 (diff)
task ia: fix media listing/filtering semantics (favorites bool, filesize filters, permission scoping)
Diffstat (limited to 'internal/api/handlers.go')
-rw-r--r--internal/api/handlers.go16
1 files changed, 12 insertions, 4 deletions
diff --git a/internal/api/handlers.go b/internal/api/handlers.go
index e964b92..46ab41e 100644
--- a/internal/api/handlers.go
+++ b/internal/api/handlers.go
@@ -352,10 +352,8 @@ func parseMediaListQuery(q url.Values) repository.MediaFilter {
t := model.MediaType(v)
filter.Type = &t
}
- if v := q.Get("favorites"); v != "" {
- if uid, err := strconv.ParseInt(v, 10, 64); err == nil {
- filter.Favorites = &uid
- }
+ if v := q.Get("favorites"); v == "true" || v == "1" {
+ filter.Favorites = true
}
if v := q.Get("tags"); v != "" {
filter.Tags = strings.Split(v, ",")
@@ -370,6 +368,16 @@ func parseMediaListQuery(q url.Values) repository.MediaFilter {
filter.MaxDuration = &f
}
}
+ if v := q.Get("filesize_min"); v != "" {
+ if n, err := strconv.ParseInt(v, 10, 64); err == nil {
+ filter.MinFileSize = &n
+ }
+ }
+ if v := q.Get("filesize_max"); v != "" {
+ if n, err := strconv.ParseInt(v, 10, 64); err == nil {
+ filter.MaxFileSize = &n
+ }
+ }
if v := q.Get("limit"); v != "" {
if n, err := strconv.Atoi(v); err == nil && n > 0 && n <= 1000 {
filter.Limit = n