import { DomainEvent } from './domain-event.interface';

export class TransferStatusChangedEvent implements DomainEvent {
  readonly type = 'TransferStatusChanged';
  readonly aggregateType = 'TransferOrder';
  readonly occurredAt: Date;

  constructor(
    public readonly aggregateId: string,
    public readonly data: {
      transferOrderNo: string;
      fromStatus: string;
      toStatus: string;
      fromSagaStep: string;
      toSagaStep: string;
    },
  ) {
    this.occurredAt = new Date();
  }
}
