mirror of
https://github.com/IT4Change/gradido.git
synced 2026-03-01 12:44:43 +00:00
correct email parameter handling
This commit is contained in:
parent
b8c7515ec7
commit
d529176741
@ -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 {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user