mirror of
https://github.com/immich-app/immich.git
synced 2025-09-29 15:31:13 -04:00
453 lines
9.3 KiB
SQL
453 lines
9.3 KiB
SQL
-- NOTE: This file is auto generated by ./sql-generator
|
|
|
|
-- AssetJobRepository.getForSearchDuplicatesJob
|
|
select
|
|
"id",
|
|
"type",
|
|
"ownerId",
|
|
"duplicateId",
|
|
"stackId",
|
|
"isVisible",
|
|
"smart_search"."embedding",
|
|
(
|
|
select
|
|
coalesce(json_agg(agg), '[]')
|
|
from
|
|
(
|
|
select
|
|
"asset_files"."id",
|
|
"asset_files"."path",
|
|
"asset_files"."type"
|
|
from
|
|
"asset_files"
|
|
where
|
|
"asset_files"."assetId" = "assets"."id"
|
|
and "asset_files"."type" = $1
|
|
) as agg
|
|
) as "files"
|
|
from
|
|
"assets"
|
|
left join "smart_search" on "assets"."id" = "smart_search"."assetId"
|
|
where
|
|
"assets"."id" = $2::uuid
|
|
limit
|
|
$3
|
|
|
|
-- AssetJobRepository.getForSidecarWriteJob
|
|
select
|
|
"id",
|
|
"sidecarPath",
|
|
"originalPath",
|
|
(
|
|
select
|
|
coalesce(json_agg(agg), '[]')
|
|
from
|
|
(
|
|
select
|
|
"tags"."value"
|
|
from
|
|
"tags"
|
|
inner join "tag_asset" on "tags"."id" = "tag_asset"."tagsId"
|
|
where
|
|
"assets"."id" = "tag_asset"."assetsId"
|
|
) as agg
|
|
) as "tags"
|
|
from
|
|
"assets"
|
|
where
|
|
"assets"."id" = $1::uuid
|
|
limit
|
|
$2
|
|
|
|
-- AssetJobRepository.streamForThumbnailJob
|
|
select
|
|
"assets"."id",
|
|
"assets"."thumbhash",
|
|
(
|
|
select
|
|
coalesce(json_agg(agg), '[]')
|
|
from
|
|
(
|
|
select
|
|
"asset_files"."id",
|
|
"asset_files"."path",
|
|
"asset_files"."type"
|
|
from
|
|
"asset_files"
|
|
where
|
|
"asset_files"."assetId" = "assets"."id"
|
|
) as agg
|
|
) as "files"
|
|
from
|
|
"assets"
|
|
inner join "asset_job_status" on "asset_job_status"."assetId" = "assets"."id"
|
|
where
|
|
"assets"."deletedAt" is null
|
|
and "assets"."isVisible" = $1
|
|
and (
|
|
"asset_job_status"."previewAt" is null
|
|
or "asset_job_status"."thumbnailAt" is null
|
|
or "assets"."thumbhash" is null
|
|
)
|
|
|
|
-- AssetJobRepository.getForMigrationJob
|
|
select
|
|
"assets"."id",
|
|
"assets"."ownerId",
|
|
"assets"."encodedVideoPath",
|
|
(
|
|
select
|
|
coalesce(json_agg(agg), '[]')
|
|
from
|
|
(
|
|
select
|
|
"asset_files"."id",
|
|
"asset_files"."path",
|
|
"asset_files"."type"
|
|
from
|
|
"asset_files"
|
|
where
|
|
"asset_files"."assetId" = "assets"."id"
|
|
) as agg
|
|
) as "files"
|
|
from
|
|
"assets"
|
|
where
|
|
"assets"."id" = $1
|
|
|
|
-- AssetJobRepository.getForGenerateThumbnailJob
|
|
select
|
|
"assets"."id",
|
|
"assets"."isVisible",
|
|
"assets"."originalFileName",
|
|
"assets"."originalPath",
|
|
"assets"."ownerId",
|
|
"assets"."thumbhash",
|
|
"assets"."type",
|
|
(
|
|
select
|
|
coalesce(json_agg(agg), '[]')
|
|
from
|
|
(
|
|
select
|
|
"asset_files"."id",
|
|
"asset_files"."path",
|
|
"asset_files"."type"
|
|
from
|
|
"asset_files"
|
|
where
|
|
"asset_files"."assetId" = "assets"."id"
|
|
) as agg
|
|
) as "files",
|
|
to_json("exif") as "exifInfo"
|
|
from
|
|
"assets"
|
|
inner join "exif" on "assets"."id" = "exif"."assetId"
|
|
where
|
|
"assets"."id" = $1
|
|
|
|
-- AssetJobRepository.getForMetadataExtraction
|
|
select
|
|
"assets"."id",
|
|
"assets"."checksum",
|
|
"assets"."deviceAssetId",
|
|
"assets"."deviceId",
|
|
"assets"."fileCreatedAt",
|
|
"assets"."fileModifiedAt",
|
|
"assets"."isExternal",
|
|
"assets"."isVisible",
|
|
"assets"."libraryId",
|
|
"assets"."livePhotoVideoId",
|
|
"assets"."localDateTime",
|
|
"assets"."originalFileName",
|
|
"assets"."originalPath",
|
|
"assets"."ownerId",
|
|
"assets"."sidecarPath",
|
|
"assets"."type",
|
|
(
|
|
select
|
|
coalesce(json_agg(agg), '[]')
|
|
from
|
|
(
|
|
select
|
|
"asset_faces".*
|
|
from
|
|
"asset_faces"
|
|
where
|
|
"asset_faces"."assetId" = "assets"."id"
|
|
and "asset_faces"."deletedAt" is null
|
|
) as agg
|
|
) as "faces"
|
|
from
|
|
"assets"
|
|
where
|
|
"assets"."id" = $1
|
|
|
|
-- AssetJobRepository.getAlbumThumbnailFiles
|
|
select
|
|
"asset_files"."id",
|
|
"asset_files"."path",
|
|
"asset_files"."type"
|
|
from
|
|
"asset_files"
|
|
where
|
|
"asset_files"."assetId" = $1
|
|
and "asset_files"."type" = $2
|
|
|
|
-- AssetJobRepository.streamForEncodeClip
|
|
select
|
|
"assets"."id"
|
|
from
|
|
"assets"
|
|
inner join "asset_job_status" as "job_status" on "assetId" = "assets"."id"
|
|
where
|
|
"job_status"."previewAt" is not null
|
|
and "assets"."isVisible" = $1
|
|
and not exists (
|
|
select
|
|
from
|
|
"smart_search"
|
|
where
|
|
"assetId" = "assets"."id"
|
|
)
|
|
and "assets"."deletedAt" is null
|
|
|
|
-- AssetJobRepository.getForClipEncoding
|
|
select
|
|
"assets"."id",
|
|
"assets"."isVisible",
|
|
(
|
|
select
|
|
coalesce(json_agg(agg), '[]')
|
|
from
|
|
(
|
|
select
|
|
"asset_files"."id",
|
|
"asset_files"."path",
|
|
"asset_files"."type"
|
|
from
|
|
"asset_files"
|
|
where
|
|
"asset_files"."assetId" = "assets"."id"
|
|
and "asset_files"."type" = $1
|
|
) as agg
|
|
) as "files"
|
|
from
|
|
"assets"
|
|
where
|
|
"assets"."id" = $2
|
|
|
|
-- AssetJobRepository.getForDetectFacesJob
|
|
select
|
|
"assets"."id",
|
|
"assets"."isVisible",
|
|
to_json("exif") as "exifInfo",
|
|
(
|
|
select
|
|
coalesce(json_agg(agg), '[]')
|
|
from
|
|
(
|
|
select
|
|
"asset_faces".*
|
|
from
|
|
"asset_faces"
|
|
where
|
|
"asset_faces"."assetId" = "assets"."id"
|
|
) as agg
|
|
) as "faces",
|
|
(
|
|
select
|
|
coalesce(json_agg(agg), '[]')
|
|
from
|
|
(
|
|
select
|
|
"asset_files"."id",
|
|
"asset_files"."path",
|
|
"asset_files"."type"
|
|
from
|
|
"asset_files"
|
|
where
|
|
"asset_files"."assetId" = "assets"."id"
|
|
and "asset_files"."type" = $1
|
|
) as agg
|
|
) as "files"
|
|
from
|
|
"assets"
|
|
inner join "exif" on "assets"."id" = "exif"."assetId"
|
|
where
|
|
"assets"."id" = $2
|
|
|
|
-- AssetJobRepository.getForSyncAssets
|
|
select
|
|
"assets"."id",
|
|
"assets"."isOffline",
|
|
"assets"."libraryId",
|
|
"assets"."originalPath",
|
|
"assets"."status",
|
|
"assets"."fileModifiedAt"
|
|
from
|
|
"assets"
|
|
where
|
|
"assets"."id" = any ($1::uuid[])
|
|
|
|
-- AssetJobRepository.getForAssetDeletion
|
|
select
|
|
"assets"."id",
|
|
"assets"."isVisible",
|
|
"assets"."libraryId",
|
|
"assets"."ownerId",
|
|
"assets"."livePhotoVideoId",
|
|
"assets"."sidecarPath",
|
|
"assets"."encodedVideoPath",
|
|
"assets"."originalPath",
|
|
to_json("exif") as "exifInfo",
|
|
(
|
|
select
|
|
coalesce(json_agg(agg), '[]')
|
|
from
|
|
(
|
|
select
|
|
"asset_faces".*,
|
|
"person" as "person"
|
|
from
|
|
"asset_faces"
|
|
left join lateral (
|
|
select
|
|
"person".*
|
|
from
|
|
"person"
|
|
where
|
|
"asset_faces"."personId" = "person"."id"
|
|
) as "person" on true
|
|
where
|
|
"asset_faces"."assetId" = "assets"."id"
|
|
and "asset_faces"."deletedAt" is null
|
|
) as agg
|
|
) as "faces",
|
|
(
|
|
select
|
|
coalesce(json_agg(agg), '[]')
|
|
from
|
|
(
|
|
select
|
|
"asset_files"."id",
|
|
"asset_files"."path",
|
|
"asset_files"."type"
|
|
from
|
|
"asset_files"
|
|
where
|
|
"asset_files"."assetId" = "assets"."id"
|
|
) as agg
|
|
) as "files",
|
|
to_json("stacked_assets") as "stack"
|
|
from
|
|
"assets"
|
|
left join "exif" on "assets"."id" = "exif"."assetId"
|
|
left join "asset_stack" on "asset_stack"."id" = "assets"."stackId"
|
|
left join lateral (
|
|
select
|
|
"asset_stack"."id",
|
|
"asset_stack"."primaryAssetId",
|
|
array_agg("stacked") as "assets"
|
|
from
|
|
"assets" as "stacked"
|
|
where
|
|
"stacked"."deletedAt" is not null
|
|
and "stacked"."isArchived" = $1
|
|
and "stacked"."stackId" = "asset_stack"."id"
|
|
group by
|
|
"asset_stack"."id"
|
|
) as "stacked_assets" on "asset_stack"."id" is not null
|
|
where
|
|
"assets"."id" = $2
|
|
|
|
-- AssetJobRepository.streamForVideoConversion
|
|
select
|
|
"assets"."id"
|
|
from
|
|
"assets"
|
|
where
|
|
"assets"."type" = $1
|
|
and (
|
|
"assets"."encodedVideoPath" is null
|
|
or "assets"."encodedVideoPath" = $2
|
|
)
|
|
and "assets"."isVisible" = $3
|
|
and "assets"."deletedAt" is null
|
|
|
|
-- AssetJobRepository.getForVideoConversion
|
|
select
|
|
"assets"."id",
|
|
"assets"."ownerId",
|
|
"assets"."originalPath",
|
|
"assets"."encodedVideoPath"
|
|
from
|
|
"assets"
|
|
where
|
|
"assets"."id" = $1
|
|
and "assets"."type" = $2
|
|
|
|
-- AssetJobRepository.streamForMetadataExtraction
|
|
select
|
|
"assets"."id"
|
|
from
|
|
"assets"
|
|
left join "asset_job_status" on "asset_job_status"."assetId" = "assets"."id"
|
|
where
|
|
(
|
|
"asset_job_status"."metadataExtractedAt" is null
|
|
or "asset_job_status"."assetId" is null
|
|
)
|
|
and "assets"."isVisible" = $1
|
|
and "assets"."deletedAt" is null
|
|
|
|
-- AssetJobRepository.getForStorageTemplateJob
|
|
select
|
|
"assets"."id",
|
|
"assets"."ownerId",
|
|
"assets"."type",
|
|
"assets"."checksum",
|
|
"assets"."originalPath",
|
|
"assets"."isExternal",
|
|
"assets"."sidecarPath",
|
|
"assets"."originalFileName",
|
|
"assets"."livePhotoVideoId",
|
|
"assets"."fileCreatedAt",
|
|
"exif"."timeZone",
|
|
"exif"."fileSizeInByte"
|
|
from
|
|
"assets"
|
|
inner join "exif" on "assets"."id" = "exif"."assetId"
|
|
where
|
|
"assets"."deletedAt" is null
|
|
and "assets"."id" = $1
|
|
|
|
-- AssetJobRepository.streamForStorageTemplateJob
|
|
select
|
|
"assets"."id",
|
|
"assets"."ownerId",
|
|
"assets"."type",
|
|
"assets"."checksum",
|
|
"assets"."originalPath",
|
|
"assets"."isExternal",
|
|
"assets"."sidecarPath",
|
|
"assets"."originalFileName",
|
|
"assets"."livePhotoVideoId",
|
|
"assets"."fileCreatedAt",
|
|
"exif"."timeZone",
|
|
"exif"."fileSizeInByte"
|
|
from
|
|
"assets"
|
|
inner join "exif" on "assets"."id" = "exif"."assetId"
|
|
where
|
|
"assets"."deletedAt" is null
|
|
|
|
-- AssetJobRepository.streamForDeletedJob
|
|
select
|
|
"id",
|
|
"isOffline"
|
|
from
|
|
"assets"
|
|
where
|
|
"assets"."deletedAt" <= $1
|