Refactor proposal mapping in FalukantService to handle null characters

- Updated the proposal mapping logic to filter out proposals with null proposed characters, enhancing data integrity.
- Ensured that noble title is safely accessed with a fallback to null, improving robustness in character data handling.
This commit is contained in:
Torsten Schulz (local)
2026-01-14 14:57:45 +01:00
parent 52c7f1c7ba
commit d1359ccc36
2 changed files with 119 additions and 12 deletions

View File

@@ -3335,18 +3335,20 @@ class FalukantService extends BaseService {
},
],
});
return proposals.map(proposal => {
const birthdate = new Date(proposal.proposedCharacter.birthdate);
const age = calcAge(birthdate);
return {
id: proposal.id,
requesterCharacterId: proposal.requesterCharacterId,
proposedCharacterId: proposal.proposedCharacter.id,
proposedCharacterName: `${proposal.proposedCharacter.definedFirstName?.name} ${proposal.proposedCharacter.definedLastName?.name}`,
proposedCharacterGender: proposal.proposedCharacter.gender,
proposedCharacterRegionId: proposal.proposedCharacter.regionId,
proposedCharacterAge: age,
proposedCharacterNobleTitle: proposal.proposedCharacter.nobleTitle.labelTr,
return proposals
.filter(proposal => proposal.proposedCharacter !== null)
.map(proposal => {
const birthdate = new Date(proposal.proposedCharacter.birthdate);
const age = calcAge(birthdate);
return {
id: proposal.id,
requesterCharacterId: proposal.requesterCharacterId,
proposedCharacterId: proposal.proposedCharacter.id,
proposedCharacterName: `${proposal.proposedCharacter.definedFirstName?.name} ${proposal.proposedCharacter.definedLastName?.name}`,
proposedCharacterGender: proposal.proposedCharacter.gender,
proposedCharacterRegionId: proposal.proposedCharacter.regionId,
proposedCharacterAge: age,
proposedCharacterNobleTitle: proposal.proposedCharacter.nobleTitle?.labelTr || null,
cost: proposal.cost,
};
});