add logger

This commit is contained in:
clauspeterhuebner 2026-02-09 23:28:31 +01:00
parent 4eef68e334
commit 4de64ea070

View File

@ -13,38 +13,36 @@ export abstract class BaseCommand<T = any> implements Command<T> {
} }
abstract execute(): Promise<T>; abstract execute(): Promise<T>;
/*
validate(): boolean {
return true; // Default implementation, override in subclasses
}
protected validateParams(requiredParams: string[]): boolean {
return requiredParams.every(param => this.params[param] !== undefined);
}
*/
private validateRequiredFields(): void { private validateRequiredFields(): void {
const methodLogger = createLogger(`validateRequiredFields`)
if(!this.requiredFields || this.requiredFields.length === 0) { if(!this.requiredFields || this.requiredFields.length === 0) {
const methodLogger = createLogger(`validateRequiredFields`)
methodLogger.debug(`validateRequiredFields() no required fields`) methodLogger.debug(`validateRequiredFields() no required fields`)
return; return;
} }
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] === ''
); );
methodLogger.debug(`validateRequiredFields() missingFields=${JSON.stringify(missingFields)}`)
if (missingFields.length > 0) { if (missingFields.length > 0) {
const methodLogger = createLogger(`validateRequiredFields`)
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 {
return this.requiredFields.every(field => const methodLogger = createLogger(`validate`)
methodLogger.debug(`validate() params=${JSON.stringify(this.params)}`)
const isValid = this.requiredFields.every(field =>
this.params[field] !== undefined && this.params[field] !== undefined &&
this.params[field] !== null && this.params[field] !== null &&
this.params[field] !== '' this.params[field] !== ''
); );
methodLogger.debug(`validate() isValid=${isValid}`)
return isValid;
} }
} }