feat(payments): add Order & Escrow entities with CQRS commands, Prisma schema
- Add Order entity with lifecycle (pending → paid → completed/cancelled/refunded) - Add Escrow entity with hold/release/dispute flow for secure transactions - Add PlatformFee value object with tiered commission calculation - Implement CQRS: CreateOrder, CancelOrder, HoldEscrow, ReleaseEscrow commands - Add GetOrderStatus query handler - Add OrdersController with REST endpoints and DTOs - Add Prisma models for Order, Escrow, EscrowStatusHistory - Add domain event classes for order and escrow state changes - Add unit tests for Order, Escrow entities and PlatformFee VO - Update PROJECT_TRACKER to Wave 14 status Co-Authored-By: Claude Opus 4 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,24 @@
|
||||
export { PaymentsModule } from './payments.module';
|
||||
|
||||
// Repositories
|
||||
export { ESCROW_REPOSITORY, type IEscrowRepository } from './domain/repositories/escrow.repository';
|
||||
export { ORDER_REPOSITORY, type IOrderRepository } from './domain/repositories/order.repository';
|
||||
export { PAYMENT_REPOSITORY, type IPaymentRepository } from './domain/repositories/payment.repository';
|
||||
|
||||
// Gateway
|
||||
export { PAYMENT_GATEWAY_FACTORY, type IPaymentGatewayFactory } from './infrastructure/services/payment-gateway.interface';
|
||||
|
||||
// Domain Events — Payment
|
||||
export { PaymentCompletedEvent } from './domain/events/payment-completed.event';
|
||||
export { PaymentFailedEvent } from './domain/events/payment-failed.event';
|
||||
export { PaymentRefundedEvent } from './domain/events/payment-refunded.event';
|
||||
|
||||
// Domain Events — Order
|
||||
export { OrderCreatedEvent } from './domain/events/order-created.event';
|
||||
export { OrderCancelledEvent } from './domain/events/order-cancelled.event';
|
||||
export { OrderPaidEvent } from './domain/events/order-paid.event';
|
||||
|
||||
// Domain Events — Escrow
|
||||
export { EscrowDisputedEvent } from './domain/events/escrow-disputed.event';
|
||||
export { EscrowHeldEvent } from './domain/events/escrow-held.event';
|
||||
export { EscrowReleasedEvent } from './domain/events/escrow-released.event';
|
||||
|
||||
Reference in New Issue
Block a user