barsa 10c8461661 Implement Zod DTOs for Request Validation and Enhance ESLint Rules
- Introduced Zod DTOs for request validation across multiple controllers, replacing inline validation with structured classes for improved maintainability and clarity.
- Updated ESLint configuration to enforce a rule against importing Zod directly in BFF controllers, promoting the use of shared domain schemas for request validation.
- Removed the SecureErrorMapperService to streamline the security module, as its functionality was deemed unnecessary.
- Enhanced various controllers to utilize the new DTOs, ensuring consistent validation and response handling across the application.
2025-12-26 13:04:15 +09:00

51 lines
1.1 KiB
TypeScript

/**
* Billing Domain
*
* Exports all billing-related contracts, schemas, and provider mappers.
*
* Types are derived from Zod schemas (Schema-First Approach)
*/
// Constants
export { INVOICE_STATUS } from "./contract.js";
export * from "./constants.js";
// Schemas (includes derived types)
export * from "./schema.js";
// Re-export types for convenience
export type {
InvoiceStatus,
InvoiceItem,
Invoice,
InvoicePagination,
InvoiceList,
InvoiceSsoLink,
PaymentInvoiceRequest,
BillingSummary,
InvoiceQueryParams,
InvoiceListQuery,
InvoiceSsoQuery,
InvoicePaymentLinkQuery,
} from "./schema.js";
// Provider adapters
export * as Providers from "./providers/index.js";
// Re-export provider raw types (request and response)
export type {
// Request params
WhmcsGetInvoicesParams,
WhmcsCreateInvoiceParams,
WhmcsUpdateInvoiceParams,
WhmcsCapturePaymentParams,
// Response types
WhmcsInvoiceListResponse,
WhmcsInvoiceResponse,
WhmcsCreateInvoiceResponse,
WhmcsUpdateInvoiceResponse,
WhmcsCapturePaymentResponse,
WhmcsCurrency,
WhmcsCurrenciesResponse,
} from "./providers/whmcs/raw.types.js";