barsa 76361d6422 Implement Salesforce Integration for Services and Cache Management
- Introduced ServicesCdcSubscriber for handling Salesforce Change Data Capture events, enabling real-time updates for product and account eligibility changes.
- Developed utility functions for building SOQL queries related to services, enhancing data retrieval capabilities.
- Created base service classes for internet, SIM, and VPN offerings, improving code organization and maintainability.
- Implemented ServicesCacheService for efficient caching and invalidation of service data, leveraging CDC for real-time updates.
- Enhanced existing service components to utilize new caching mechanisms and ensure data consistency across the application.
2025-12-25 13:59:28 +09:00

59 lines
1.3 KiB
TypeScript

/**
* Services Domain
*
* Exports all services-related contracts, schemas, and provider mappers.
*
* Types are derived from Zod schemas (Schema-First Approach)
*/
// Provider-specific types
export {
type SalesforceProductFieldMap,
type PricingTier,
type CatalogFilter,
type CatalogPriceInfo,
} from "./contract.js";
// Schemas (includes derived types)
export * from "./schema.js";
// Re-export types for convenience
export type {
CatalogProductBase,
CatalogPricebookEntry,
// Internet products
InternetCatalogProduct,
InternetPlanTemplate,
InternetPlanCatalogItem,
InternetInstallationCatalogItem,
InternetAddonCatalogItem,
InternetEligibilityStatus,
InternetEligibilityDetails,
// SIM products
SimCatalogProduct,
SimActivationFeeCatalogItem,
// VPN products
VpnCatalogProduct,
// Union type
CatalogProduct,
} from "./schema.js";
// Provider adapters
export * as Providers from "./providers/index.js";
// Re-export provider raw types for convenience
export * from "./providers/salesforce/raw.types.js";
// Re-export WHMCS provider types
export type {
WhmcsCatalogProduct,
WhmcsCatalogProductListResponse,
} from "./providers/whmcs/raw.types.js";
export type {
WhmcsCatalogProductNormalized,
WhmcsCatalogPricing,
} from "./providers/whmcs/mapper.js";
// Utilities
export * from "./utils.js";