Removed superfluous actor_id from biometrics query, should prevent dupes being processed unnecessarily.

This commit is contained in:
DebaucheryLibrarian
2026-07-06 00:20:32 +02:00
parent e0a89f0b15
commit f538d8b62a

View File

@@ -95,7 +95,7 @@ async function getBiometrics(avatarEntry) {
function getAvatarSource(actorIds, includePhotos) {
if (includePhotos) {
return knex('actors_avatars')
.select('actor_id', 'media_id')
.select('media_id')
.modify((builder) => {
if (actorIds) {
builder.whereIn('actor_id', actorIds);
@@ -104,7 +104,7 @@ function getAvatarSource(actorIds, includePhotos) {
}
return knex('actors')
.select('id as actor_id', 'avatar_media_id as media_id')
.select('avatar_media_id as media_id')
.whereNotNull('avatar_media_id')
.modify((builder) => {
if (actorIds) {
@@ -123,18 +123,17 @@ async function setBiometrics(actorIds, shouldUpdate = false, includePhotos = fal
const avatarSource = getAvatarSource(actorIds, includePhotos);
const avatarEntries = await knex
const avatarEntries = await knex('media')
.select(
'avatar_source.actor_id',
'media.id as media_id',
'media.path',
'media.is_s3',
knex.raw('coalesce(json_agg(media_biometrics.biometrics) filter (where media_biometrics.id is not null), \'[]\') as biometrics'),
)
.from(avatarSource.as('avatar_source'))
.leftJoin('media', 'media.id', 'avatar_source.media_id')
.leftJoin('media_biometrics', 'media_biometrics.media_id', 'media.id')
.groupBy('avatar_source.actor_id', 'media.id', 'media.path', 'media.is_s3');
.whereIn('media.id', avatarSource.as('avatar_source'))
.groupBy('media.id', 'media.path', 'media.is_s3');
await avatarEntries.reduce(async (chain, avatarEntry, avatarIndex) => {
await chain;