From 4eef68e334524143204368c92598f14ee5184382 Mon Sep 17 00:00:00 2001 From: clauspeterhuebner Date: Mon, 9 Feb 2026 22:59:30 +0100 Subject: [PATCH] correct validRequiredFields --- core/src/command/BaseCommand.ts | 16 ++++++++++++++-- core/src/command/commands/SendEmailCommand.ts | 2 +- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/core/src/command/BaseCommand.ts b/core/src/command/BaseCommand.ts index b1386d6ab..46590ae48 100644 --- a/core/src/command/BaseCommand.ts +++ b/core/src/command/BaseCommand.ts @@ -1,10 +1,15 @@ +import { getLogger } from 'log4js'; import { Command } from './Command'; +import { LOG4JS_BASE_CATEGORY_NAME } from '../config/const'; + +const createLogger = (method: string) => + getLogger(`${LOG4JS_BASE_CATEGORY_NAME}.command.CommandExecutor.${method}`) export abstract class BaseCommand implements Command { protected abstract requiredFields: string[]; - + protected constructor(protected readonly params: any = {}) { - this.validateRequiredFields(); + // this.validateRequiredFields(); } abstract execute(): Promise; @@ -18,11 +23,18 @@ export abstract class BaseCommand implements Command { } */ private validateRequiredFields(): void { + if(!this.requiredFields || this.requiredFields.length === 0) { + const methodLogger = createLogger(`validateRequiredFields`) + methodLogger.debug(`validateRequiredFields() no required fields`) + return; + } const missingFields = this.requiredFields.filter(field => this.params[field] === undefined || this.params[field] === null || this.params[field] === '' ); if (missingFields.length > 0) { + const methodLogger = createLogger(`validateRequiredFields`) + methodLogger.error(`validateRequiredFields() missing fields: ${missingFields.join(', ')}`) throw new Error(`Missing required fields for ${this.constructor.name}: ${missingFields.join(', ')}`); } } diff --git a/core/src/command/commands/SendEmailCommand.ts b/core/src/command/commands/SendEmailCommand.ts index 6395724df..a034eb025 100644 --- a/core/src/command/commands/SendEmailCommand.ts +++ b/core/src/command/commands/SendEmailCommand.ts @@ -18,7 +18,7 @@ export interface SendEmailCommandParams { } export class SendEmailCommand extends BaseCommand<{ success: boolean }> { static readonly SEND_MAIL_COMMAND = 'SEND_MAIL_COMMAND'; - requiredFields: string[] = ['mailType', 'senderComUuid', 'senderGradidoId', 'receiverComUuid', 'receiverGradidoId']; + protected requiredFields: string[] = ['mailType', 'senderComUuid', 'senderGradidoId', 'receiverComUuid', 'receiverGradidoId']; constructor(params: SendEmailCommandParams) { const methodLogger = createLogger(`constructor`)