mirror of
https://github.com/IT4Change/gradido.git
synced 2026-03-01 12:44:43 +00:00
change parameter type of command constructor
This commit is contained in:
parent
e48988a0c3
commit
1d43878ad6
@ -8,7 +8,7 @@ const createLogger = (method: string) =>
|
|||||||
export abstract class BaseCommand<T = any> implements Command<T> {
|
export abstract class BaseCommand<T = any> implements Command<T> {
|
||||||
protected abstract requiredFields: string[];
|
protected abstract requiredFields: string[];
|
||||||
|
|
||||||
protected constructor(protected readonly params: any = {}) {
|
protected constructor(protected readonly params: any[]) {
|
||||||
// this.validateRequiredFields();
|
// this.validateRequiredFields();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -21,6 +21,7 @@ export abstract class BaseCommand<T = any> implements Command<T> {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
methodLogger.debug(`validateRequiredFields() requiredFields=${JSON.stringify(this.requiredFields)}`)
|
methodLogger.debug(`validateRequiredFields() requiredFields=${JSON.stringify(this.requiredFields)}`)
|
||||||
|
/*
|
||||||
const missingFields = this.requiredFields.filter(field =>
|
const missingFields = this.requiredFields.filter(field =>
|
||||||
this.params[field] === undefined || this.params[field] === null || this.params[field] === ''
|
this.params[field] === undefined || this.params[field] === null || this.params[field] === ''
|
||||||
);
|
);
|
||||||
@ -30,6 +31,7 @@ export abstract class BaseCommand<T = any> implements Command<T> {
|
|||||||
methodLogger.error(`validateRequiredFields() missing fields: ${missingFields.join(', ')}`)
|
methodLogger.error(`validateRequiredFields() missing fields: ${missingFields.join(', ')}`)
|
||||||
throw new Error(`Missing required fields for ${this.constructor.name}: ${missingFields.join(', ')}`);
|
throw new Error(`Missing required fields for ${this.constructor.name}: ${missingFields.join(', ')}`);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
validate(): boolean {
|
validate(): boolean {
|
||||||
|
|||||||
@ -32,7 +32,7 @@ export class CommandFactory {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
createCommand<T>(name: string, params: any = {}): Command<T> {
|
createCommand<T>(name: string, params: string[]): Command<T> {
|
||||||
const methodLogger = createLogger(`createCommand`)
|
const methodLogger = createLogger(`createCommand`)
|
||||||
if (methodLogger.isDebugEnabled()) {
|
if (methodLogger.isDebugEnabled()) {
|
||||||
methodLogger.debug(`createCommand() name=${name} params=${JSON.stringify(params)}`)
|
methodLogger.debug(`createCommand() name=${name} params=${JSON.stringify(params)}`)
|
||||||
|
|||||||
@ -20,11 +20,13 @@ export interface SendEmailCommandParams {
|
|||||||
export class SendEmailCommand extends BaseCommand<{ success: boolean }> {
|
export class SendEmailCommand extends BaseCommand<{ success: boolean }> {
|
||||||
static readonly SEND_MAIL_COMMAND = 'SEND_MAIL_COMMAND';
|
static readonly SEND_MAIL_COMMAND = 'SEND_MAIL_COMMAND';
|
||||||
protected requiredFields: string[] = ['mailType', 'senderComUuid', 'senderGradidoId', 'receiverComUuid', 'receiverGradidoId'];
|
protected requiredFields: string[] = ['mailType', 'senderComUuid', 'senderGradidoId', 'receiverComUuid', 'receiverGradidoId'];
|
||||||
|
protected sendEmailCommandParams: SendEmailCommandParams;
|
||||||
|
|
||||||
constructor(params: SendEmailCommandParams) {
|
constructor(params: any[]) {
|
||||||
const methodLogger = createLogger(`constructor`)
|
const methodLogger = createLogger(`constructor`)
|
||||||
methodLogger.debug(`constructor() params=${JSON.stringify(params)}`)
|
methodLogger.debug(`constructor() params=${JSON.stringify(params)}`)
|
||||||
super(params);
|
super(params);
|
||||||
|
this.sendEmailCommandParams = params[0] as SendEmailCommandParams;
|
||||||
}
|
}
|
||||||
|
|
||||||
validate(): boolean {
|
validate(): boolean {
|
||||||
@ -39,25 +41,25 @@ export class SendEmailCommand extends BaseCommand<{ success: boolean }> {
|
|||||||
|
|
||||||
async execute(): Promise<{ success: boolean }> {
|
async execute(): Promise<{ success: boolean }> {
|
||||||
const methodLogger = createLogger(`execute`)
|
const methodLogger = createLogger(`execute`)
|
||||||
methodLogger.debug(`execute() params=${JSON.stringify(this.params)}`)
|
methodLogger.debug(`execute() params=${JSON.stringify(this.sendEmailCommandParams)}`)
|
||||||
if (!this.validate()) {
|
if (!this.validate()) {
|
||||||
throw new Error('Invalid command parameters');
|
throw new Error('Invalid command parameters');
|
||||||
}
|
}
|
||||||
// find sender user
|
// find sender user
|
||||||
methodLogger.debug(`find sender user: ${this.params.senderComUuid} ${this.params.senderGradidoId}`)
|
methodLogger.debug(`find sender user: ${this.sendEmailCommandParams.senderComUuid} ${this.sendEmailCommandParams.senderGradidoId}`)
|
||||||
const senderUser = await findForeignUserByUuids(this.params.senderComUuid, this.params.senderGradidoId);
|
const senderUser = await findForeignUserByUuids(this.sendEmailCommandParams.senderComUuid, this.sendEmailCommandParams.senderGradidoId);
|
||||||
methodLogger.debug(`senderUser=${JSON.stringify(senderUser)}`)
|
methodLogger.debug(`senderUser=${JSON.stringify(senderUser)}`)
|
||||||
if (!senderUser) {
|
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);
|
methodLogger.error(errmsg);
|
||||||
throw new Error(errmsg);
|
throw new Error(errmsg);
|
||||||
}
|
}
|
||||||
|
|
||||||
methodLogger.debug(`find recipient user: ${this.params.receiverComUuid} ${this.params.receiverGradidoId}`)
|
methodLogger.debug(`find recipient user: ${this.sendEmailCommandParams.receiverComUuid} ${this.sendEmailCommandParams.receiverGradidoId}`)
|
||||||
const recipientUser = await findUserByIdentifier(this.params.receiverGradidoId, this.params.receiverComUuid);
|
const recipientUser = await findUserByIdentifier(this.sendEmailCommandParams.receiverGradidoId, this.sendEmailCommandParams.receiverComUuid);
|
||||||
methodLogger.debug(`recipientUser=${JSON.stringify(recipientUser)}`)
|
methodLogger.debug(`recipientUser=${JSON.stringify(recipientUser)}`)
|
||||||
if (!recipientUser) {
|
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);
|
methodLogger.error(errmsg);
|
||||||
throw new Error(errmsg);
|
throw new Error(errmsg);
|
||||||
}
|
}
|
||||||
@ -70,15 +72,15 @@ export class SendEmailCommand extends BaseCommand<{ success: boolean }> {
|
|||||||
senderFirstName: senderUser.firstName,
|
senderFirstName: senderUser.firstName,
|
||||||
senderLastName: senderUser.lastName,
|
senderLastName: senderUser.lastName,
|
||||||
senderEmail: 'transactionReceivedNoSender',
|
senderEmail: 'transactionReceivedNoSender',
|
||||||
memo: this.params.memo || '',
|
memo: this.sendEmailCommandParams.memo || '',
|
||||||
transactionAmount: new Decimal(this.params.amount || 0),
|
transactionAmount: new Decimal(this.sendEmailCommandParams.amount || 0),
|
||||||
};
|
};
|
||||||
switch(this.params.mailType) {
|
switch(this.sendEmailCommandParams.mailType) {
|
||||||
case 'sendTransactionReceivedEmail':
|
case 'sendTransactionReceivedEmail':
|
||||||
await sendTransactionReceivedEmail(emailParams);
|
await sendTransactionReceivedEmail(emailParams);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
throw new Error(`Unknown mail type: ${this.params.mailType}`);
|
throw new Error(`Unknown mail type: ${this.sendEmailCommandParams.mailType}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user