import { type PaymentProvider } from '@prisma/client'; import { type DomainEvent } from '@modules/shared'; export class PaymentCompletedEvent implements DomainEvent { readonly eventName = 'payment.completed'; readonly occurredAt = new Date(); constructor( public readonly aggregateId: string, public readonly userId: string, public readonly provider: PaymentProvider, public readonly amountVND: bigint, ) {} }