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

88 lines
2.0 KiB
TypeScript

/**
* SIM Domain
*
* Exports all SIM-related contracts, schemas, and provider mappers.
*
* Types are derived from Zod schemas (Schema-First Approach)
*/
// Constants
export { SIM_STATUS, SIM_TYPE, SIM_PLAN_CODES, SIM_PLAN_LABELS } from "./contract.js";
// Schemas (includes derived types)
export * from "./schema.js";
export * from "./lifecycle.js";
// Validation functions
export * from "./validation.js";
export {
canManageActiveSim,
canReissueEsim,
canCancelSim,
canTopUpSim,
formatSimPlanShort,
SIM_PLAN_OPTIONS,
getSimPlanLabel,
buildSimFeaturesUpdatePayload,
} from "./helpers.js";
// Re-export types for convenience
export type {
SimStatus,
SimType,
SimDetails,
RecentDayUsage,
SimUsage,
SimTopUpHistoryEntry,
SimTopUpHistory,
SimInfo,
// Portal-facing DTOs
SimAvailablePlan,
SimCancellationMonth,
SimCancellationPreview,
SimReissueFullRequest,
SimCallHistoryPagination,
SimDomesticCallRecord,
SimDomesticCallHistoryResponse,
SimInternationalCallRecord,
SimInternationalCallHistoryResponse,
SimSmsRecord,
SimSmsHistoryResponse,
SimHistoryMonth,
SimHistoryAvailableMonths,
SimCallHistoryImportResult,
SimSftpFiles,
// Request types
SimTopUpRequest,
SimPlanChangeRequest,
SimCancelRequest,
SimTopUpHistoryRequest,
SimFeaturesUpdateRequest,
SimReissueRequest,
SimConfigureFormData,
SimCardType,
ActivationType,
MnpData,
// Enhanced request types
SimCancelFullRequest,
SimTopUpFullRequest,
SimChangePlanFullRequest,
SimHistoryQuery,
SimSftpListQuery,
SimCallHistoryImportQuery,
SimReissueEsimRequest,
// Activation types
SimOrderActivationRequest,
SimOrderActivationMnp,
SimOrderActivationAddons,
// Pricing types
SimTopUpPricing,
SimTopUpPricingPreviewRequest,
SimTopUpPricingPreviewResponse,
} from "./schema.js";
export type { SimPlanCode } from "./contract.js";
export type { SimPlanOption, SimFeatureToggleSnapshot } from "./helpers.js";
// Provider adapters
export * as Providers from "./providers/index.js";