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