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

export class TransferOrderCreatedEvent implements DomainEvent {
  readonly type = 'TransferOrderCreated';
  readonly aggregateType = 'TransferOrder';
  readonly occurredAt: Date;

  constructor(
    public readonly aggregateId: string,
    public readonly data: {
      transferOrderNo: string;
      sellerUserId: string;
      sellerAccountSequence: string;
      buyerUserId: string;
      buyerAccountSequence: string;
      sourceOrderNo: string;
      treeCount: number;
      transferPrice: string;
    },
  ) {
    this.occurredAt = new Date();
  }
}
