@marcohefti/request-network-api-client 0.5.12 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/cjs/domains/currencies/v1/index.js +288 -0
- package/dist/cjs/domains/currencies/v1/index.js.map +1 -0
- package/dist/cjs/domains/pay/index.js +251 -0
- package/dist/cjs/domains/pay/index.js.map +1 -0
- package/dist/cjs/domains/pay/v1/index.js +241 -0
- package/dist/cjs/domains/pay/v1/index.js.map +1 -0
- package/dist/cjs/domains/payer/v1/index.js +355 -0
- package/dist/cjs/domains/payer/v1/index.js.map +1 -0
- package/dist/cjs/domains/payer/v2/index.js +355 -0
- package/dist/cjs/domains/payer/v2/index.js.map +1 -0
- package/dist/cjs/domains/payments/index.js +274 -0
- package/dist/cjs/domains/payments/index.js.map +1 -0
- package/dist/cjs/domains/requests/index.js +38 -10
- package/dist/cjs/domains/requests/index.js.map +1 -1
- package/dist/cjs/domains/requests/v1/index.js +499 -0
- package/dist/cjs/domains/requests/v1/index.js.map +1 -0
- package/dist/cjs/domains/secure-payments/index.js +248 -0
- package/dist/cjs/domains/secure-payments/index.js.map +1 -0
- package/dist/cjs/index.js +234 -242
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/{index-DJGHELE1.d.mts → currencies.v1.facade-ROQlpyCp.d.mts} +2 -34
- package/dist/esm/domains/client-ids/index.d.mts +2 -2
- package/dist/esm/domains/currencies/index.d.mts +3 -2
- package/dist/esm/domains/currencies/v1/index.d.mts +3 -0
- package/dist/esm/domains/currencies/v1/index.js +286 -0
- package/dist/esm/domains/currencies/v1/index.js.map +1 -0
- package/dist/esm/domains/pay/index.d.mts +3 -0
- package/dist/esm/domains/pay/index.js +248 -0
- package/dist/esm/domains/pay/index.js.map +1 -0
- package/dist/esm/domains/pay/v1/index.d.mts +2 -0
- package/dist/esm/domains/pay/v1/index.js +239 -0
- package/dist/esm/domains/pay/v1/index.js.map +1 -0
- package/dist/esm/domains/payer/index.d.mts +4 -2
- package/dist/esm/domains/payer/v1/index.d.mts +2 -0
- package/dist/esm/domains/payer/v1/index.js +353 -0
- package/dist/esm/domains/payer/v1/index.js.map +1 -0
- package/dist/esm/domains/payer/v2/index.d.mts +2 -0
- package/dist/esm/domains/payer/v2/index.js +353 -0
- package/dist/esm/domains/payer/v2/index.js.map +1 -0
- package/dist/esm/domains/payments/index.d.mts +3 -0
- package/dist/esm/domains/payments/index.js +272 -0
- package/dist/esm/domains/payments/index.js.map +1 -0
- package/dist/esm/domains/payouts/index.d.mts +2 -2
- package/dist/esm/domains/requests/index.d.mts +3 -2
- package/dist/esm/domains/requests/index.js +38 -10
- package/dist/esm/domains/requests/index.js.map +1 -1
- package/dist/esm/domains/requests/v1/index.d.mts +3 -0
- package/dist/esm/domains/requests/v1/index.js +497 -0
- package/dist/esm/domains/requests/v1/index.js.map +1 -0
- package/dist/esm/domains/secure-payments/index.d.mts +2 -0
- package/dist/esm/domains/secure-payments/index.js +246 -0
- package/dist/esm/domains/secure-payments/index.js.map +1 -0
- package/dist/esm/index-4zmukpkJ.d.mts +12 -0
- package/dist/esm/index-BPikysYP.d.mts +10 -0
- package/dist/esm/index-BlEg0bI1.d.mts +25 -0
- package/dist/esm/{index-hYoC2ndH.d.mts → index-CBcZqEQp.d.mts} +1 -1
- package/dist/esm/index-CS9UrTd6.d.mts +10 -0
- package/dist/esm/index-CeMw0yOZ.d.mts +3393 -0
- package/dist/esm/index-DPVFRK3h.d.mts +36 -0
- package/dist/esm/{index-DbnV_D6L.d.mts → index-DPx06HBi.d.mts} +18 -58
- package/dist/esm/index-DZ0iw_Xz.d.mts +10 -0
- package/dist/esm/index-DpFThmL3.d.mts +57 -0
- package/dist/esm/{index-y1nxa55y.d.mts → index-DuMayMNI.d.mts} +1 -1
- package/dist/esm/index-Kx46FKbk.d.mts +38 -0
- package/dist/esm/index-srhKdWh7.d.mts +21 -0
- package/dist/esm/index.d.mts +31 -3520
- package/dist/esm/index.js +234 -242
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/{openapi-types-CQ1z27_K.d.mts → openapi-types-JhYQOcil.d.mts} +252 -117
- package/dist/esm/pay.v1.facade-wxvuDX9t.d.mts +17 -0
- package/dist/esm/payer.v1.facade-Rcl1BBPl.d.mts +31 -0
- package/dist/esm/payer.v2.facade-BqcIOIBY.d.mts +31 -0
- package/dist/esm/request.helpers-DgzNANMt.d.mts +51 -0
- package/package.json +6 -6
- package/dist/cjs/domains/payee-destination/index.js +0 -276
- package/dist/cjs/domains/payee-destination/index.js.map +0 -1
- package/dist/esm/domains/payee-destination/index.d.mts +0 -2
- package/dist/esm/domains/payee-destination/index.js +0 -274
- package/dist/esm/domains/payee-destination/index.js.map +0 -1
- package/dist/esm/index-DJjp2Jbk.d.mts +0 -79
- package/dist/esm/index-DQIf9k5x.d.mts +0 -31
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/core/http/validation.config.ts","../../../../../src/validation/schema.registry.ts","../../../../../src/validation/zod.helpers.ts","../../../../../src/core/http/operation.helper.ts","../../../../../src/domains/payer/v2/payer.v2.facade.ts","../../../../../src/validation/generated/groups/payer.schemas.generated.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import type { RuntimeValidationConfig, RuntimeValidationOption } from \"./http.types\";\n\nconst DEFAULT_RUNTIME_VALIDATION: RuntimeValidationConfig = {\n requests: true,\n responses: true,\n errors: true,\n};\n\nfunction normaliseBoolean(flag: boolean | undefined, fallback: boolean): boolean {\n return typeof flag === \"boolean\" ? flag : fallback;\n}\n\nexport function normaliseRuntimeValidation(option?: RuntimeValidationOption): RuntimeValidationConfig {\n if (typeof option === \"boolean\") {\n return {\n requests: option,\n responses: option,\n errors: option,\n } satisfies RuntimeValidationConfig;\n }\n\n return {\n requests: normaliseBoolean(option?.requests, DEFAULT_RUNTIME_VALIDATION.requests),\n responses: normaliseBoolean(option?.responses, DEFAULT_RUNTIME_VALIDATION.responses),\n errors: normaliseBoolean(option?.errors, DEFAULT_RUNTIME_VALIDATION.errors),\n } satisfies RuntimeValidationConfig;\n}\n\nexport function mergeRuntimeValidation(base: RuntimeValidationConfig, override?: RuntimeValidationOption): RuntimeValidationConfig {\n if (override === undefined) {\n return base;\n }\n\n if (typeof override === \"boolean\") {\n return {\n requests: override,\n responses: override,\n errors: override,\n } satisfies RuntimeValidationConfig;\n }\n\n return {\n requests: normaliseBoolean(override.requests, base.requests),\n responses: normaliseBoolean(override.responses, base.responses),\n errors: normaliseBoolean(override.errors, base.errors),\n } satisfies RuntimeValidationConfig;\n}\n\nexport function cloneRuntimeValidation(config: RuntimeValidationConfig): RuntimeValidationConfig {\n return { ...config };\n}\n","import type { ZodTypeAny } from \"zod\";\n\nexport type SchemaKind = \"request\" | \"response\" | \"webhook\";\n\nexport interface SchemaKey {\n operationId: string;\n kind: SchemaKind;\n variant?: string;\n status?: number;\n}\n\nexport interface SchemaEntry<TSchema extends ZodTypeAny = ZodTypeAny> {\n key: SchemaKey;\n schema: TSchema;\n}\n\nfunction serialiseKey(key: SchemaKey): string {\n const variant = key.variant ?? \"default\";\n const status = key.status?.toString() ?? \"any\";\n return `${key.operationId}|${key.kind}|${variant}|${status}`;\n}\n\n/**\n * Lightweight registry that associates OpenAPI operation IDs with validation schemas.\n * Generators can populate this map while domain modules retrieve the schemas at runtime.\n */\nexport class SchemaRegistry {\n private readonly store = new Map<string, SchemaEntry>();\n\n register(entry: SchemaEntry): void {\n const id = serialiseKey(entry.key);\n this.store.set(id, entry);\n }\n\n get(key: SchemaKey): ZodTypeAny | undefined {\n const id = serialiseKey(key);\n return this.store.get(id)?.schema;\n }\n\n /**\n * Removes every registered schema — primarily useful in tests.\n */\n clear(): void {\n this.store.clear();\n }\n}\n\nexport const schemaRegistry = new SchemaRegistry();\n","import { type SafeParseReturnType, type ZodTypeAny } from \"zod\";\n\nimport type { SchemaKey } from \"./schema.registry\";\nimport { schemaRegistry } from \"./schema.registry\";\n\nexport type SchemaOutput<TSchema extends ZodTypeAny> = TSchema[\"_output\"];\n\nexport interface ParseWithSchemaOptions<TSchema extends ZodTypeAny> {\n schema: TSchema;\n value: unknown;\n description?: string;\n}\n\nexport interface ParseRegistryOptions {\n key: SchemaKey;\n value: unknown;\n description?: string;\n skipOnMissingSchema?: boolean;\n}\n\nexport interface ParseResult<T> {\n success: boolean;\n data?: T;\n error?: unknown;\n}\n\nexport class ValidationError extends Error {\n constructor(message: string, readonly cause?: unknown) {\n super(message, { cause });\n this.name = \"ClientValidationError\";\n }\n}\n\nexport function parseWithSchema<TSchema extends ZodTypeAny>(\n options: ParseWithSchemaOptions<TSchema>,\n): ParseResult<SchemaOutput<TSchema>> {\n const { schema, value, description } = options;\n const outcome: SafeParseReturnType<unknown, SchemaOutput<TSchema>> = schema.safeParse(value);\n if (outcome.success) {\n return { success: true, data: outcome.data };\n }\n\n const error = new ValidationError(description ?? \"Validation failed\", outcome.error);\n return { success: false, error };\n}\n\nexport function parseWithRegistry<TSchema extends ZodTypeAny>(options: ParseRegistryOptions): ParseResult<SchemaOutput<TSchema>> {\n const schema = schemaRegistry.get(options.key) as TSchema | undefined;\n if (!schema) {\n if (options.skipOnMissingSchema) {\n return { success: true, data: options.value as SchemaOutput<TSchema> };\n }\n return { success: false, error: new ValidationError(`No schema registered for ${options.key.operationId}`) };\n }\n\n return parseWithSchema({ schema, value: options.value, description: options.description });\n}\n","import type { HttpClient, HttpMethod, RequestOptions, RuntimeValidationOption } from \"./http.types\";\nimport { mergeRuntimeValidation } from \"./validation.config\";\nimport type { SchemaKey } from \"../../validation/schema.registry\";\nimport { parseWithRegistry } from \"../../validation/zod.helpers\";\n\ntype Query = NonNullable<RequestOptions[\"query\"]>;\n\nexport interface RequestJsonParams {\n operationId: string;\n method: HttpMethod;\n path: string;\n query?: Query;\n body?: unknown;\n schemaKey: SchemaKey;\n requestSchemaKey?: SchemaKey;\n description?: string;\n querySerializer?: RequestOptions[\"querySerializer\"];\n signal?: RequestOptions[\"signal\"];\n timeoutMs?: RequestOptions[\"timeoutMs\"];\n validation?: RuntimeValidationOption;\n meta?: RequestOptions[\"meta\"];\n}\n\nexport async function requestJson<T>(http: HttpClient, params: RequestJsonParams): Promise<T> {\n const {\n operationId,\n method,\n path,\n query,\n body,\n schemaKey,\n requestSchemaKey,\n description,\n querySerializer,\n signal,\n timeoutMs,\n validation,\n meta,\n } = params;\n\n const runtimeValidation = mergeRuntimeValidation(http.getRuntimeValidationConfig(), validation);\n\n let requestBody = body;\n if (runtimeValidation.requests && requestSchemaKey && body !== undefined) {\n const parsedRequest = parseWithRegistry({\n key: requestSchemaKey,\n value: body,\n description: `${description ?? operationId} request`,\n skipOnMissingSchema: true,\n });\n if (!parsedRequest.success) {\n throw parsedRequest.error;\n }\n requestBody = parsedRequest.data;\n }\n\n const metaValidation = validation ?? meta?.validation;\n const requestMeta: RequestOptions[\"meta\"] = {\n ...(meta ?? {}),\n operationId,\n validation: metaValidation,\n };\n\n const res = await http.request({\n method,\n path,\n query,\n body: requestBody,\n querySerializer,\n signal,\n timeoutMs,\n meta: requestMeta,\n });\n\n if (!runtimeValidation.responses) {\n return res.data as T;\n }\n\n const parsedResponse = parseWithRegistry({ key: schemaKey, value: res.data, description });\n if (!parsedResponse.success) throw parsedResponse.error;\n return parsedResponse.data as T;\n}\n\nexport interface RequestVoidParams {\n operationId: string;\n method: HttpMethod;\n path: string;\n query?: Query;\n body?: unknown;\n querySerializer?: RequestOptions[\"querySerializer\"];\n signal?: RequestOptions[\"signal\"];\n timeoutMs?: RequestOptions[\"timeoutMs\"];\n requestSchemaKey?: SchemaKey;\n validation?: RuntimeValidationOption;\n meta?: RequestOptions[\"meta\"];\n}\n\nexport async function requestVoid(http: HttpClient, params: RequestVoidParams): Promise<void> {\n const { operationId, method, path, query, body, querySerializer, signal, timeoutMs, requestSchemaKey, validation, meta } = params;\n\n const runtimeValidation = mergeRuntimeValidation(http.getRuntimeValidationConfig(), validation);\n\n let requestBody = body;\n if (runtimeValidation.requests && requestSchemaKey && body !== undefined) {\n const parsedRequest = parseWithRegistry({\n key: requestSchemaKey,\n value: body,\n description: `${operationId} request`,\n skipOnMissingSchema: true,\n });\n if (!parsedRequest.success) {\n throw parsedRequest.error;\n }\n requestBody = parsedRequest.data;\n }\n\n const metaValidation = validation ?? meta?.validation;\n const requestMeta: RequestOptions[\"meta\"] = {\n ...(meta ?? {}),\n operationId,\n validation: metaValidation,\n };\n\n await http.request({\n method,\n path,\n query,\n body: requestBody,\n querySerializer,\n signal,\n timeoutMs,\n meta: requestMeta,\n });\n}\n","import type { HttpClient, RequestOptions, RuntimeValidationOption } from \"../../../core/http/http.types\";\nimport { requestJson } from \"../../../core/http/operation.helper\";\nimport type { operations } from \"../../../generated/openapi-types\";\n\nconst OP_CREATE_COMPLIANCE = \"PayerV2Controller_getComplianceData_v2\" as const;\nconst OP_GET_STATUS = \"PayerV2Controller_getComplianceStatus_v2\" as const;\nconst OP_UPDATE_STATUS = \"PayerV2Controller_updateComplianceStatus_v2\" as const;\nconst OP_CREATE_PAYMENT_DETAILS = \"PayerV2Controller_createPaymentDetails_v2\" as const;\nconst OP_GET_PAYMENT_DETAILS = \"PayerV2Controller_getPaymentDetails_v2\" as const;\n\ntype CreateComplianceBody = operations[typeof OP_CREATE_COMPLIANCE][\"requestBody\"][\"content\"][\"application/json\"];\ntype CreateComplianceResponse = operations[typeof OP_CREATE_COMPLIANCE][\"responses\"][200][\"content\"][\"application/json\"];\n\ntype ComplianceStatusResponse = operations[typeof OP_GET_STATUS][\"responses\"][200][\"content\"][\"application/json\"];\n\ntype UpdateComplianceBody = operations[typeof OP_UPDATE_STATUS][\"requestBody\"][\"content\"][\"application/json\"];\ntype UpdateComplianceResponse = operations[typeof OP_UPDATE_STATUS][\"responses\"][200][\"content\"][\"application/json\"];\n\ntype CreatePaymentDetailsBody = operations[typeof OP_CREATE_PAYMENT_DETAILS][\"requestBody\"][\"content\"][\"application/json\"];\ntype CreatePaymentDetailsResponse = operations[typeof OP_CREATE_PAYMENT_DETAILS][\"responses\"][201][\"content\"][\"application/json\"];\n\ntype GetPaymentDetailsResponse = operations[typeof OP_GET_PAYMENT_DETAILS][\"responses\"][200][\"content\"][\"application/json\"];\n\nexport interface PayerV2OperationOptions {\n signal?: AbortSignal;\n timeoutMs?: number;\n validation?: RuntimeValidationOption;\n meta?: RequestOptions[\"meta\"];\n}\n\nexport interface PayerV2Api {\n createComplianceData(body: CreateComplianceBody, options?: PayerV2OperationOptions): Promise<CreateComplianceResponse>;\n getComplianceStatus(clientUserId: string, options?: PayerV2OperationOptions): Promise<ComplianceStatusResponse>;\n updateComplianceStatus(\n clientUserId: string,\n body: UpdateComplianceBody,\n options?: PayerV2OperationOptions,\n ): Promise<UpdateComplianceResponse>;\n createPaymentDetails(\n clientUserId: string,\n body: CreatePaymentDetailsBody,\n options?: PayerV2OperationOptions,\n ): Promise<CreatePaymentDetailsResponse>;\n getPaymentDetails(clientUserId: string, options?: PayerV2OperationOptions): Promise<GetPaymentDetailsResponse>;\n}\n\nexport function createPayerV2Api(http: HttpClient): PayerV2Api {\n return {\n async createComplianceData(body, options) {\n return requestJson<CreateComplianceResponse>(http, {\n operationId: OP_CREATE_COMPLIANCE,\n method: \"POST\",\n path: \"/v2/payer\",\n body,\n requestSchemaKey: { operationId: OP_CREATE_COMPLIANCE, kind: \"request\", variant: \"application/json\" },\n schemaKey: { operationId: OP_CREATE_COMPLIANCE, kind: \"response\", status: 200 },\n description: \"Create compliance data\",\n signal: options?.signal,\n timeoutMs: options?.timeoutMs,\n validation: options?.validation,\n meta: options?.meta,\n });\n },\n\n async getComplianceStatus(clientUserId, options) {\n const path = `/v2/payer/${encodeURIComponent(clientUserId)}`;\n return requestJson<ComplianceStatusResponse>(http, {\n operationId: OP_GET_STATUS,\n method: \"GET\",\n path,\n schemaKey: { operationId: OP_GET_STATUS, kind: \"response\", status: 200 },\n description: \"Get compliance status\",\n signal: options?.signal,\n timeoutMs: options?.timeoutMs,\n validation: options?.validation,\n meta: options?.meta,\n });\n },\n\n async updateComplianceStatus(clientUserId, body, options) {\n const path = `/v2/payer/${encodeURIComponent(clientUserId)}`;\n return requestJson<UpdateComplianceResponse>(http, {\n operationId: OP_UPDATE_STATUS,\n method: \"PATCH\",\n path,\n body,\n requestSchemaKey: { operationId: OP_UPDATE_STATUS, kind: \"request\", variant: \"application/json\" },\n schemaKey: { operationId: OP_UPDATE_STATUS, kind: \"response\", status: 200 },\n description: \"Update compliance status\",\n signal: options?.signal,\n timeoutMs: options?.timeoutMs,\n validation: options?.validation,\n meta: options?.meta,\n });\n },\n\n async createPaymentDetails(clientUserId, body, options) {\n const path = `/v2/payer/${encodeURIComponent(clientUserId)}/payment-details`;\n return requestJson<CreatePaymentDetailsResponse>(http, {\n operationId: OP_CREATE_PAYMENT_DETAILS,\n method: \"POST\",\n path,\n body,\n requestSchemaKey: { operationId: OP_CREATE_PAYMENT_DETAILS, kind: \"request\", variant: \"application/json\" },\n schemaKey: { operationId: OP_CREATE_PAYMENT_DETAILS, kind: \"response\", status: 201 },\n description: \"Create payment details\",\n signal: options?.signal,\n timeoutMs: options?.timeoutMs,\n validation: options?.validation,\n meta: options?.meta,\n });\n },\n\n async getPaymentDetails(clientUserId, options) {\n const path = `/v2/payer/${encodeURIComponent(clientUserId)}/payment-details`;\n return requestJson<GetPaymentDetailsResponse>(http, {\n operationId: OP_GET_PAYMENT_DETAILS,\n method: \"GET\",\n path,\n schemaKey: { operationId: OP_GET_PAYMENT_DETAILS, kind: \"response\", status: 200 },\n description: \"Get payment details\",\n signal: options?.signal,\n timeoutMs: options?.timeoutMs,\n validation: options?.validation,\n meta: options?.meta,\n });\n },\n };\n}\n","// Auto-generated by scripts/generate-zod.mjs. Do not edit.\nimport { z } from 'zod';\n\nimport { schemaRegistry } from '../../schema.registry';\n\nconst ErrorDetailSchema = z\n .object({\n message: z.string(),\n code: z.string().optional(),\n field: z.string().optional(),\n source: z\n .object({\n pointer: z.string().optional(),\n parameter: z.string().optional(),\n })\n .passthrough()\n .optional(),\n meta: z.record(z.unknown()).optional(),\n })\n .passthrough();\n\nconst ErrorEnvelopeSchema = z\n .object({\n status: z.number().optional(),\n statusCode: z.number().optional(),\n code: z.string().optional(),\n error: z.string().optional(),\n message: z\n .union([\n z.string(),\n z.array(z.union([z.string(), ErrorDetailSchema])),\n ErrorDetailSchema,\n ])\n .optional(),\n detail: z.unknown().optional(),\n errors: z.array(ErrorDetailSchema).optional(),\n requestId: z.string().optional(),\n correlationId: z.string().optional(),\n retryAfter: z.union([z.number(), z.string()]).optional(),\n retryAfterMs: z.number().optional(),\n meta: z.record(z.unknown()).optional(),\n })\n .passthrough();\n\n// POST /v1/payer -> PayerV1Controller_getComplianceData_v1 request (application/json)\nexport const PayerV1Controller_getComplianceData_v1_Request = z.object({ \"clientUserId\": z.string(), \"email\": z.string(), \"firstName\": z.string(), \"lastName\": z.string(), \"beneficiaryType\": z.enum(['individual', 'business']), \"companyName\": (z.string()).optional(), \"dateOfBirth\": z.string(), \"addressLine1\": z.string(), \"addressLine2\": (z.string()).optional(), \"city\": z.string(), \"state\": z.string(), \"postcode\": z.string(), \"country\": z.string(), \"nationality\": z.string(), \"phone\": z.string(), \"ssn\": z.string(), \"sourceOfFunds\": (z.string()).optional(), \"businessActivity\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_getComplianceData_v1', kind: 'request', variant: 'application/json' }, schema: PayerV1Controller_getComplianceData_v1_Request });\n\n// POST /v1/payer -> PayerV1Controller_getComplianceData_v1 (200)\nexport const PayerV1Controller_getComplianceData_v1_200 = z.object({ \"agreementUrl\": (z.string()).optional(), \"kycUrl\": (z.string()).optional(), \"status\": z.object({ \"agreementStatus\": z.enum(['not_started', 'completed']), \"kycStatus\": z.enum(['not_started', 'completed']) }).passthrough(), \"userId\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_getComplianceData_v1', kind: 'response', status: 200 }, schema: PayerV1Controller_getComplianceData_v1_200 });\n\n// POST /v1/payer -> PayerV1Controller_getComplianceData_v1 (400)\nexport const PayerV1Controller_getComplianceData_v1_400 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_getComplianceData_v1', kind: 'response', status: 400 }, schema: PayerV1Controller_getComplianceData_v1_400 });\n\n// POST /v1/payer -> PayerV1Controller_getComplianceData_v1 (401)\nexport const PayerV1Controller_getComplianceData_v1_401 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_getComplianceData_v1', kind: 'response', status: 401 }, schema: PayerV1Controller_getComplianceData_v1_401 });\n\n// POST /v1/payer -> PayerV1Controller_getComplianceData_v1 (404)\nexport const PayerV1Controller_getComplianceData_v1_404 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_getComplianceData_v1', kind: 'response', status: 404 }, schema: PayerV1Controller_getComplianceData_v1_404 });\n\n// POST /v1/payer -> PayerV1Controller_getComplianceData_v1 (429)\nexport const PayerV1Controller_getComplianceData_v1_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_getComplianceData_v1', kind: 'response', status: 429 }, schema: PayerV1Controller_getComplianceData_v1_429 });\n\n// GET /v1/payer/{clientUserId} -> PayerV1Controller_getComplianceStatus_v1 (200)\nexport const PayerV1Controller_getComplianceStatus_v1_200 = z.object({ \"kycStatus\": (z.string()).optional(), \"agreementStatus\": (z.string()).optional(), \"isCompliant\": (z.boolean()).optional(), \"userId\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_getComplianceStatus_v1', kind: 'response', status: 200 }, schema: PayerV1Controller_getComplianceStatus_v1_200 });\n\n// GET /v1/payer/{clientUserId} -> PayerV1Controller_getComplianceStatus_v1 (401)\nexport const PayerV1Controller_getComplianceStatus_v1_401 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_getComplianceStatus_v1', kind: 'response', status: 401 }, schema: PayerV1Controller_getComplianceStatus_v1_401 });\n\n// GET /v1/payer/{clientUserId} -> PayerV1Controller_getComplianceStatus_v1 (404)\nexport const PayerV1Controller_getComplianceStatus_v1_404 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_getComplianceStatus_v1', kind: 'response', status: 404 }, schema: PayerV1Controller_getComplianceStatus_v1_404 });\n\n// GET /v1/payer/{clientUserId} -> PayerV1Controller_getComplianceStatus_v1 (429)\nexport const PayerV1Controller_getComplianceStatus_v1_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_getComplianceStatus_v1', kind: 'response', status: 429 }, schema: PayerV1Controller_getComplianceStatus_v1_429 });\n\n// PATCH /v1/payer/{clientUserId} -> PayerV1Controller_updateComplianceStatus_v1 request (application/json)\nexport const PayerV1Controller_updateComplianceStatus_v1_Request = z.object({ \"agreementCompleted\": z.boolean() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_updateComplianceStatus_v1', kind: 'request', variant: 'application/json' }, schema: PayerV1Controller_updateComplianceStatus_v1_Request });\n\n// PATCH /v1/payer/{clientUserId} -> PayerV1Controller_updateComplianceStatus_v1 (200)\nexport const PayerV1Controller_updateComplianceStatus_v1_200 = z.object({ \"success\": (z.boolean()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_updateComplianceStatus_v1', kind: 'response', status: 200 }, schema: PayerV1Controller_updateComplianceStatus_v1_200 });\n\n// PATCH /v1/payer/{clientUserId} -> PayerV1Controller_updateComplianceStatus_v1 (400)\nexport const PayerV1Controller_updateComplianceStatus_v1_400 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_updateComplianceStatus_v1', kind: 'response', status: 400 }, schema: PayerV1Controller_updateComplianceStatus_v1_400 });\n\n// PATCH /v1/payer/{clientUserId} -> PayerV1Controller_updateComplianceStatus_v1 (401)\nexport const PayerV1Controller_updateComplianceStatus_v1_401 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_updateComplianceStatus_v1', kind: 'response', status: 401 }, schema: PayerV1Controller_updateComplianceStatus_v1_401 });\n\n// PATCH /v1/payer/{clientUserId} -> PayerV1Controller_updateComplianceStatus_v1 (404)\nexport const PayerV1Controller_updateComplianceStatus_v1_404 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_updateComplianceStatus_v1', kind: 'response', status: 404 }, schema: PayerV1Controller_updateComplianceStatus_v1_404 });\n\n// PATCH /v1/payer/{clientUserId} -> PayerV1Controller_updateComplianceStatus_v1 (429)\nexport const PayerV1Controller_updateComplianceStatus_v1_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_updateComplianceStatus_v1', kind: 'response', status: 429 }, schema: PayerV1Controller_updateComplianceStatus_v1_429 });\n\n// GET /v1/payer/{clientUserId}/payment-details -> PayerV1Controller_getPaymentDetails_v1 (200)\nexport const PayerV1Controller_getPaymentDetails_v1_200 = z.object({ \"paymentDetails\": (z.array(z.object({ \"id\": (z.string()).optional(), \"userId\": (z.string()).optional(), \"bankName\": (z.string()).optional(), \"accountName\": (z.string()).optional(), \"beneficiaryType\": (z.string()).optional(), \"accountNumber\": (z.string()).optional(), \"routingNumber\": (z.string()).optional(), \"currency\": (z.string()).optional(), \"status\": (z.string()).optional(), \"rails\": (z.string()).optional() }).passthrough())).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_getPaymentDetails_v1', kind: 'response', status: 200 }, schema: PayerV1Controller_getPaymentDetails_v1_200 });\n\n// GET /v1/payer/{clientUserId}/payment-details -> PayerV1Controller_getPaymentDetails_v1 (401)\nexport const PayerV1Controller_getPaymentDetails_v1_401 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_getPaymentDetails_v1', kind: 'response', status: 401 }, schema: PayerV1Controller_getPaymentDetails_v1_401 });\n\n// GET /v1/payer/{clientUserId}/payment-details -> PayerV1Controller_getPaymentDetails_v1 (404)\nexport const PayerV1Controller_getPaymentDetails_v1_404 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_getPaymentDetails_v1', kind: 'response', status: 404 }, schema: PayerV1Controller_getPaymentDetails_v1_404 });\n\n// GET /v1/payer/{clientUserId}/payment-details -> PayerV1Controller_getPaymentDetails_v1 (429)\nexport const PayerV1Controller_getPaymentDetails_v1_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_getPaymentDetails_v1', kind: 'response', status: 429 }, schema: PayerV1Controller_getPaymentDetails_v1_429 });\n\n// POST /v1/payer/{clientUserId}/payment-details -> PayerV1Controller_createPaymentDetails_v1 request (application/json)\nexport const PayerV1Controller_createPaymentDetails_v1_Request = z.object({ \"bankName\": z.string(), \"accountName\": z.string(), \"accountNumber\": (z.string()).optional(), \"routingNumber\": (z.string()).optional(), \"beneficiaryType\": z.enum(['individual', 'business']), \"currency\": z.string(), \"addressLine1\": z.string(), \"addressLine2\": (z.string()).optional(), \"city\": z.string(), \"state\": (z.string()).optional(), \"country\": z.string(), \"dateOfBirth\": z.string(), \"postalCode\": z.string(), \"rails\": (z.enum(['local', 'swift', 'wire'])).optional(), \"sortCode\": (z.string()).optional(), \"iban\": (z.string()).optional(), \"swiftBic\": (z.string()).optional(), \"documentNumber\": (z.string()).optional(), \"documentType\": (z.string()).optional(), \"accountType\": (z.enum(['checking', 'savings'])).optional(), \"ribNumber\": (z.string()).optional(), \"bsbNumber\": (z.string()).optional(), \"ncc\": (z.string()).optional(), \"branchCode\": (z.string()).optional(), \"bankCode\": (z.string()).optional(), \"ifsc\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_createPaymentDetails_v1', kind: 'request', variant: 'application/json' }, schema: PayerV1Controller_createPaymentDetails_v1_Request });\n\n// POST /v1/payer/{clientUserId}/payment-details -> PayerV1Controller_createPaymentDetails_v1 (201)\nexport const PayerV1Controller_createPaymentDetails_v1_201 = z.object({ \"payment_detail\": (z.object({ \"id\": (z.string()).optional(), \"clientUserId\": (z.string()).optional(), \"bankName\": (z.string()).optional(), \"accountName\": (z.string()).optional(), \"currency\": (z.string()).optional(), \"beneficiaryType\": (z.enum(['individual', 'business'])).optional() }).passthrough()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_createPaymentDetails_v1', kind: 'response', status: 201 }, schema: PayerV1Controller_createPaymentDetails_v1_201 });\n\n// POST /v1/payer/{clientUserId}/payment-details -> PayerV1Controller_createPaymentDetails_v1 (400)\nexport const PayerV1Controller_createPaymentDetails_v1_400 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_createPaymentDetails_v1', kind: 'response', status: 400 }, schema: PayerV1Controller_createPaymentDetails_v1_400 });\n\n// POST /v1/payer/{clientUserId}/payment-details -> PayerV1Controller_createPaymentDetails_v1 (401)\nexport const PayerV1Controller_createPaymentDetails_v1_401 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_createPaymentDetails_v1', kind: 'response', status: 401 }, schema: PayerV1Controller_createPaymentDetails_v1_401 });\n\n// POST /v1/payer/{clientUserId}/payment-details -> PayerV1Controller_createPaymentDetails_v1 (404)\nexport const PayerV1Controller_createPaymentDetails_v1_404 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_createPaymentDetails_v1', kind: 'response', status: 404 }, schema: PayerV1Controller_createPaymentDetails_v1_404 });\n\n// POST /v1/payer/{clientUserId}/payment-details -> PayerV1Controller_createPaymentDetails_v1 (429)\nexport const PayerV1Controller_createPaymentDetails_v1_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_createPaymentDetails_v1', kind: 'response', status: 429 }, schema: PayerV1Controller_createPaymentDetails_v1_429 });\n\n// POST /v2/payer -> PayerV2Controller_getComplianceData_v2 request (application/json)\nexport const PayerV2Controller_getComplianceData_v2_Request = z.object({ \"clientUserId\": z.string(), \"email\": z.string(), \"firstName\": z.string(), \"lastName\": z.string(), \"beneficiaryType\": z.enum(['individual', 'business']), \"companyName\": (z.string()).optional(), \"dateOfBirth\": z.string(), \"addressLine1\": z.string(), \"addressLine2\": (z.string()).optional(), \"city\": z.string(), \"state\": z.string(), \"postcode\": z.string(), \"country\": z.string(), \"nationality\": z.string(), \"phone\": z.string(), \"ssn\": z.string(), \"sourceOfFunds\": (z.string()).optional(), \"businessActivity\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_getComplianceData_v2', kind: 'request', variant: 'application/json' }, schema: PayerV2Controller_getComplianceData_v2_Request });\n\n// POST /v2/payer -> PayerV2Controller_getComplianceData_v2 (200)\nexport const PayerV2Controller_getComplianceData_v2_200 = z.object({ \"agreementUrl\": (z.string()).optional(), \"kycUrl\": (z.string()).optional(), \"status\": z.object({ \"agreementStatus\": z.enum(['not_started', 'completed']), \"kycStatus\": z.enum(['not_started', 'completed']) }).passthrough(), \"userId\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_getComplianceData_v2', kind: 'response', status: 200 }, schema: PayerV2Controller_getComplianceData_v2_200 });\n\n// POST /v2/payer -> PayerV2Controller_getComplianceData_v2 (400)\nexport const PayerV2Controller_getComplianceData_v2_400 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_getComplianceData_v2', kind: 'response', status: 400 }, schema: PayerV2Controller_getComplianceData_v2_400 });\n\n// POST /v2/payer -> PayerV2Controller_getComplianceData_v2 (401)\nexport const PayerV2Controller_getComplianceData_v2_401 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_getComplianceData_v2', kind: 'response', status: 401 }, schema: PayerV2Controller_getComplianceData_v2_401 });\n\n// POST /v2/payer -> PayerV2Controller_getComplianceData_v2 (404)\nexport const PayerV2Controller_getComplianceData_v2_404 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_getComplianceData_v2', kind: 'response', status: 404 }, schema: PayerV2Controller_getComplianceData_v2_404 });\n\n// POST /v2/payer -> PayerV2Controller_getComplianceData_v2 (429)\nexport const PayerV2Controller_getComplianceData_v2_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_getComplianceData_v2', kind: 'response', status: 429 }, schema: PayerV2Controller_getComplianceData_v2_429 });\n\n// GET /v2/payer/{clientUserId} -> PayerV2Controller_getComplianceStatus_v2 (200)\nexport const PayerV2Controller_getComplianceStatus_v2_200 = z.object({ \"kycStatus\": (z.string()).optional(), \"agreementStatus\": (z.string()).optional(), \"isCompliant\": (z.boolean()).optional(), \"userId\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_getComplianceStatus_v2', kind: 'response', status: 200 }, schema: PayerV2Controller_getComplianceStatus_v2_200 });\n\n// GET /v2/payer/{clientUserId} -> PayerV2Controller_getComplianceStatus_v2 (401)\nexport const PayerV2Controller_getComplianceStatus_v2_401 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_getComplianceStatus_v2', kind: 'response', status: 401 }, schema: PayerV2Controller_getComplianceStatus_v2_401 });\n\n// GET /v2/payer/{clientUserId} -> PayerV2Controller_getComplianceStatus_v2 (404)\nexport const PayerV2Controller_getComplianceStatus_v2_404 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_getComplianceStatus_v2', kind: 'response', status: 404 }, schema: PayerV2Controller_getComplianceStatus_v2_404 });\n\n// GET /v2/payer/{clientUserId} -> PayerV2Controller_getComplianceStatus_v2 (429)\nexport const PayerV2Controller_getComplianceStatus_v2_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_getComplianceStatus_v2', kind: 'response', status: 429 }, schema: PayerV2Controller_getComplianceStatus_v2_429 });\n\n// PATCH /v2/payer/{clientUserId} -> PayerV2Controller_updateComplianceStatus_v2 request (application/json)\nexport const PayerV2Controller_updateComplianceStatus_v2_Request = z.object({ \"agreementCompleted\": z.boolean() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_updateComplianceStatus_v2', kind: 'request', variant: 'application/json' }, schema: PayerV2Controller_updateComplianceStatus_v2_Request });\n\n// PATCH /v2/payer/{clientUserId} -> PayerV2Controller_updateComplianceStatus_v2 (200)\nexport const PayerV2Controller_updateComplianceStatus_v2_200 = z.object({ \"success\": (z.boolean()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_updateComplianceStatus_v2', kind: 'response', status: 200 }, schema: PayerV2Controller_updateComplianceStatus_v2_200 });\n\n// PATCH /v2/payer/{clientUserId} -> PayerV2Controller_updateComplianceStatus_v2 (400)\nexport const PayerV2Controller_updateComplianceStatus_v2_400 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_updateComplianceStatus_v2', kind: 'response', status: 400 }, schema: PayerV2Controller_updateComplianceStatus_v2_400 });\n\n// PATCH /v2/payer/{clientUserId} -> PayerV2Controller_updateComplianceStatus_v2 (401)\nexport const PayerV2Controller_updateComplianceStatus_v2_401 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_updateComplianceStatus_v2', kind: 'response', status: 401 }, schema: PayerV2Controller_updateComplianceStatus_v2_401 });\n\n// PATCH /v2/payer/{clientUserId} -> PayerV2Controller_updateComplianceStatus_v2 (404)\nexport const PayerV2Controller_updateComplianceStatus_v2_404 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_updateComplianceStatus_v2', kind: 'response', status: 404 }, schema: PayerV2Controller_updateComplianceStatus_v2_404 });\n\n// PATCH /v2/payer/{clientUserId} -> PayerV2Controller_updateComplianceStatus_v2 (429)\nexport const PayerV2Controller_updateComplianceStatus_v2_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_updateComplianceStatus_v2', kind: 'response', status: 429 }, schema: PayerV2Controller_updateComplianceStatus_v2_429 });\n\n// GET /v2/payer/{clientUserId}/payment-details -> PayerV2Controller_getPaymentDetails_v2 (200)\nexport const PayerV2Controller_getPaymentDetails_v2_200 = z.object({ \"paymentDetails\": (z.array(z.object({ \"id\": (z.string()).optional(), \"userId\": (z.string()).optional(), \"bankName\": (z.string()).optional(), \"accountName\": (z.string()).optional(), \"beneficiaryType\": (z.string()).optional(), \"accountNumber\": (z.string()).optional(), \"routingNumber\": (z.string()).optional(), \"currency\": (z.string()).optional(), \"status\": (z.string()).optional(), \"rails\": (z.string()).optional() }).passthrough())).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_getPaymentDetails_v2', kind: 'response', status: 200 }, schema: PayerV2Controller_getPaymentDetails_v2_200 });\n\n// GET /v2/payer/{clientUserId}/payment-details -> PayerV2Controller_getPaymentDetails_v2 (401)\nexport const PayerV2Controller_getPaymentDetails_v2_401 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_getPaymentDetails_v2', kind: 'response', status: 401 }, schema: PayerV2Controller_getPaymentDetails_v2_401 });\n\n// GET /v2/payer/{clientUserId}/payment-details -> PayerV2Controller_getPaymentDetails_v2 (404)\nexport const PayerV2Controller_getPaymentDetails_v2_404 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_getPaymentDetails_v2', kind: 'response', status: 404 }, schema: PayerV2Controller_getPaymentDetails_v2_404 });\n\n// GET /v2/payer/{clientUserId}/payment-details -> PayerV2Controller_getPaymentDetails_v2 (429)\nexport const PayerV2Controller_getPaymentDetails_v2_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_getPaymentDetails_v2', kind: 'response', status: 429 }, schema: PayerV2Controller_getPaymentDetails_v2_429 });\n\n// POST /v2/payer/{clientUserId}/payment-details -> PayerV2Controller_createPaymentDetails_v2 request (application/json)\nexport const PayerV2Controller_createPaymentDetails_v2_Request = z.object({ \"bankName\": z.string(), \"accountName\": z.string(), \"accountNumber\": (z.string()).optional(), \"routingNumber\": (z.string()).optional(), \"beneficiaryType\": z.enum(['individual', 'business']), \"currency\": z.string(), \"addressLine1\": z.string(), \"addressLine2\": (z.string()).optional(), \"city\": z.string(), \"state\": (z.string()).optional(), \"country\": z.string(), \"dateOfBirth\": z.string(), \"postalCode\": z.string(), \"rails\": (z.enum(['local', 'swift', 'wire'])).optional(), \"sortCode\": (z.string()).optional(), \"iban\": (z.string()).optional(), \"swiftBic\": (z.string()).optional(), \"documentNumber\": (z.string()).optional(), \"documentType\": (z.string()).optional(), \"accountType\": (z.enum(['checking', 'savings'])).optional(), \"ribNumber\": (z.string()).optional(), \"bsbNumber\": (z.string()).optional(), \"ncc\": (z.string()).optional(), \"branchCode\": (z.string()).optional(), \"bankCode\": (z.string()).optional(), \"ifsc\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_createPaymentDetails_v2', kind: 'request', variant: 'application/json' }, schema: PayerV2Controller_createPaymentDetails_v2_Request });\n\n// POST /v2/payer/{clientUserId}/payment-details -> PayerV2Controller_createPaymentDetails_v2 (201)\nexport const PayerV2Controller_createPaymentDetails_v2_201 = z.object({ \"payment_detail\": (z.object({ \"id\": (z.string()).optional(), \"clientUserId\": (z.string()).optional(), \"bankName\": (z.string()).optional(), \"accountName\": (z.string()).optional(), \"currency\": (z.string()).optional(), \"beneficiaryType\": (z.enum(['individual', 'business'])).optional() }).passthrough()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_createPaymentDetails_v2', kind: 'response', status: 201 }, schema: PayerV2Controller_createPaymentDetails_v2_201 });\n\n// POST /v2/payer/{clientUserId}/payment-details -> PayerV2Controller_createPaymentDetails_v2 (400)\nexport const PayerV2Controller_createPaymentDetails_v2_400 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_createPaymentDetails_v2', kind: 'response', status: 400 }, schema: PayerV2Controller_createPaymentDetails_v2_400 });\n\n// POST /v2/payer/{clientUserId}/payment-details -> PayerV2Controller_createPaymentDetails_v2 (401)\nexport const PayerV2Controller_createPaymentDetails_v2_401 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_createPaymentDetails_v2', kind: 'response', status: 401 }, schema: PayerV2Controller_createPaymentDetails_v2_401 });\n\n// POST /v2/payer/{clientUserId}/payment-details -> PayerV2Controller_createPaymentDetails_v2 (404)\nexport const PayerV2Controller_createPaymentDetails_v2_404 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_createPaymentDetails_v2', kind: 'response', status: 404 }, schema: PayerV2Controller_createPaymentDetails_v2_404 });\n\n// POST /v2/payer/{clientUserId}/payment-details -> PayerV2Controller_createPaymentDetails_v2 (429)\nexport const PayerV2Controller_createPaymentDetails_v2_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_createPaymentDetails_v2', kind: 'response', status: 429 }, schema: PayerV2Controller_createPaymentDetails_v2_429 });\n"]}
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
// src/domains/payments/payments.schemas.ts
|
|
4
|
+
|
|
5
|
+
// src/validation/schema.registry.ts
|
|
6
|
+
function serialiseKey(key) {
|
|
7
|
+
const variant = key.variant ?? "default";
|
|
8
|
+
const status = key.status?.toString() ?? "any";
|
|
9
|
+
return `${key.operationId}|${key.kind}|${variant}|${status}`;
|
|
10
|
+
}
|
|
11
|
+
var SchemaRegistry = class {
|
|
12
|
+
store = /* @__PURE__ */ new Map();
|
|
13
|
+
register(entry) {
|
|
14
|
+
const id = serialiseKey(entry.key);
|
|
15
|
+
this.store.set(id, entry);
|
|
16
|
+
}
|
|
17
|
+
get(key) {
|
|
18
|
+
const id = serialiseKey(key);
|
|
19
|
+
return this.store.get(id)?.schema;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Removes every registered schema — primarily useful in tests.
|
|
23
|
+
*/
|
|
24
|
+
clear() {
|
|
25
|
+
this.store.clear();
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
var schemaRegistry = new SchemaRegistry();
|
|
29
|
+
|
|
30
|
+
// src/validation/generated/groups/v2/payments.schemas.generated.ts
|
|
31
|
+
var ErrorDetailSchema = z.object({
|
|
32
|
+
message: z.string(),
|
|
33
|
+
code: z.string().optional(),
|
|
34
|
+
field: z.string().optional(),
|
|
35
|
+
source: z.object({
|
|
36
|
+
pointer: z.string().optional(),
|
|
37
|
+
parameter: z.string().optional()
|
|
38
|
+
}).passthrough().optional(),
|
|
39
|
+
meta: z.record(z.unknown()).optional()
|
|
40
|
+
}).passthrough();
|
|
41
|
+
var ErrorEnvelopeSchema = z.object({
|
|
42
|
+
status: z.number().optional(),
|
|
43
|
+
statusCode: z.number().optional(),
|
|
44
|
+
code: z.string().optional(),
|
|
45
|
+
error: z.string().optional(),
|
|
46
|
+
message: z.union([
|
|
47
|
+
z.string(),
|
|
48
|
+
z.array(z.union([z.string(), ErrorDetailSchema])),
|
|
49
|
+
ErrorDetailSchema
|
|
50
|
+
]).optional(),
|
|
51
|
+
detail: z.unknown().optional(),
|
|
52
|
+
errors: z.array(ErrorDetailSchema).optional(),
|
|
53
|
+
requestId: z.string().optional(),
|
|
54
|
+
correlationId: z.string().optional(),
|
|
55
|
+
retryAfter: z.union([z.number(), z.string()]).optional(),
|
|
56
|
+
retryAfterMs: z.number().optional(),
|
|
57
|
+
meta: z.record(z.unknown()).optional()
|
|
58
|
+
}).passthrough();
|
|
59
|
+
var PaymentV2Controller_searchPayments_v2_200 = z.object({ "payments": z.array(z.object({ "id": z.string(), "amount": z.string(), "sourceNetwork": z.string(), "destinationNetwork": z.string(), "sourceTxHash": z.string().nullable().optional(), "destinationTxHash": z.string().nullable().optional(), "timestamp": z.string(), "type": z.enum(["direct", "conversion", "crosschain", "recurring"]), "conversionRateSource": z.string().nullable().optional(), "conversionRateDestination": z.string().nullable().optional(), "convertedAmountSource": z.string().nullable().optional(), "convertedAmountDestination": z.string().nullable().optional(), "currency": z.string(), "paymentCurrency": z.string(), "fees": z.array(z.object({ "type": z.enum(["gas", "platform", "crosschain", "crypto-to-fiat", "offramp", "protocol"]).optional(), "stage": z.enum(["sending", "receiving", "proxying", "refunding"]).optional(), "provider": z.string().optional(), "amount": z.string().nullable().optional(), "amountInUSD": z.string().nullable().optional(), "currency": z.string().optional(), "receiverAddress": z.string().optional(), "network": z.string().optional(), "rateProvider": z.string().optional() }).passthrough()).nullable().optional(), "recurringPaymentId": z.string().nullable().optional(), "rateProvider": z.enum(["lifi", "chainlink", "coingecko", "unknown"]).optional(), "request": z.object({ "requestId": z.string().optional(), "paymentReference": z.string().optional(), "hasBeenPaid": z.boolean().optional(), "customerInfo": z.object({ "firstName": z.string().optional(), "lastName": z.string().optional(), "email": z.string().optional(), "address": z.object({ "street": z.string().optional(), "city": z.string().optional(), "state": z.string().optional(), "postalCode": z.string().optional(), "country": z.string().optional() }).passthrough().optional() }).passthrough().nullable().optional(), "reference": z.string().nullable().optional() }).passthrough().optional() }).passthrough()), "pagination": z.object({ "total": z.number(), "limit": z.number(), "offset": z.number(), "hasMore": z.boolean() }).passthrough() }).passthrough();
|
|
60
|
+
schemaRegistry.register({ key: { operationId: "PaymentV2Controller_searchPayments_v2", kind: "response", status: 200 }, schema: PaymentV2Controller_searchPayments_v2_200 });
|
|
61
|
+
var PaymentV2Controller_searchPayments_v2_400 = z.object({ "statusCode": z.number().optional(), "message": z.string().optional(), "errors": z.array(z.object({ "field": z.string().optional(), "message": z.string().optional() }).passthrough()).optional() }).passthrough();
|
|
62
|
+
schemaRegistry.register({ key: { operationId: "PaymentV2Controller_searchPayments_v2", kind: "response", status: 400 }, schema: PaymentV2Controller_searchPayments_v2_400 });
|
|
63
|
+
var PaymentV2Controller_searchPayments_v2_401 = z.object({ "statusCode": z.number().optional(), "message": z.string().optional(), "error": z.string().optional() }).passthrough();
|
|
64
|
+
schemaRegistry.register({ key: { operationId: "PaymentV2Controller_searchPayments_v2", kind: "response", status: 401 }, schema: PaymentV2Controller_searchPayments_v2_401 });
|
|
65
|
+
var PaymentV2Controller_searchPayments_v2_429 = ErrorEnvelopeSchema;
|
|
66
|
+
schemaRegistry.register({ key: { operationId: "PaymentV2Controller_searchPayments_v2", kind: "response", status: 429 }, schema: PaymentV2Controller_searchPayments_v2_429 });
|
|
67
|
+
|
|
68
|
+
// src/domains/payments/payments.schemas.ts
|
|
69
|
+
var OP_SEARCH_PAYMENTS = "PaymentV2Controller_searchPayments_v2";
|
|
70
|
+
var AddressSchema = z.object({
|
|
71
|
+
street: z.string().optional(),
|
|
72
|
+
city: z.string().optional(),
|
|
73
|
+
state: z.string().optional(),
|
|
74
|
+
postalCode: z.string().optional(),
|
|
75
|
+
country: z.string().optional()
|
|
76
|
+
}).passthrough();
|
|
77
|
+
var CustomerInfoSchema = z.object({
|
|
78
|
+
firstName: z.string().optional(),
|
|
79
|
+
lastName: z.string().optional(),
|
|
80
|
+
email: z.string().optional(),
|
|
81
|
+
address: AddressSchema.optional()
|
|
82
|
+
}).passthrough();
|
|
83
|
+
var FeeSchema = z.object({
|
|
84
|
+
type: z.enum(["gas", "platform", "crosschain", "crypto-to-fiat", "offramp", "protocol"]).optional(),
|
|
85
|
+
stage: z.enum(["sending", "receiving", "proxying", "refunding"]).optional(),
|
|
86
|
+
provider: z.string().optional(),
|
|
87
|
+
amount: z.string().nullable().optional(),
|
|
88
|
+
amountInUSD: z.string().nullable().optional(),
|
|
89
|
+
currency: z.string().optional(),
|
|
90
|
+
receiverAddress: z.string().optional(),
|
|
91
|
+
network: z.string().optional(),
|
|
92
|
+
rateProvider: z.string().optional()
|
|
93
|
+
}).passthrough();
|
|
94
|
+
var RequestInfoSchema = z.object({
|
|
95
|
+
requestId: z.string().optional(),
|
|
96
|
+
paymentReference: z.string().optional(),
|
|
97
|
+
hasBeenPaid: z.boolean().optional(),
|
|
98
|
+
customerInfo: CustomerInfoSchema.nullable().optional(),
|
|
99
|
+
reference: z.string().nullable().optional()
|
|
100
|
+
}).passthrough();
|
|
101
|
+
var PaymentRecordSchema = z.object({
|
|
102
|
+
id: z.string(),
|
|
103
|
+
amount: z.string(),
|
|
104
|
+
sourceNetwork: z.string(),
|
|
105
|
+
destinationNetwork: z.string(),
|
|
106
|
+
sourceTxHash: z.string().nullable().optional(),
|
|
107
|
+
destinationTxHash: z.string().nullable().optional(),
|
|
108
|
+
timestamp: z.string(),
|
|
109
|
+
type: z.enum(["direct", "conversion", "crosschain", "recurring"]),
|
|
110
|
+
conversionRateSource: z.string().nullable().optional(),
|
|
111
|
+
conversionRateDestination: z.string().nullable().optional(),
|
|
112
|
+
convertedAmountSource: z.string().nullable().optional(),
|
|
113
|
+
convertedAmountDestination: z.string().nullable().optional(),
|
|
114
|
+
currency: z.string(),
|
|
115
|
+
paymentCurrency: z.string(),
|
|
116
|
+
fees: z.array(FeeSchema).nullable().optional(),
|
|
117
|
+
recurringPaymentId: z.string().nullable().optional(),
|
|
118
|
+
rateProvider: z.enum(["lifi", "chainlink", "coingecko", "unknown"]).nullable().optional(),
|
|
119
|
+
request: RequestInfoSchema.optional()
|
|
120
|
+
}).passthrough();
|
|
121
|
+
var PaginationSchema = z.object({
|
|
122
|
+
total: z.number(),
|
|
123
|
+
limit: z.number(),
|
|
124
|
+
offset: z.number(),
|
|
125
|
+
hasMore: z.boolean()
|
|
126
|
+
}).passthrough();
|
|
127
|
+
var PaymentSearchResponseSchema = z.object({
|
|
128
|
+
payments: z.array(PaymentRecordSchema),
|
|
129
|
+
pagination: PaginationSchema
|
|
130
|
+
}).passthrough();
|
|
131
|
+
schemaRegistry.register({
|
|
132
|
+
key: { operationId: OP_SEARCH_PAYMENTS, kind: "response", status: 200 },
|
|
133
|
+
schema: PaymentSearchResponseSchema
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
// src/core/http/validation.config.ts
|
|
137
|
+
function normaliseBoolean(flag, fallback) {
|
|
138
|
+
return typeof flag === "boolean" ? flag : fallback;
|
|
139
|
+
}
|
|
140
|
+
function mergeRuntimeValidation(base, override) {
|
|
141
|
+
if (override === void 0) {
|
|
142
|
+
return base;
|
|
143
|
+
}
|
|
144
|
+
if (typeof override === "boolean") {
|
|
145
|
+
return {
|
|
146
|
+
requests: override,
|
|
147
|
+
responses: override,
|
|
148
|
+
errors: override
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
return {
|
|
152
|
+
requests: normaliseBoolean(override.requests, base.requests),
|
|
153
|
+
responses: normaliseBoolean(override.responses, base.responses),
|
|
154
|
+
errors: normaliseBoolean(override.errors, base.errors)
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
// src/validation/zod.helpers.ts
|
|
159
|
+
var ValidationError = class extends Error {
|
|
160
|
+
constructor(message, cause) {
|
|
161
|
+
super(message, { cause });
|
|
162
|
+
this.cause = cause;
|
|
163
|
+
this.name = "ClientValidationError";
|
|
164
|
+
}
|
|
165
|
+
};
|
|
166
|
+
function parseWithSchema(options) {
|
|
167
|
+
const { schema, value, description } = options;
|
|
168
|
+
const outcome = schema.safeParse(value);
|
|
169
|
+
if (outcome.success) {
|
|
170
|
+
return { success: true, data: outcome.data };
|
|
171
|
+
}
|
|
172
|
+
const error = new ValidationError(description ?? "Validation failed", outcome.error);
|
|
173
|
+
return { success: false, error };
|
|
174
|
+
}
|
|
175
|
+
function parseWithRegistry(options) {
|
|
176
|
+
const schema = schemaRegistry.get(options.key);
|
|
177
|
+
if (!schema) {
|
|
178
|
+
if (options.skipOnMissingSchema) {
|
|
179
|
+
return { success: true, data: options.value };
|
|
180
|
+
}
|
|
181
|
+
return { success: false, error: new ValidationError(`No schema registered for ${options.key.operationId}`) };
|
|
182
|
+
}
|
|
183
|
+
return parseWithSchema({ schema, value: options.value, description: options.description });
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
// src/core/http/operation.helper.ts
|
|
187
|
+
async function requestJson(http, params) {
|
|
188
|
+
const {
|
|
189
|
+
operationId,
|
|
190
|
+
method,
|
|
191
|
+
path,
|
|
192
|
+
query,
|
|
193
|
+
body,
|
|
194
|
+
schemaKey,
|
|
195
|
+
requestSchemaKey,
|
|
196
|
+
description,
|
|
197
|
+
querySerializer,
|
|
198
|
+
signal,
|
|
199
|
+
timeoutMs,
|
|
200
|
+
validation,
|
|
201
|
+
meta
|
|
202
|
+
} = params;
|
|
203
|
+
const runtimeValidation = mergeRuntimeValidation(http.getRuntimeValidationConfig(), validation);
|
|
204
|
+
let requestBody = body;
|
|
205
|
+
if (runtimeValidation.requests && requestSchemaKey && body !== void 0) {
|
|
206
|
+
const parsedRequest = parseWithRegistry({
|
|
207
|
+
key: requestSchemaKey,
|
|
208
|
+
value: body,
|
|
209
|
+
description: `${description ?? operationId} request`,
|
|
210
|
+
skipOnMissingSchema: true
|
|
211
|
+
});
|
|
212
|
+
if (!parsedRequest.success) {
|
|
213
|
+
throw parsedRequest.error;
|
|
214
|
+
}
|
|
215
|
+
requestBody = parsedRequest.data;
|
|
216
|
+
}
|
|
217
|
+
const metaValidation = validation ?? meta?.validation;
|
|
218
|
+
const requestMeta = {
|
|
219
|
+
...meta ?? {},
|
|
220
|
+
operationId,
|
|
221
|
+
validation: metaValidation
|
|
222
|
+
};
|
|
223
|
+
const res = await http.request({
|
|
224
|
+
method,
|
|
225
|
+
path,
|
|
226
|
+
query,
|
|
227
|
+
body: requestBody,
|
|
228
|
+
querySerializer,
|
|
229
|
+
signal,
|
|
230
|
+
timeoutMs,
|
|
231
|
+
meta: requestMeta
|
|
232
|
+
});
|
|
233
|
+
if (!runtimeValidation.responses) {
|
|
234
|
+
return res.data;
|
|
235
|
+
}
|
|
236
|
+
const parsedResponse = parseWithRegistry({ key: schemaKey, value: res.data, description });
|
|
237
|
+
if (!parsedResponse.success) throw parsedResponse.error;
|
|
238
|
+
return parsedResponse.data;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
// src/domains/requests/request.helpers.ts
|
|
242
|
+
function buildRequestQuery(input) {
|
|
243
|
+
if (!input) return void 0;
|
|
244
|
+
const entries = Object.entries(input).filter(([, value]) => value !== void 0);
|
|
245
|
+
if (entries.length === 0) return void 0;
|
|
246
|
+
return Object.fromEntries(entries);
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
// src/domains/payments/payments.facade.ts
|
|
250
|
+
function createPaymentsApi(http) {
|
|
251
|
+
return {
|
|
252
|
+
async search(query, options) {
|
|
253
|
+
const requestQuery = buildRequestQuery(query ? { ...query } : void 0);
|
|
254
|
+
return requestJson(http, {
|
|
255
|
+
operationId: OP_SEARCH_PAYMENTS,
|
|
256
|
+
method: "GET",
|
|
257
|
+
path: "/v2/payments",
|
|
258
|
+
query: requestQuery,
|
|
259
|
+
schemaKey: { operationId: OP_SEARCH_PAYMENTS, kind: "response", status: 200 },
|
|
260
|
+
description: "Search payments",
|
|
261
|
+
signal: options?.signal,
|
|
262
|
+
timeoutMs: options?.timeoutMs,
|
|
263
|
+
validation: options?.validation,
|
|
264
|
+
meta: options?.meta
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
export { createPaymentsApi };
|
|
271
|
+
//# sourceMappingURL=index.js.map
|
|
272
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/validation/schema.registry.ts","../../../../src/validation/generated/groups/v2/payments.schemas.generated.ts","../../../../src/domains/payments/payments.schemas.ts","../../../../src/core/http/validation.config.ts","../../../../src/validation/zod.helpers.ts","../../../../src/core/http/operation.helper.ts","../../../../src/domains/requests/request.helpers.ts","../../../../src/domains/payments/payments.facade.ts"],"names":["z"],"mappings":"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","file":"index.js","sourcesContent":["import type { ZodTypeAny } from \"zod\";\n\nexport type SchemaKind = \"request\" | \"response\" | \"webhook\";\n\nexport interface SchemaKey {\n operationId: string;\n kind: SchemaKind;\n variant?: string;\n status?: number;\n}\n\nexport interface SchemaEntry<TSchema extends ZodTypeAny = ZodTypeAny> {\n key: SchemaKey;\n schema: TSchema;\n}\n\nfunction serialiseKey(key: SchemaKey): string {\n const variant = key.variant ?? \"default\";\n const status = key.status?.toString() ?? \"any\";\n return `${key.operationId}|${key.kind}|${variant}|${status}`;\n}\n\n/**\n * Lightweight registry that associates OpenAPI operation IDs with validation schemas.\n * Generators can populate this map while domain modules retrieve the schemas at runtime.\n */\nexport class SchemaRegistry {\n private readonly store = new Map<string, SchemaEntry>();\n\n register(entry: SchemaEntry): void {\n const id = serialiseKey(entry.key);\n this.store.set(id, entry);\n }\n\n get(key: SchemaKey): ZodTypeAny | undefined {\n const id = serialiseKey(key);\n return this.store.get(id)?.schema;\n }\n\n /**\n * Removes every registered schema — primarily useful in tests.\n */\n clear(): void {\n this.store.clear();\n }\n}\n\nexport const schemaRegistry = new SchemaRegistry();\n","// Auto-generated by scripts/generate-zod.mjs. Do not edit.\nimport { z } from 'zod';\n\nimport { schemaRegistry } from '../../../schema.registry';\n\nconst ErrorDetailSchema = z\n .object({\n message: z.string(),\n code: z.string().optional(),\n field: z.string().optional(),\n source: z\n .object({\n pointer: z.string().optional(),\n parameter: z.string().optional(),\n })\n .passthrough()\n .optional(),\n meta: z.record(z.unknown()).optional(),\n })\n .passthrough();\n\nconst ErrorEnvelopeSchema = z\n .object({\n status: z.number().optional(),\n statusCode: z.number().optional(),\n code: z.string().optional(),\n error: z.string().optional(),\n message: z\n .union([\n z.string(),\n z.array(z.union([z.string(), ErrorDetailSchema])),\n ErrorDetailSchema,\n ])\n .optional(),\n detail: z.unknown().optional(),\n errors: z.array(ErrorDetailSchema).optional(),\n requestId: z.string().optional(),\n correlationId: z.string().optional(),\n retryAfter: z.union([z.number(), z.string()]).optional(),\n retryAfterMs: z.number().optional(),\n meta: z.record(z.unknown()).optional(),\n })\n .passthrough();\n\n// GET /v2/payments -> PaymentV2Controller_searchPayments_v2 (200)\nexport const PaymentV2Controller_searchPayments_v2_200 = z.object({ \"payments\": z.array(z.object({ \"id\": z.string(), \"amount\": z.string(), \"sourceNetwork\": z.string(), \"destinationNetwork\": z.string(), \"sourceTxHash\": (z.string().nullable()).optional(), \"destinationTxHash\": (z.string().nullable()).optional(), \"timestamp\": z.string(), \"type\": z.enum(['direct', 'conversion', 'crosschain', 'recurring']), \"conversionRateSource\": (z.string().nullable()).optional(), \"conversionRateDestination\": (z.string().nullable()).optional(), \"convertedAmountSource\": (z.string().nullable()).optional(), \"convertedAmountDestination\": (z.string().nullable()).optional(), \"currency\": z.string(), \"paymentCurrency\": z.string(), \"fees\": (z.array(z.object({ \"type\": (z.enum(['gas', 'platform', 'crosschain', 'crypto-to-fiat', 'offramp', 'protocol'])).optional(), \"stage\": (z.enum(['sending', 'receiving', 'proxying', 'refunding'])).optional(), \"provider\": (z.string()).optional(), \"amount\": (z.string().nullable()).optional(), \"amountInUSD\": (z.string().nullable()).optional(), \"currency\": (z.string()).optional(), \"receiverAddress\": (z.string()).optional(), \"network\": (z.string()).optional(), \"rateProvider\": (z.string()).optional() }).passthrough()).nullable()).optional(), \"recurringPaymentId\": (z.string().nullable()).optional(), \"rateProvider\": (z.enum(['lifi', 'chainlink', 'coingecko', 'unknown'])).optional(), \"request\": (z.object({ \"requestId\": (z.string()).optional(), \"paymentReference\": (z.string()).optional(), \"hasBeenPaid\": (z.boolean()).optional(), \"customerInfo\": (z.object({ \"firstName\": (z.string()).optional(), \"lastName\": (z.string()).optional(), \"email\": (z.string()).optional(), \"address\": (z.object({ \"street\": (z.string()).optional(), \"city\": (z.string()).optional(), \"state\": (z.string()).optional(), \"postalCode\": (z.string()).optional(), \"country\": (z.string()).optional() }).passthrough()).optional() }).passthrough().nullable()).optional(), \"reference\": (z.string().nullable()).optional() }).passthrough()).optional() }).passthrough()), \"pagination\": z.object({ \"total\": z.number(), \"limit\": z.number(), \"offset\": z.number(), \"hasMore\": z.boolean() }).passthrough() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PaymentV2Controller_searchPayments_v2', kind: 'response', status: 200 }, schema: PaymentV2Controller_searchPayments_v2_200 });\n\n// GET /v2/payments -> PaymentV2Controller_searchPayments_v2 (400)\nexport const PaymentV2Controller_searchPayments_v2_400 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"errors\": (z.array(z.object({ \"field\": (z.string()).optional(), \"message\": (z.string()).optional() }).passthrough())).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PaymentV2Controller_searchPayments_v2', kind: 'response', status: 400 }, schema: PaymentV2Controller_searchPayments_v2_400 });\n\n// GET /v2/payments -> PaymentV2Controller_searchPayments_v2 (401)\nexport const PaymentV2Controller_searchPayments_v2_401 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PaymentV2Controller_searchPayments_v2', kind: 'response', status: 401 }, schema: PaymentV2Controller_searchPayments_v2_401 });\n\n// GET /v2/payments -> PaymentV2Controller_searchPayments_v2 (429)\nexport const PaymentV2Controller_searchPayments_v2_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PaymentV2Controller_searchPayments_v2', kind: 'response', status: 429 }, schema: PaymentV2Controller_searchPayments_v2_429 });\n","import { z } from \"zod\";\n\nimport \"../../validation/generated/groups/v2/payments.schemas.generated\";\nimport { schemaRegistry } from \"../../validation/schema.registry\";\n\nexport const OP_SEARCH_PAYMENTS = \"PaymentV2Controller_searchPayments_v2\";\n\nconst AddressSchema = z\n .object({\n street: z.string().optional(),\n city: z.string().optional(),\n state: z.string().optional(),\n postalCode: z.string().optional(),\n country: z.string().optional(),\n })\n .passthrough();\n\nexport const CustomerInfoSchema = z\n .object({\n firstName: z.string().optional(),\n lastName: z.string().optional(),\n email: z.string().optional(),\n address: AddressSchema.optional(),\n })\n .passthrough();\n\nexport const FeeSchema = z\n .object({\n type: z.enum([\"gas\", \"platform\", \"crosschain\", \"crypto-to-fiat\", \"offramp\", \"protocol\"]).optional(),\n stage: z.enum([\"sending\", \"receiving\", \"proxying\", \"refunding\"]).optional(),\n provider: z.string().optional(),\n amount: z.string().nullable().optional(),\n amountInUSD: z.string().nullable().optional(),\n currency: z.string().optional(),\n receiverAddress: z.string().optional(),\n network: z.string().optional(),\n rateProvider: z.string().optional(),\n })\n .passthrough();\n\nexport const RequestInfoSchema = z\n .object({\n requestId: z.string().optional(),\n paymentReference: z.string().optional(),\n hasBeenPaid: z.boolean().optional(),\n customerInfo: CustomerInfoSchema.nullable().optional(),\n reference: z.string().nullable().optional(),\n })\n .passthrough();\n\nexport const PaymentRecordSchema = z\n .object({\n id: z.string(),\n amount: z.string(),\n sourceNetwork: z.string(),\n destinationNetwork: z.string(),\n sourceTxHash: z.string().nullable().optional(),\n destinationTxHash: z.string().nullable().optional(),\n timestamp: z.string(),\n type: z.enum([\"direct\", \"conversion\", \"crosschain\", \"recurring\"]),\n conversionRateSource: z.string().nullable().optional(),\n conversionRateDestination: z.string().nullable().optional(),\n convertedAmountSource: z.string().nullable().optional(),\n convertedAmountDestination: z.string().nullable().optional(),\n currency: z.string(),\n paymentCurrency: z.string(),\n fees: z.array(FeeSchema).nullable().optional(),\n recurringPaymentId: z.string().nullable().optional(),\n rateProvider: z.enum([\"lifi\", \"chainlink\", \"coingecko\", \"unknown\"]).nullable().optional(),\n request: RequestInfoSchema.optional(),\n })\n .passthrough();\n\nexport const PaginationSchema = z\n .object({\n total: z.number(),\n limit: z.number(),\n offset: z.number(),\n hasMore: z.boolean(),\n })\n .passthrough();\n\nexport const PaymentSearchResponseSchema = z\n .object({\n payments: z.array(PaymentRecordSchema),\n pagination: PaginationSchema,\n })\n .passthrough();\n\nexport type PaymentRecord = z.infer<typeof PaymentRecordSchema>;\nexport type PaymentFee = z.infer<typeof FeeSchema>;\nexport type PaymentSearchResponse = z.infer<typeof PaymentSearchResponseSchema>;\nexport type PaymentSearchPagination = z.infer<typeof PaginationSchema>;\n\nschemaRegistry.register({\n key: { operationId: OP_SEARCH_PAYMENTS, kind: \"response\", status: 200 },\n schema: PaymentSearchResponseSchema,\n});\n","import type { RuntimeValidationConfig, RuntimeValidationOption } from \"./http.types\";\n\nconst DEFAULT_RUNTIME_VALIDATION: RuntimeValidationConfig = {\n requests: true,\n responses: true,\n errors: true,\n};\n\nfunction normaliseBoolean(flag: boolean | undefined, fallback: boolean): boolean {\n return typeof flag === \"boolean\" ? flag : fallback;\n}\n\nexport function normaliseRuntimeValidation(option?: RuntimeValidationOption): RuntimeValidationConfig {\n if (typeof option === \"boolean\") {\n return {\n requests: option,\n responses: option,\n errors: option,\n } satisfies RuntimeValidationConfig;\n }\n\n return {\n requests: normaliseBoolean(option?.requests, DEFAULT_RUNTIME_VALIDATION.requests),\n responses: normaliseBoolean(option?.responses, DEFAULT_RUNTIME_VALIDATION.responses),\n errors: normaliseBoolean(option?.errors, DEFAULT_RUNTIME_VALIDATION.errors),\n } satisfies RuntimeValidationConfig;\n}\n\nexport function mergeRuntimeValidation(base: RuntimeValidationConfig, override?: RuntimeValidationOption): RuntimeValidationConfig {\n if (override === undefined) {\n return base;\n }\n\n if (typeof override === \"boolean\") {\n return {\n requests: override,\n responses: override,\n errors: override,\n } satisfies RuntimeValidationConfig;\n }\n\n return {\n requests: normaliseBoolean(override.requests, base.requests),\n responses: normaliseBoolean(override.responses, base.responses),\n errors: normaliseBoolean(override.errors, base.errors),\n } satisfies RuntimeValidationConfig;\n}\n\nexport function cloneRuntimeValidation(config: RuntimeValidationConfig): RuntimeValidationConfig {\n return { ...config };\n}\n","import { type SafeParseReturnType, type ZodTypeAny } from \"zod\";\n\nimport type { SchemaKey } from \"./schema.registry\";\nimport { schemaRegistry } from \"./schema.registry\";\n\nexport type SchemaOutput<TSchema extends ZodTypeAny> = TSchema[\"_output\"];\n\nexport interface ParseWithSchemaOptions<TSchema extends ZodTypeAny> {\n schema: TSchema;\n value: unknown;\n description?: string;\n}\n\nexport interface ParseRegistryOptions {\n key: SchemaKey;\n value: unknown;\n description?: string;\n skipOnMissingSchema?: boolean;\n}\n\nexport interface ParseResult<T> {\n success: boolean;\n data?: T;\n error?: unknown;\n}\n\nexport class ValidationError extends Error {\n constructor(message: string, readonly cause?: unknown) {\n super(message, { cause });\n this.name = \"ClientValidationError\";\n }\n}\n\nexport function parseWithSchema<TSchema extends ZodTypeAny>(\n options: ParseWithSchemaOptions<TSchema>,\n): ParseResult<SchemaOutput<TSchema>> {\n const { schema, value, description } = options;\n const outcome: SafeParseReturnType<unknown, SchemaOutput<TSchema>> = schema.safeParse(value);\n if (outcome.success) {\n return { success: true, data: outcome.data };\n }\n\n const error = new ValidationError(description ?? \"Validation failed\", outcome.error);\n return { success: false, error };\n}\n\nexport function parseWithRegistry<TSchema extends ZodTypeAny>(options: ParseRegistryOptions): ParseResult<SchemaOutput<TSchema>> {\n const schema = schemaRegistry.get(options.key) as TSchema | undefined;\n if (!schema) {\n if (options.skipOnMissingSchema) {\n return { success: true, data: options.value as SchemaOutput<TSchema> };\n }\n return { success: false, error: new ValidationError(`No schema registered for ${options.key.operationId}`) };\n }\n\n return parseWithSchema({ schema, value: options.value, description: options.description });\n}\n","import type { HttpClient, HttpMethod, RequestOptions, RuntimeValidationOption } from \"./http.types\";\nimport { mergeRuntimeValidation } from \"./validation.config\";\nimport type { SchemaKey } from \"../../validation/schema.registry\";\nimport { parseWithRegistry } from \"../../validation/zod.helpers\";\n\ntype Query = NonNullable<RequestOptions[\"query\"]>;\n\nexport interface RequestJsonParams {\n operationId: string;\n method: HttpMethod;\n path: string;\n query?: Query;\n body?: unknown;\n schemaKey: SchemaKey;\n requestSchemaKey?: SchemaKey;\n description?: string;\n querySerializer?: RequestOptions[\"querySerializer\"];\n signal?: RequestOptions[\"signal\"];\n timeoutMs?: RequestOptions[\"timeoutMs\"];\n validation?: RuntimeValidationOption;\n meta?: RequestOptions[\"meta\"];\n}\n\nexport async function requestJson<T>(http: HttpClient, params: RequestJsonParams): Promise<T> {\n const {\n operationId,\n method,\n path,\n query,\n body,\n schemaKey,\n requestSchemaKey,\n description,\n querySerializer,\n signal,\n timeoutMs,\n validation,\n meta,\n } = params;\n\n const runtimeValidation = mergeRuntimeValidation(http.getRuntimeValidationConfig(), validation);\n\n let requestBody = body;\n if (runtimeValidation.requests && requestSchemaKey && body !== undefined) {\n const parsedRequest = parseWithRegistry({\n key: requestSchemaKey,\n value: body,\n description: `${description ?? operationId} request`,\n skipOnMissingSchema: true,\n });\n if (!parsedRequest.success) {\n throw parsedRequest.error;\n }\n requestBody = parsedRequest.data;\n }\n\n const metaValidation = validation ?? meta?.validation;\n const requestMeta: RequestOptions[\"meta\"] = {\n ...(meta ?? {}),\n operationId,\n validation: metaValidation,\n };\n\n const res = await http.request({\n method,\n path,\n query,\n body: requestBody,\n querySerializer,\n signal,\n timeoutMs,\n meta: requestMeta,\n });\n\n if (!runtimeValidation.responses) {\n return res.data as T;\n }\n\n const parsedResponse = parseWithRegistry({ key: schemaKey, value: res.data, description });\n if (!parsedResponse.success) throw parsedResponse.error;\n return parsedResponse.data as T;\n}\n\nexport interface RequestVoidParams {\n operationId: string;\n method: HttpMethod;\n path: string;\n query?: Query;\n body?: unknown;\n querySerializer?: RequestOptions[\"querySerializer\"];\n signal?: RequestOptions[\"signal\"];\n timeoutMs?: RequestOptions[\"timeoutMs\"];\n requestSchemaKey?: SchemaKey;\n validation?: RuntimeValidationOption;\n meta?: RequestOptions[\"meta\"];\n}\n\nexport async function requestVoid(http: HttpClient, params: RequestVoidParams): Promise<void> {\n const { operationId, method, path, query, body, querySerializer, signal, timeoutMs, requestSchemaKey, validation, meta } = params;\n\n const runtimeValidation = mergeRuntimeValidation(http.getRuntimeValidationConfig(), validation);\n\n let requestBody = body;\n if (runtimeValidation.requests && requestSchemaKey && body !== undefined) {\n const parsedRequest = parseWithRegistry({\n key: requestSchemaKey,\n value: body,\n description: `${operationId} request`,\n skipOnMissingSchema: true,\n });\n if (!parsedRequest.success) {\n throw parsedRequest.error;\n }\n requestBody = parsedRequest.data;\n }\n\n const metaValidation = validation ?? meta?.validation;\n const requestMeta: RequestOptions[\"meta\"] = {\n ...(meta ?? {}),\n operationId,\n validation: metaValidation,\n };\n\n await http.request({\n method,\n path,\n query,\n body: requestBody,\n querySerializer,\n signal,\n timeoutMs,\n meta: requestMeta,\n });\n}\n","import type { RequestOptions } from \"../../core/http/http.types\";\nimport type { operations } from \"../../generated/openapi-types\";\n\ntype QueryValue = string | number | boolean | (string | number | boolean)[];\n\n/**\n * Builds a query object while stripping out undefined entries so the HTTP helper\n * does not emit spurious `param=undefined` pairs.\n */\nexport function buildRequestQuery(input?: Record<string, unknown>): RequestOptions[\"query\"] | undefined {\n if (!input) return undefined;\n const entries = Object.entries(input).filter(([, value]) => value !== undefined);\n if (entries.length === 0) return undefined;\n return Object.fromEntries(entries) as Record<string, QueryValue | undefined>;\n}\n\ntype LegacyStatusApiResponse =\n operations[\"RequestControllerV1_getRequestStatus_v1\"][\"responses\"][200][\"content\"][\"application/json\"];\ntype StatusApiResponseV2 =\n operations[\"RequestControllerV2_getRequestStatus_v2\"][\"responses\"][200][\"content\"][\"application/json\"];\n\nexport interface RequestStatusAddress {\n street?: string;\n city?: string;\n state?: string;\n postalCode?: string;\n country?: string;\n}\n\nexport interface RequestStatusCustomerInfo {\n firstName?: string;\n lastName?: string;\n email?: string;\n address?: RequestStatusAddress;\n}\n\nexport type RequestStatusKind = \"paid\" | \"pending\" | \"cancelled\" | \"overdue\" | \"unknown\";\n\ninterface RequestStatusBase {\n paymentReference?: string;\n requestId?: string;\n isListening?: boolean;\n txHash: string | null;\n status?: string;\n recurrence?: Record<string, unknown>;\n originalRequestId?: string;\n originalRequestPaymentReference?: string;\n isRecurrenceStopped?: boolean;\n isCryptoToFiatAvailable?: boolean;\n payments?: Array<Record<string, unknown>>;\n customerInfo?: RequestStatusCustomerInfo | null;\n reference?: string | null;\n hasBeenPaid?: boolean;\n}\n\nexport type RequestStatusResult =\n | (RequestStatusBase & { kind: \"paid\"; hasBeenPaid: true })\n | (RequestStatusBase & { kind: \"pending\"; hasBeenPaid?: boolean })\n | (RequestStatusBase & { kind: \"cancelled\"; hasBeenPaid?: boolean })\n | (RequestStatusBase & { kind: \"overdue\"; hasBeenPaid?: boolean })\n | (RequestStatusBase & { kind: \"unknown\"; hasBeenPaid?: boolean });\n\nexport type LegacyRequestStatusResult = Extract<RequestStatusResult, { kind: \"paid\" | \"pending\" }>;\n\nconst STATUS_KIND_MAP: Record<string, RequestStatusKind> = {\n paid: \"paid\",\n completed: \"paid\",\n settled: \"paid\",\n pending: \"pending\",\n processing: \"pending\",\n open: \"pending\",\n awaitingpayment: \"pending\",\n awaiting_payment: \"pending\",\n cancelled: \"cancelled\",\n canceled: \"cancelled\",\n voided: \"cancelled\",\n overdue: \"overdue\",\n expired: \"overdue\",\n};\n\nfunction normalizeReference(value: string | null | undefined): string | null | undefined {\n if (value === undefined) return undefined;\n return value;\n}\n\nfunction normalizeCustomerInfo(value: RequestStatusCustomerInfo | null | undefined): RequestStatusCustomerInfo | null | undefined {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n firstName: value.firstName ?? undefined,\n lastName: value.lastName ?? undefined,\n email: value.email ?? undefined,\n address: value.address\n ? {\n street: value.address.street ?? undefined,\n city: value.address.city ?? undefined,\n state: value.address.state ?? undefined,\n postalCode: value.address.postalCode ?? undefined,\n country: value.address.country ?? undefined,\n }\n : undefined,\n };\n}\n\nfunction normalizePayments(payments: StatusApiResponseV2[\"payments\"]): Array<Record<string, unknown>> | undefined {\n if (!payments) return undefined;\n return payments.map((payment) => ({ ...payment })) as Array<Record<string, unknown>>;\n}\n\nfunction buildStatusBase(\n raw: LegacyStatusApiResponse | StatusApiResponseV2,\n overrides?: Partial<RequestStatusBase>,\n): RequestStatusBase {\n return {\n paymentReference: raw.paymentReference ?? undefined,\n requestId: raw.requestId ?? undefined,\n isListening: \"isListening\" in raw ? raw.isListening ?? undefined : undefined,\n txHash: raw.txHash ?? null,\n hasBeenPaid: raw.hasBeenPaid ?? false,\n status: \"status\" in raw ? (raw).status ?? undefined : undefined,\n recurrence:\n \"recurrence\" in raw ? ((raw).recurrence as Record<string, unknown> | undefined) : undefined,\n originalRequestId: \"originalRequestId\" in raw ? (raw).originalRequestId ?? undefined : undefined,\n originalRequestPaymentReference:\n \"originalRequestPaymentReference\" in raw\n ? (raw).originalRequestPaymentReference ?? undefined\n : undefined,\n isRecurrenceStopped:\n \"isRecurrenceStopped\" in raw ? (raw).isRecurrenceStopped ?? undefined : undefined,\n isCryptoToFiatAvailable:\n \"isCryptoToFiatAvailable\" in raw\n ? (raw).isCryptoToFiatAvailable ?? undefined\n : undefined,\n payments: \"payments\" in raw ? normalizePayments((raw).payments) : undefined,\n customerInfo:\n \"customerInfo\" in raw\n ? normalizeCustomerInfo(\n (raw).customerInfo as RequestStatusCustomerInfo | null | undefined,\n )\n : undefined,\n reference:\n \"reference\" in raw ? normalizeReference((raw).reference ?? null) : undefined,\n ...overrides,\n };\n}\n\nexport function normalizeLegacyStatusResponse(raw: LegacyStatusApiResponse): LegacyRequestStatusResult {\n if (raw.hasBeenPaid) {\n return {\n kind: \"paid\",\n ...buildStatusBase(raw, { hasBeenPaid: true }),\n hasBeenPaid: true,\n };\n }\n\n return {\n kind: \"pending\",\n ...buildStatusBase(raw, { hasBeenPaid: false }),\n hasBeenPaid: false,\n };\n}\n\nexport function normalizeRequestStatusResponse(raw: StatusApiResponseV2): RequestStatusResult {\n const statusKey = raw.status?.trim().toLowerCase();\n const mapped = statusKey ? STATUS_KIND_MAP[statusKey] : undefined;\n const kind: RequestStatusKind = raw.hasBeenPaid\n ? \"paid\"\n : mapped ?? (statusKey ? \"unknown\" : \"pending\");\n\n if (kind === \"paid\") {\n return {\n kind,\n ...buildStatusBase(raw, { hasBeenPaid: true }),\n hasBeenPaid: true,\n };\n }\n\n return {\n kind,\n ...buildStatusBase(raw, { hasBeenPaid: false }),\n hasBeenPaid: false,\n };\n}\n","import {\n OP_SEARCH_PAYMENTS,\n type PaymentSearchPagination,\n type PaymentSearchResponse,\n type PaymentRecord,\n} from \"./payments.schemas\";\nimport type { HttpClient, RequestOptions, RuntimeValidationOption } from \"../../core/http/http.types\";\nimport { requestJson } from \"../../core/http/operation.helper\";\nimport type { operations } from \"../../generated/openapi-types\";\nimport { buildRequestQuery } from \"../requests/request.helpers\";\n\nexport type PaymentSearchQuery = operations[typeof OP_SEARCH_PAYMENTS][\"parameters\"][\"query\"];\n\nexport interface PaymentSearchOptions {\n signal?: AbortSignal;\n timeoutMs?: number;\n validation?: RuntimeValidationOption;\n meta?: RequestOptions[\"meta\"];\n}\n\nexport type PaymentSearchResult = PaymentSearchResponse;\n\nexport interface PaymentsApi {\n search(query: PaymentSearchQuery, options?: PaymentSearchOptions): Promise<PaymentSearchResult>;\n}\n\nexport function createPaymentsApi(http: HttpClient): PaymentsApi {\n return {\n async search(query, options) {\n const requestQuery = buildRequestQuery(query ? { ...query } : undefined);\n return requestJson<PaymentSearchResponse>(http, {\n operationId: OP_SEARCH_PAYMENTS,\n method: \"GET\",\n path: \"/v2/payments\",\n query: requestQuery,\n schemaKey: { operationId: OP_SEARCH_PAYMENTS, kind: \"response\", status: 200 },\n description: \"Search payments\",\n signal: options?.signal,\n timeoutMs: options?.timeoutMs,\n validation: options?.validation,\n meta: options?.meta,\n });\n },\n };\n}\n\nexport type { PaymentRecord, PaymentSearchPagination };\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { a as PayoutOperationOptions, P as PayoutsApi, c as createPayoutsApi } from '../../index-
|
|
2
|
-
import '../../openapi-types-
|
|
1
|
+
export { a as PayoutOperationOptions, P as PayoutsApi, c as createPayoutsApi } from '../../index-DuMayMNI.mjs';
|
|
2
|
+
import '../../openapi-types-JhYQOcil.mjs';
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export { G as GetPaymentCalldataOptions, f as GetPaymentRoutesOptions,
|
|
2
|
-
|
|
1
|
+
export { G as GetPaymentCalldataOptions, f as GetPaymentRoutesOptions, L as ListRequestsOptions, e as ListRequestsResponse, P as PaymentCalldataResult, b as PaymentRoute, a as PaymentRoutesResponse, d as RequestOperationOptions, R as RequestsApi, c as createRequestsApi } from '../../index-DPx06HBi.mjs';
|
|
2
|
+
export { a as RequestStatusAddress, b as RequestStatusCustomerInfo, c as RequestStatusKind, R as RequestStatusResult } from '../../request.helpers-DgzNANMt.mjs';
|
|
3
|
+
import '../../openapi-types-JhYQOcil.mjs';
|