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>;
/*
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 {
const methodLogger = createLogger(`validateRequiredFields`)
if(!this.requiredFields || this.requiredFields.length === 0) {
const methodLogger = createLogger(`validateRequiredFields`)
methodLogger.debug(`validateRequiredFields() no required fields`)
return;
}
methodLogger.debug(`validateRequiredFields() requiredFields=${JSON.stringify(this.requiredFields)}`)
const missingFields = this.requiredFields.filter(field =>
this.params[field] === undefined || this.params[field] === null || this.params[field] === ''
);
methodLogger.debug(`validateRequiredFields() missingFields=${JSON.stringify(missingFields)}`)
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(', ')}`);
}
}
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] !== null &&
this.params[field] !== ''
);
methodLogger.debug(`validate() isValid=${isValid}`)
return isValid;
}
}