From d529176741194d1f0c5640bab6e3289f5336960f Mon Sep 17 00:00:00 2001
From: clauspeterhuebner
Date: Wed, 11 Feb 2026 22:17:45 +0100
Subject: [PATCH] correct email parameter handling
---
core/src/command/commands/SendEmailCommand.ts | 23 +++++++++++--------
1 file changed, 13 insertions(+), 10 deletions(-)
diff --git a/core/src/command/commands/SendEmailCommand.ts b/core/src/command/commands/SendEmailCommand.ts
index 957e08bc8..43b2da74b 100644
--- a/core/src/command/commands/SendEmailCommand.ts
+++ b/core/src/command/commands/SendEmailCommand.ts
@@ -3,6 +3,7 @@ import { sendTransactionReceivedEmail } from '../../emails/sendEmailVariants';
import { findForeignUserByUuids, findUserByIdentifier } from 'database';
import { LOG4JS_BASE_CATEGORY_NAME } from '../../config/const';
import { getLogger } from 'log4js';
+import Decimal from 'decimal.js-light';
const createLogger = (method: string) =>
getLogger(`${LOG4JS_BASE_CATEGORY_NAME}.command.commands.SendEmailCommand.${method}`)
@@ -14,16 +15,18 @@ export interface SendEmailCommandParams {
receiverComUuid: string;
receiverGradidoId: string;
memo?: string;
- amount?: number;
+ amount?: string;
}
export class SendEmailCommand extends BaseCommand<{ success: boolean }> {
static readonly SEND_MAIL_COMMAND = 'SEND_MAIL_COMMAND';
protected requiredFields: string[] = ['mailType', 'senderComUuid', 'senderGradidoId', 'receiverComUuid', 'receiverGradidoId'];
+ protected sendEmailCommandParams: SendEmailCommandParams;
constructor(params: SendEmailCommandParams) {
const methodLogger = createLogger(`constructor`)
methodLogger.debug(`constructor() params=${JSON.stringify(params)}`)
super(params);
+ this.sendEmailCommandParams = params;
}
validate(): boolean {
@@ -42,15 +45,15 @@ export class SendEmailCommand extends BaseCommand<{ success: boolean }> {
throw new Error('Invalid command parameters');
}
// find sender user
- const senderUser = await findForeignUserByUuids(this.params.senderComUuid, this.params.senderGradidoId);
+ const senderUser = await findForeignUserByUuids(this.sendEmailCommandParams.senderComUuid, this.sendEmailCommandParams.senderGradidoId);
if (!senderUser) {
- const errmsg = `Sender user not found: ${this.params.senderComUuid} ${this.params.senderGradidoId}`;
+ const errmsg = `Sender user not found: ${this.sendEmailCommandParams.senderComUuid} ${this.sendEmailCommandParams.senderGradidoId}`;
methodLogger.error(errmsg);
throw new Error(errmsg);
}
- const recipientUser = await findUserByIdentifier(this.params.receiverGradidoId, this.params.receiverComUuid);
+ const recipientUser = await findUserByIdentifier(this.sendEmailCommandParams.receiverGradidoId, this.sendEmailCommandParams.receiverComUuid);
if (!recipientUser) {
- const errmsg = `Recipient user not found: ${this.params.receiverComUuid} ${this.params.receiverGradidoId}`;
+ const errmsg = `Recipient user not found: ${this.sendEmailCommandParams.receiverComUuid} ${this.sendEmailCommandParams.receiverGradidoId}`;
methodLogger.error(errmsg);
throw new Error(errmsg);
}
@@ -62,16 +65,16 @@ export class SendEmailCommand extends BaseCommand<{ success: boolean }> {
language: recipientUser.language,
senderFirstName: senderUser.firstName,
senderLastName: senderUser.lastName,
- senderEmail: senderUser.emailContact?.email,
- memo: this.params.memo || '',
- transactionAmount: this.params.amount || 0,
+ senderEmail: 'transactionReceivedNoSender',
+ memo: this.sendEmailCommandParams.memo || '',
+ transactionAmount: new Decimal(this.sendEmailCommandParams.amount || 0),
};
- switch(this.params.mailType) {
+ switch(this.sendEmailCommandParams.mailType) {
case 'sendTransactionReceivedEmail':
await sendTransactionReceivedEmail(emailParams);
break;
default:
- throw new Error(`Unknown mail type: ${this.params.mailType}`);
+ throw new Error(`Unknown mail type: ${this.sendEmailCommandParams.mailType}`);
}
try {