import { BatchResult } from 'src/core/response/domain/ok-response.interface';
import { BaseDataOrchestrator } from './base-data.orchestrator';

export abstract class BaseDataTransactionOrchestrator<
  Entity,
> extends BaseDataOrchestrator<Entity> {
  abstract active(dataId: string): Promise<string>;
  abstract confirm(dataId: string): Promise<string>;
  abstract inactive(dataId: string): Promise<string>;
  abstract batchConfirm(dataIds: string[]): Promise<BatchResult>;
  abstract batchActive(dataIds: string[]): Promise<BatchResult>;
  abstract batchInactive(dataIds: string[]): Promise<BatchResult>;
}
