From 930961825ee2f94b285179d8ec0a50c4fc27b0aa Mon Sep 17 00:00:00 2001 From: mertalev <101130780+mertalev@users.noreply.github.com> Date: Wed, 14 May 2025 20:36:32 -0400 Subject: [PATCH] queue assets without detected faces --- server/src/repositories/asset-job.repository.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/server/src/repositories/asset-job.repository.ts b/server/src/repositories/asset-job.repository.ts index fab1e36f90..b012d209db 100644 --- a/server/src/repositories/asset-job.repository.ts +++ b/server/src/repositories/asset-job.repository.ts @@ -140,8 +140,7 @@ export class AssetJobRepository { .selectFrom('assets') .where('assets.visibility', '!=', AssetVisibility.HIDDEN) .where('assets.deletedAt', 'is', null) - .innerJoin('asset_job_status as job_status', 'assetId', 'assets.id') - .where('job_status.previewAt', 'is not', null); + .innerJoin('asset_job_status as job_status', 'assetId', 'assets.id'); } @GenerateSql({ params: [], stream: true }) @@ -335,8 +334,13 @@ export class AssetJobRepository { @GenerateSql({ params: [], stream: true }) streamForDetectFacesJob(force?: boolean) { - return this.assetsWithPreviews() - .$if(!force, (qb) => qb.where('job_status.facesRecognizedAt', 'is', null)) + return this.db + .selectFrom('assets') + .$if(!force, (qb) => + qb.where((eb) => + eb.not(eb.exists(eb.selectFrom('asset_faces').whereRef('asset_faces.assetId', '=', 'assets.id'))), + ), + ) .select(['assets.id']) .orderBy('assets.createdAt', 'desc') .stream();