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`)