-- NOTE: This file is auto generated by ./sql-generator -- SharedLinkRepository.get select "shared_links".*, coalesce( json_agg("a") filter ( where "a"."id" is not null ), '[]' ) as "assets", to_json("album") as "album" from "shared_links" left join lateral ( select "assets".*, to_json("exifInfo") as "exifInfo" from "shared_link__asset" inner join "assets" on "assets"."id" = "shared_link__asset"."assetsId" inner join lateral ( select "exif".* from "exif" where "exif"."assetId" = "assets"."id" ) as "exifInfo" on true where "shared_links"."id" = "shared_link__asset"."sharedLinksId" and "assets"."deletedAt" is null order by "assets"."fileCreatedAt" asc ) as "a" on true left join lateral ( select "albums".*, coalesce( json_agg("assets") filter ( where "assets"."id" is not null ), '[]' ) as "assets", to_json("owner") as "owner" from "albums" left join "albums_assets_assets" on "albums_assets_assets"."albumsId" = "albums"."id" left join lateral ( select "assets".*, to_json("assets_exifInfo") as "exifInfo" from "assets" inner join lateral ( select "exif".* from "exif" where "exif"."assetId" = "assets"."id" ) as "assets_exifInfo" on true where "albums_assets_assets"."assetsId" = "assets"."id" and "assets"."deletedAt" is null order by "assets"."fileCreatedAt" asc ) as "assets" on true inner join lateral ( select "users".* from "users" where "users"."id" = "albums"."ownerId" and "users"."deletedAt" is null ) as "owner" on true where "albums"."id" = "shared_links"."albumId" and "albums"."deletedAt" is null group by "albums"."id", "owner".* ) as "album" on true where "shared_links"."id" = $1 and "shared_links"."userId" = $2 and ( "shared_links"."type" = $3 or "album"."id" is not null ) group by "shared_links"."id", "album".* order by "shared_links"."createdAt" desc -- SharedLinkRepository.getAll select distinct on ("shared_links"."createdAt") "shared_links".*, to_json("assets") as "assets", to_json("album") as "album" from "shared_links" left join "shared_link__asset" on "shared_link__asset"."sharedLinksId" = "shared_links"."id" left join lateral ( select json_agg("assets") as "assets" from "assets" where "assets"."id" = "shared_link__asset"."assetsId" and "assets"."deletedAt" is null ) as "assets" on true left join lateral ( select "albums".*, to_json("owner") as "owner" from "albums" inner join lateral ( select "users"."id", "users"."email", "users"."createdAt", "users"."profileImagePath", "users"."isAdmin", "users"."shouldChangePassword", "users"."deletedAt", "users"."oauthId", "users"."updatedAt", "users"."storageLabel", "users"."name", "users"."quotaSizeInBytes", "users"."quotaUsageInBytes", "users"."status", "users"."profileChangedAt" from "users" where "users"."id" = "albums"."ownerId" and "users"."deletedAt" is null ) as "owner" on true where "albums"."id" = "shared_links"."albumId" and "albums"."deletedAt" is null ) as "album" on true where "shared_links"."userId" = $1 and ( "shared_links"."type" = $2 or "album"."id" is not null ) and "shared_links"."albumId" = $3 order by "shared_links"."createdAt" desc -- SharedLinkRepository.getByKey select "shared_links"."id", "shared_links"."userId", "shared_links"."expiresAt", "shared_links"."showExif", "shared_links"."allowUpload", "shared_links"."allowDownload", "shared_links"."password", ( select to_json(obj) from ( select "users"."id", "users"."name", "users"."email", "users"."isAdmin", "users"."quotaUsageInBytes", "users"."quotaSizeInBytes" from "users" where "users"."id" = "shared_links"."userId" ) as obj ) as "user" from "shared_links" left join "albums" on "albums"."id" = "shared_links"."albumId" where "shared_links"."key" = $1 and "albums"."deletedAt" is null and ( "shared_links"."type" = $2 or "albums"."id" is not null )