mirror of
https://github.com/immich-app/immich.git
synced 2025-11-14 18:43:20 -05:00
239 lines
5.5 KiB
SQL
239 lines
5.5 KiB
SQL
-- NOTE: This file is auto generated by ./sql-generator
|
|
|
|
-- SharedLinkRepository.get
|
|
select
|
|
"shared_link".*,
|
|
coalesce(
|
|
json_agg("a") filter (
|
|
where
|
|
"a"."id" is not null
|
|
),
|
|
'[]'
|
|
) as "assets",
|
|
to_json("album") as "album"
|
|
from
|
|
"shared_link"
|
|
left join lateral (
|
|
select
|
|
"asset".*,
|
|
to_json("exifInfo") as "exifInfo"
|
|
from
|
|
"shared_link_asset"
|
|
inner join "asset" on "asset"."id" = "shared_link_asset"."assetsId"
|
|
inner join lateral (
|
|
select
|
|
"asset_exif".*
|
|
from
|
|
"asset_exif"
|
|
where
|
|
"asset_exif"."assetId" = "asset"."id"
|
|
) as "exifInfo" on true
|
|
where
|
|
"shared_link"."id" = "shared_link_asset"."sharedLinksId"
|
|
and "asset"."deletedAt" is null
|
|
order by
|
|
"asset"."fileCreatedAt" asc
|
|
) as "a" on true
|
|
left join lateral (
|
|
select
|
|
"album".*,
|
|
coalesce(
|
|
json_agg(
|
|
"assets"
|
|
order by
|
|
"assets"."fileCreatedAt" asc
|
|
) filter (
|
|
where
|
|
"assets"."id" is not null
|
|
),
|
|
'[]'
|
|
) as "assets",
|
|
to_json("owner") as "owner"
|
|
from
|
|
"album"
|
|
left join "album_asset" on "album_asset"."albumsId" = "album"."id"
|
|
left join lateral (
|
|
select
|
|
"asset".*,
|
|
to_json("exifInfo") as "exifInfo"
|
|
from
|
|
"asset"
|
|
inner join lateral (
|
|
select
|
|
"asset_exif".*
|
|
from
|
|
"asset_exif"
|
|
where
|
|
"asset_exif"."assetId" = "asset"."id"
|
|
) as "exifInfo" on true
|
|
where
|
|
"album_asset"."assetsId" = "asset"."id"
|
|
and "asset"."deletedAt" is null
|
|
order by
|
|
"asset"."fileCreatedAt" asc
|
|
) as "assets" on true
|
|
inner join lateral (
|
|
select
|
|
"user".*
|
|
from
|
|
"user"
|
|
where
|
|
"user"."id" = "album"."ownerId"
|
|
and "user"."deletedAt" is null
|
|
) as "owner" on true
|
|
where
|
|
"album"."id" = "shared_link"."albumId"
|
|
and "album"."deletedAt" is null
|
|
group by
|
|
"album"."id",
|
|
"owner".*
|
|
) as "album" on true
|
|
where
|
|
"shared_link"."id" = $1
|
|
and "shared_link"."userId" = $2
|
|
and (
|
|
"shared_link"."type" = $3
|
|
or "album"."id" is not null
|
|
)
|
|
group by
|
|
"shared_link"."id",
|
|
"album".*
|
|
order by
|
|
"shared_link"."createdAt" desc
|
|
|
|
-- SharedLinkRepository.getAll
|
|
select distinct
|
|
on ("shared_link"."createdAt") "shared_link".*,
|
|
"assets"."assets",
|
|
to_json("album") as "album"
|
|
from
|
|
"shared_link"
|
|
left join "shared_link_asset" on "shared_link_asset"."sharedLinksId" = "shared_link"."id"
|
|
left join lateral (
|
|
select
|
|
json_agg("asset") as "assets"
|
|
from
|
|
"asset"
|
|
where
|
|
"asset"."id" = "shared_link_asset"."assetsId"
|
|
and "asset"."deletedAt" is null
|
|
) as "assets" on true
|
|
left join lateral (
|
|
select
|
|
"album".*,
|
|
to_json("owner") as "owner"
|
|
from
|
|
"album"
|
|
inner join lateral (
|
|
select
|
|
"user"."id",
|
|
"user"."email",
|
|
"user"."createdAt",
|
|
"user"."profileImagePath",
|
|
"user"."isAdmin",
|
|
"user"."shouldChangePassword",
|
|
"user"."deletedAt",
|
|
"user"."oauthId",
|
|
"user"."updatedAt",
|
|
"user"."storageLabel",
|
|
"user"."name",
|
|
"user"."quotaSizeInBytes",
|
|
"user"."quotaUsageInBytes",
|
|
"user"."status",
|
|
"user"."profileChangedAt"
|
|
from
|
|
"user"
|
|
where
|
|
"user"."id" = "album"."ownerId"
|
|
and "user"."deletedAt" is null
|
|
) as "owner" on true
|
|
where
|
|
"album"."id" = "shared_link"."albumId"
|
|
and "album"."deletedAt" is null
|
|
) as "album" on true
|
|
where
|
|
"shared_link"."userId" = $1
|
|
and (
|
|
"shared_link"."type" = $2
|
|
or "album"."id" is not null
|
|
)
|
|
and "shared_link"."albumId" = $3
|
|
order by
|
|
"shared_link"."createdAt" desc
|
|
|
|
-- SharedLinkRepository.getByKey
|
|
select
|
|
"shared_link"."id",
|
|
"shared_link"."userId",
|
|
"shared_link"."expiresAt",
|
|
"shared_link"."showExif",
|
|
"shared_link"."allowUpload",
|
|
"shared_link"."allowDownload",
|
|
"shared_link"."password",
|
|
(
|
|
select
|
|
to_json(obj)
|
|
from
|
|
(
|
|
select
|
|
"user"."id",
|
|
"user"."name",
|
|
"user"."email",
|
|
"user"."isAdmin",
|
|
"user"."quotaUsageInBytes",
|
|
"user"."quotaSizeInBytes"
|
|
from
|
|
"user"
|
|
where
|
|
"user"."id" = "shared_link"."userId"
|
|
) as obj
|
|
) as "user"
|
|
from
|
|
"shared_link"
|
|
left join "album" on "album"."id" = "shared_link"."albumId"
|
|
where
|
|
"album"."deletedAt" is null
|
|
and (
|
|
"shared_link"."type" = $1
|
|
or "album"."id" is not null
|
|
)
|
|
and "shared_link"."key" = $2
|
|
|
|
-- SharedLinkRepository.getBySlug
|
|
select
|
|
"shared_link"."id",
|
|
"shared_link"."userId",
|
|
"shared_link"."expiresAt",
|
|
"shared_link"."showExif",
|
|
"shared_link"."allowUpload",
|
|
"shared_link"."allowDownload",
|
|
"shared_link"."password",
|
|
(
|
|
select
|
|
to_json(obj)
|
|
from
|
|
(
|
|
select
|
|
"user"."id",
|
|
"user"."name",
|
|
"user"."email",
|
|
"user"."isAdmin",
|
|
"user"."quotaUsageInBytes",
|
|
"user"."quotaSizeInBytes"
|
|
from
|
|
"user"
|
|
where
|
|
"user"."id" = "shared_link"."userId"
|
|
) as obj
|
|
) as "user"
|
|
from
|
|
"shared_link"
|
|
left join "album" on "album"."id" = "shared_link"."albumId"
|
|
where
|
|
"album"."deletedAt" is null
|
|
and (
|
|
"shared_link"."type" = $1
|
|
or "album"."id" is not null
|
|
)
|
|
and "shared_link"."slug" = $2
|