- Added a new script to check domain imports, promoting better import hygiene across the codebase. - Refactored multiple domain index files to remove unnecessary type re-exports, streamlining the module structure. - Expanded documentation on import patterns and validation processes to provide clearer guidance for developers. - Included an architecture diagram to illustrate the relationships between the Portal, BFF, and Domain packages.
66 lines
1.5 KiB
TypeScript
66 lines
1.5 KiB
TypeScript
/**
|
|
* Orders Domain
|
|
*
|
|
* Exports all order-related contracts, schemas, and provider mappers.
|
|
*
|
|
* Types are derived from Zod schemas (Schema-First Approach)
|
|
*/
|
|
|
|
// Business types and constants
|
|
export {
|
|
type OrderCreationType,
|
|
type OrderStatus,
|
|
type OrderType,
|
|
type OrderTypeValue,
|
|
type UserMapping,
|
|
// Checkout types
|
|
type CheckoutItem,
|
|
type CheckoutTotals,
|
|
type CheckoutCart,
|
|
type OrderCreateResponse,
|
|
// Constants
|
|
ORDER_TYPE,
|
|
ORDER_STATUS,
|
|
ACTIVATION_TYPE,
|
|
type ActivationTypeValue,
|
|
SIM_TYPE,
|
|
type SimTypeValue,
|
|
ACCESS_MODE,
|
|
type AccessModeValue,
|
|
ORDER_FULFILLMENT_ERROR_CODE,
|
|
type OrderFulfillmentErrorCode,
|
|
} from "./contract.js";
|
|
|
|
// Schemas (includes derived types)
|
|
export * from "./schema.js";
|
|
|
|
// Validation (extended business rules)
|
|
export * from "./validation.js";
|
|
|
|
// Utilities
|
|
export * from "./utils.js";
|
|
export * from "./events.js";
|
|
export {
|
|
buildSimOrderConfigurations,
|
|
normalizeBillingCycle,
|
|
normalizeOrderSelections,
|
|
buildOrderDisplayItems,
|
|
categorizeOrderItem,
|
|
type BuildSimOrderConfigurationsOptions,
|
|
type OrderStatusDescriptor,
|
|
type OrderStatusInput,
|
|
type OrderStatusState,
|
|
type OrderStatusTone,
|
|
type OrderServiceCategory,
|
|
type OrderTotalsInputItem,
|
|
deriveOrderStatusDescriptor,
|
|
getOrderServiceCategory,
|
|
calculateOrderTotals,
|
|
formatScheduledDate,
|
|
} from "./helpers.js";
|
|
|
|
// Provider adapters
|
|
// NOTE: Provider adapters are intentionally not exported from the module root.
|
|
// Import BFF-only provider adapters from:
|
|
// @customer-portal/domain/orders/providers
|