fix(server): deduplicate shared links in getAll query (#26395)

This commit is contained in:
Min Idzelis
2026-03-01 14:41:15 -05:00
committed by GitHub
parent 02d356f5dd
commit 84abad564e
4 changed files with 508 additions and 29 deletions
+24 -16
View File
@@ -102,22 +102,30 @@ order by
"shared_link"."createdAt" desc
-- SharedLinkRepository.getAll
select distinct
on ("shared_link"."createdAt") "shared_link".*,
"assets"."assets",
select
"shared_link".*,
(
select
coalesce(json_agg(agg), '[]')
from
(
select
"asset".*
from
"shared_link_asset"
inner join "asset" on "asset"."id" = "shared_link_asset"."assetId"
where
"shared_link"."id" = "shared_link_asset"."sharedLinkId"
and "asset"."deletedAt" is null
order by
"asset"."fileCreatedAt" asc
limit
$1
) as agg
) as "assets",
to_json("album") as "album"
from
"shared_link"
left join "shared_link_asset" on "shared_link_asset"."sharedLinkId" = "shared_link"."id"
left join lateral (
select
json_agg("asset") as "assets"
from
"asset"
where
"asset"."id" = "shared_link_asset"."assetId"
and "asset"."deletedAt" is null
) as "assets" on true
left join lateral (
select
"album".*,
@@ -152,12 +160,12 @@ from
and "album"."deletedAt" is null
) as "album" on true
where
"shared_link"."userId" = $1
"shared_link"."userId" = $2
and (
"shared_link"."type" = $2
"shared_link"."type" = $3
or "album"."id" is not null
)
and "shared_link"."albumId" = $3
and "shared_link"."albumId" = $4
order by
"shared_link"."createdAt" desc