barsa 4573b94484 Enhance WHMCS Integration and Add Internet Cancellation Features
- Introduced WhmcsAccountDiscoveryService to streamline client account discovery processes.
- Expanded WhmcsCacheService to include caching for subscription invoices and client email mappings, improving data retrieval efficiency.
- Updated WhmcsClientService to utilize caching for client ID lookups by email, enhancing performance.
- Implemented new internet cancellation features in SubscriptionsController, allowing users to preview and submit cancellation requests for internet services.
- Added validation schemas for internet cancellation requests, ensuring data integrity and user guidance during the cancellation process.
- Refactored various components and services to integrate new cancellation functionalities, improving user experience and operational flow.
2025-12-23 15:19:20 +09:00

51 lines
1.2 KiB
TypeScript

/**
* Subscriptions Domain
*
* Exports all subscription-related contracts, schemas, and provider mappers.
*
* Types are derived from Zod schemas (Schema-First Approach)
*/
// Constants
export { SUBSCRIPTION_STATUS, SUBSCRIPTION_CYCLE } from "./contract.js";
// Schemas (includes derived types)
export * from "./schema.js";
// Re-export types for convenience
export type {
SubscriptionStatus,
SubscriptionCycle,
Subscription,
SubscriptionList,
SubscriptionQueryParams,
SubscriptionQuery,
SubscriptionStats,
SimActionResponse,
SimPlanChangeResult,
// Internet cancellation types
InternetCancellationMonth,
InternetCancellationPreview,
InternetCancelRequest,
} from "./schema.js";
// Re-export schemas for validation
export {
internetCancellationMonthSchema,
internetCancellationPreviewSchema,
internetCancelRequestSchema,
} from "./schema.js";
// Provider adapters
export * as Providers from "./providers/index.js";
// Re-export provider raw types (request and response)
export type {
// Request params
WhmcsGetClientsProductsParams,
// Response types
WhmcsProductListResponse,
} from "./providers/whmcs/raw.types.js";
export { whmcsProductListResponseSchema } from "./providers/whmcs/raw.types.js";