From afbfdd8ccca9a10b72c7286fcba126330dc8294a Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Thu, 17 Sep 2026 06:42:27 +0200 Subject: [PATCH] feat(falukant): optimize retrieval of not baptized children by using character IDs --- backend/services/falukantService.js | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/backend/services/falukantService.js b/backend/services/falukantService.js index c846187..426b2de 100755 --- a/backend/services/falukantService.js +++ b/backend/services/falukantService.js @@ -5855,24 +5855,14 @@ class FalukantService extends BaseService { async getNotBaptisedChildren(hashedUserId) { const falukantUser = await getFalukantUserOrFail(hashedUserId); + const userCharacterIds = (await FalukantCharacter.findAll({ + where: { userId: falukantUser.id }, + attributes: ['id'], + raw: true, + })).map((character) => character.id); + if (userCharacterIds.length === 0) return []; const children = await ChildRelation.findAll({ include: [ - { - model: FalukantCharacter, - as: 'father', - where: { - userId: falukantUser.id, - }, - required: false, - }, - { - model: FalukantCharacter, - as: 'mother', - where: { - userId: falukantUser.id, - }, - required: false, - }, { model: FalukantCharacter, as: 'child', @@ -5888,6 +5878,10 @@ class FalukantService extends BaseService { ], where: { nameSet: false, + [Op.or]: [ + { fatherCharacterId: { [Op.in]: userCharacterIds } }, + { motherCharacterId: { [Op.in]: userCharacterIds } }, + ], }, order: [['createdAt', 'DESC']], });