diff --git a/backend/services/falukantService.js b/backend/services/falukantService.js index e23da4e..aa7c321 100644 --- a/backend/services/falukantService.js +++ b/backend/services/falukantService.js @@ -3226,13 +3226,17 @@ class FalukantService extends BaseService { err.meta = { retryAt: retryAt.toISOString() }; throw err; } - const gift = await PromotionalGift.findOne({ + // prepare a safe trait filter: user.character.traits may be undefined + const userTraitIds = Array.isArray(user.character?.traits) ? user.character.traits.map(t => t.id) : []; + const traitWhere = userTraitIds.length ? { traitId: { [Op.in]: userTraitIds } } : { traitId: { [Op.in]: [-1] } }; + + const gift = await PromotionalGift.findOne({ where: { id: giftId }, include: [ { model: PromotionalGiftCharacterTrait, as: 'characterTraits', - where: { traitId: { [Op.in]: user.character.traits.map(t => t.id) } }, + where: traitWhere, required: false }, {