feat: implement project development module, transfer management features, and industrial AVM model integration
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
import { type PaymentType } from '@prisma/client';
|
||||
import { type DomainEvent } from '@modules/shared';
|
||||
|
||||
/**
|
||||
* Emitted when an admin manually confirms a VN bank transfer payment.
|
||||
*
|
||||
* Carries enough metadata for downstream consumers (audit logging,
|
||||
* subscription activation, accounting) without requiring a re-read
|
||||
* of the payment aggregate.
|
||||
*/
|
||||
export class BankTransferConfirmedEvent implements DomainEvent {
|
||||
readonly eventName = 'payment.bank_transfer_confirmed';
|
||||
readonly occurredAt = new Date();
|
||||
|
||||
constructor(
|
||||
public readonly aggregateId: string,
|
||||
public readonly userId: string,
|
||||
public readonly type: PaymentType,
|
||||
public readonly amountVND: bigint,
|
||||
public readonly confirmedBy: string,
|
||||
public readonly bankReference: string | null,
|
||||
) {}
|
||||
}
|
||||
Reference in New Issue
Block a user