This commit is contained in:
lbenedar
2026-03-18 18:00:18 +03:00
parent a309576cfb
commit 95d46644e0
2 changed files with 11 additions and 2 deletions

View File

@@ -38,3 +38,11 @@ func (f Filters) sortDirection() string {
} }
return "ASC" return "ASC"
} }
func (f Filters) limit() int {
return f.PageSize
}
func (f Filters) offset() int {
return (f.Page - 1) * f.PageSize
}

View File

@@ -141,12 +141,13 @@ func (m MovieModel) GetAll(title string, genres []string, filter Filters) ([]*Mo
FROM movies FROM movies
WHERE (to_tsvector('simple', title) @@ plainto_tsquery('simple', $1) OR $1 = '') WHERE (to_tsvector('simple', title) @@ plainto_tsquery('simple', $1) OR $1 = '')
AND (genres @> $2 OR $2 = '{}') AND (genres @> $2 OR $2 = '{}')
ORDER BY %s %s, id ASC`, filter.sortColumn(), filter.sortDirection()) ORDER BY %s %s, id ASC
LIMIT $3 OFFSET $4`, filter.sortColumn(), filter.sortDirection())
ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second) ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
defer cancel() defer cancel()
rows, err := m.DB.QueryContext(ctx, query, title, pq.Array(genres)) rows, err := m.DB.QueryContext(ctx, query, title, pq.Array(genres), filter.limit(), filter.offset())
if err != nil { if err != nil {
return nil, err return nil, err
} }