import { Logger } from '@nestjs/common';

export abstract class BaseWorkflow {
  protected readonly logger = new Logger(this.constructor.name);

  abstract execute(...args: any[]): Promise<any>;

  protected logExecution(message: string, context?: any) {
    this.logger.log(`[WORKFLOW] ${message}`);
    if (context) {
      this.logger.debug(context);
    }
  }
}
