Merge branch 'dev-ars' into dev
Some checks failed
Build and Deploy Go App / build (push) Failing after 2m21s
Build and Deploy Go App / deploy (push) Has been skipped

This commit is contained in:
Iron_Felix 2025-11-24 05:29:17 +03:00
commit 17ebba47c9
2 changed files with 32 additions and 32 deletions

View file

@ -194,10 +194,10 @@ WHERE
AND ( AND (
-- Если массив пуст (NULL или []) — не фильтруем -- Если массив пуст (NULL или []) — не фильтруем
cardinality(sqlc.arg('title_statuses')::text[]) = 0 cardinality(sqlc.arg('title_statuses')::title_status_t[]) = 0
OR 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('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) AND (sqlc.narg('release_year')::int IS NULL OR t.release_year = sqlc.narg('release_year')::int)
@ -327,14 +327,14 @@ WHERE
AND ( AND (
-- Если массив пуст (NULL или []) — не фильтруем -- Если массив пуст (NULL или []) — не фильтруем
cardinality(sqlc.arg('title_statuses')::text[]) = 0 cardinality(sqlc.arg('title_statuses')::title_status_t[]) = 0
OR OR
t.title_status = ANY(sqlc.arg('title_statuses')::text[]) t.title_status = ANY(sqlc.arg('title_statuses')::title_status_t[])
) )
AND ( AND (
cardinality(sqlc.arg('usertitle_statuses')::text[]) = 0 cardinality(sqlc.arg('usertitle_statuses')::usertitle_status_t[]) = 0
OR 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('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) AND (sqlc.narg('rating')::float IS NULL OR t.rating >= sqlc.narg('rating')::float)

View file

@ -435,10 +435,10 @@ WHERE
AND ( AND (
-- Если массив пуст (NULL или []) не фильтруем -- Если массив пуст (NULL или []) не фильтруем
cardinality($7::text[]) = 0 cardinality($7::title_status_t[]) = 0
OR 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 ($8::float IS NULL OR t.rating >= $8::float)
AND ($9::int IS NULL OR t.release_year = $9::int) AND ($9::int IS NULL OR t.release_year = $9::int)
@ -475,7 +475,7 @@ type SearchTitlesParams struct {
CursorID *int64 `json:"cursor_id"` CursorID *int64 `json:"cursor_id"`
CursorRating *float64 `json:"cursor_rating"` CursorRating *float64 `json:"cursor_rating"`
Word *string `json:"word"` Word *string `json:"word"`
TitleStatuses []string `json:"title_statuses"` TitleStatuses []TitleStatusT `json:"title_statuses"`
Rating *float64 `json:"rating"` Rating *float64 `json:"rating"`
ReleaseYear *int32 `json:"release_year"` ReleaseYear *int32 `json:"release_year"`
ReleaseSeason *ReleaseSeasonT `json:"release_season"` ReleaseSeason *ReleaseSeasonT `json:"release_season"`
@ -575,12 +575,12 @@ SELECT
)::jsonb as tag_names, )::jsonb as tag_names,
s.studio_name as studio_name s.studio_name as studio_name
FROM usertitles as u FROM usertitles as u
JOIN titles as t ON (u.title_id = t.id) JOIN titles as t ON (u.title_id = t.id)
LEFT JOIN images as i ON (t.poster_id = i.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 title_tags as tt ON (t.id = tt.title_id)
LEFT JOIN tags as g ON (tt.tag_id = g.id) LEFT JOIN tags as g ON (tt.tag_id = g.id)
LEFT JOIN studios as s ON (t.studio_id = s.id) LEFT JOIN studios as s ON (t.studio_id = s.id)
WHERE WHERE
CASE CASE
@ -650,14 +650,14 @@ WHERE
AND ( AND (
-- Если массив пуст (NULL или []) не фильтруем -- Если массив пуст (NULL или []) не фильтруем
cardinality($7::text[]) = 0 cardinality($7::title_status_t[]) = 0
OR OR
t.title_status = ANY($7::text[]) t.title_status = ANY($7::title_status_t[])
) )
AND ( AND (
cardinality($8::text[]) = 0 cardinality($8::usertitle_status_t[]) = 0
OR OR
u.status = ANY($8::text[]) u.status = ANY($8::usertitle_status_t[])
) )
AND ($9::int IS NULL OR u.rate >= $9::int) AND ($9::int IS NULL OR u.rate >= $9::int)
AND ($10::float IS NULL OR t.rating >= $10::float) AND ($10::float IS NULL OR t.rating >= $10::float)
@ -691,19 +691,19 @@ LIMIT COALESCE($13::int, 100)
` `
type SearchUserTitlesParams struct { type SearchUserTitlesParams struct {
Forward bool `json:"forward"` Forward bool `json:"forward"`
SortBy string `json:"sort_by"` SortBy string `json:"sort_by"`
CursorYear *int32 `json:"cursor_year"` CursorYear *int32 `json:"cursor_year"`
CursorID *int64 `json:"cursor_id"` CursorID *int64 `json:"cursor_id"`
CursorRating *float64 `json:"cursor_rating"` CursorRating *float64 `json:"cursor_rating"`
Word *string `json:"word"` Word *string `json:"word"`
TitleStatuses []string `json:"title_statuses"` TitleStatuses []TitleStatusT `json:"title_statuses"`
UsertitleStatuses []string `json:"usertitle_statuses"` UsertitleStatuses []UsertitleStatusT `json:"usertitle_statuses"`
Rate *int32 `json:"rate"` Rate *int32 `json:"rate"`
Rating *float64 `json:"rating"` Rating *float64 `json:"rating"`
ReleaseYear *int32 `json:"release_year"` ReleaseYear *int32 `json:"release_year"`
ReleaseSeason *ReleaseSeasonT `json:"release_season"` ReleaseSeason *ReleaseSeasonT `json:"release_season"`
Limit *int32 `json:"limit"` Limit *int32 `json:"limit"`
} }
type SearchUserTitlesRow struct { type SearchUserTitlesRow struct {