Files
immich/server/src/queries/shared.link.repository.sql

197 lines
4.7 KiB
MySQL
Raw Normal View History

-- 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
)