Merge branch 'dev-ars' into dev
This commit is contained in:
commit
17ebba47c9
2 changed files with 32 additions and 32 deletions
|
|
@ -194,10 +194,10 @@ WHERE
|
|||
|
||||
AND (
|
||||
-- Если массив пуст (NULL или []) — не фильтруем
|
||||
cardinality(sqlc.arg('title_statuses')::text[]) = 0
|
||||
cardinality(sqlc.arg('title_statuses')::title_status_t[]) = 0
|
||||
OR
|
||||
-- Иначе: статус есть в списке
|
||||
t.title_status = ANY(sqlc.arg('title_statuses')::text[])
|
||||
t.title_status = ANY(sqlc.arg('title_statuses')::title_status_t[])
|
||||
)
|
||||
AND (sqlc.narg('rating')::float IS NULL OR t.rating >= sqlc.narg('rating')::float)
|
||||
AND (sqlc.narg('release_year')::int IS NULL OR t.release_year = sqlc.narg('release_year')::int)
|
||||
|
|
@ -327,14 +327,14 @@ WHERE
|
|||
|
||||
AND (
|
||||
-- Если массив пуст (NULL или []) — не фильтруем
|
||||
cardinality(sqlc.arg('title_statuses')::text[]) = 0
|
||||
cardinality(sqlc.arg('title_statuses')::title_status_t[]) = 0
|
||||
OR
|
||||
t.title_status = ANY(sqlc.arg('title_statuses')::text[])
|
||||
t.title_status = ANY(sqlc.arg('title_statuses')::title_status_t[])
|
||||
)
|
||||
AND (
|
||||
cardinality(sqlc.arg('usertitle_statuses')::text[]) = 0
|
||||
cardinality(sqlc.arg('usertitle_statuses')::usertitle_status_t[]) = 0
|
||||
OR
|
||||
u.status = ANY(sqlc.arg('usertitle_statuses')::text[])
|
||||
u.status = ANY(sqlc.arg('usertitle_statuses')::usertitle_status_t[])
|
||||
)
|
||||
AND (sqlc.narg('rate')::int IS NULL OR u.rate >= sqlc.narg('rate')::int)
|
||||
AND (sqlc.narg('rating')::float IS NULL OR t.rating >= sqlc.narg('rating')::float)
|
||||
|
|
|
|||
|
|
@ -435,10 +435,10 @@ WHERE
|
|||
|
||||
AND (
|
||||
-- Если массив пуст (NULL или []) — не фильтруем
|
||||
cardinality($7::text[]) = 0
|
||||
cardinality($7::title_status_t[]) = 0
|
||||
OR
|
||||
-- Иначе: статус есть в списке
|
||||
t.title_status = ANY($7::text[])
|
||||
t.title_status = ANY($7::title_status_t[])
|
||||
)
|
||||
AND ($8::float IS NULL OR t.rating >= $8::float)
|
||||
AND ($9::int IS NULL OR t.release_year = $9::int)
|
||||
|
|
@ -475,7 +475,7 @@ type SearchTitlesParams struct {
|
|||
CursorID *int64 `json:"cursor_id"`
|
||||
CursorRating *float64 `json:"cursor_rating"`
|
||||
Word *string `json:"word"`
|
||||
TitleStatuses []string `json:"title_statuses"`
|
||||
TitleStatuses []TitleStatusT `json:"title_statuses"`
|
||||
Rating *float64 `json:"rating"`
|
||||
ReleaseYear *int32 `json:"release_year"`
|
||||
ReleaseSeason *ReleaseSeasonT `json:"release_season"`
|
||||
|
|
@ -575,12 +575,12 @@ SELECT
|
|||
)::jsonb as tag_names,
|
||||
s.studio_name as studio_name
|
||||
|
||||
FROM usertitles as u
|
||||
JOIN titles as t ON (u.title_id = t.id)
|
||||
LEFT JOIN images as i ON (t.poster_id = i.id)
|
||||
LEFT JOIN title_tags as tt ON (t.id = tt.title_id)
|
||||
LEFT JOIN tags as g ON (tt.tag_id = g.id)
|
||||
LEFT JOIN studios as s ON (t.studio_id = s.id)
|
||||
FROM usertitles as u
|
||||
JOIN titles as t ON (u.title_id = t.id)
|
||||
LEFT JOIN images as i ON (t.poster_id = i.id)
|
||||
LEFT JOIN title_tags as tt ON (t.id = tt.title_id)
|
||||
LEFT JOIN tags as g ON (tt.tag_id = g.id)
|
||||
LEFT JOIN studios as s ON (t.studio_id = s.id)
|
||||
|
||||
WHERE
|
||||
CASE
|
||||
|
|
@ -650,14 +650,14 @@ WHERE
|
|||
|
||||
AND (
|
||||
-- Если массив пуст (NULL или []) — не фильтруем
|
||||
cardinality($7::text[]) = 0
|
||||
cardinality($7::title_status_t[]) = 0
|
||||
OR
|
||||
t.title_status = ANY($7::text[])
|
||||
t.title_status = ANY($7::title_status_t[])
|
||||
)
|
||||
AND (
|
||||
cardinality($8::text[]) = 0
|
||||
cardinality($8::usertitle_status_t[]) = 0
|
||||
OR
|
||||
u.status = ANY($8::text[])
|
||||
u.status = ANY($8::usertitle_status_t[])
|
||||
)
|
||||
AND ($9::int IS NULL OR u.rate >= $9::int)
|
||||
AND ($10::float IS NULL OR t.rating >= $10::float)
|
||||
|
|
@ -691,19 +691,19 @@ LIMIT COALESCE($13::int, 100)
|
|||
`
|
||||
|
||||
type SearchUserTitlesParams struct {
|
||||
Forward bool `json:"forward"`
|
||||
SortBy string `json:"sort_by"`
|
||||
CursorYear *int32 `json:"cursor_year"`
|
||||
CursorID *int64 `json:"cursor_id"`
|
||||
CursorRating *float64 `json:"cursor_rating"`
|
||||
Word *string `json:"word"`
|
||||
TitleStatuses []string `json:"title_statuses"`
|
||||
UsertitleStatuses []string `json:"usertitle_statuses"`
|
||||
Rate *int32 `json:"rate"`
|
||||
Rating *float64 `json:"rating"`
|
||||
ReleaseYear *int32 `json:"release_year"`
|
||||
ReleaseSeason *ReleaseSeasonT `json:"release_season"`
|
||||
Limit *int32 `json:"limit"`
|
||||
Forward bool `json:"forward"`
|
||||
SortBy string `json:"sort_by"`
|
||||
CursorYear *int32 `json:"cursor_year"`
|
||||
CursorID *int64 `json:"cursor_id"`
|
||||
CursorRating *float64 `json:"cursor_rating"`
|
||||
Word *string `json:"word"`
|
||||
TitleStatuses []TitleStatusT `json:"title_statuses"`
|
||||
UsertitleStatuses []UsertitleStatusT `json:"usertitle_statuses"`
|
||||
Rate *int32 `json:"rate"`
|
||||
Rating *float64 `json:"rating"`
|
||||
ReleaseYear *int32 `json:"release_year"`
|
||||
ReleaseSeason *ReleaseSeasonT `json:"release_season"`
|
||||
Limit *int32 `json:"limit"`
|
||||
}
|
||||
|
||||
type SearchUserTitlesRow struct {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue