fix bugs in people getAllForUser query

pull/27452/head
Tim Jones 2026-05-08 13:45:34 -07:00
parent 73e1bad066
commit de866cc3dc
2 changed files with 7 additions and 4 deletions

View File

@ -29,7 +29,7 @@ select
from
"person"
inner join "asset_face" on "asset_face"."personId" = "person"."id"
inner join "user_metadata" on "user_metadata"."userId" = "person"."ownerId"
left join "user_metadata" on "user_metadata"."userId" = "person"."ownerId"
and "user_metadata"."key" = 'preferences'
inner join "asset" on "asset_face"."assetId" = "asset"."id"
and "asset"."visibility" = 'timeline'
@ -45,7 +45,10 @@ group by
having
(
"person"."name" != $3
or count("asset_face"."assetId") >= COALESCE(user_metadata.value ->> 'minimumFaces', '1')::int
or count("asset_face"."assetId") >= COALESCE(
user_metadata.value -> 'people' ->> 'minimumFaces',
'3'
)::int
)
order by
"person"."isHidden" asc,

View File

@ -153,7 +153,7 @@ export class PersonRepository {
.selectFrom('person')
.selectAll('person')
.innerJoin('asset_face', 'asset_face.personId', 'person.id')
.innerJoin('user_metadata', (join) =>
.leftJoin('user_metadata', (join) =>
join
.onRef('user_metadata.userId', '=', 'person.ownerId')
.on('user_metadata.key', '=', sql.lit(UserMetadataKey.Preferences)),
@ -175,7 +175,7 @@ export class PersonRepository {
eb(
(innerEb) => innerEb.fn.count('asset_face.assetId'),
'>=',
sql`COALESCE(user_metadata.value -> 'people' ->> 'minimumFaces', '1')::int `,
sql`COALESCE(user_metadata.value -> 'people' ->> 'minimumFaces', '3')::int `,
),
]),
)