"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.paymentGatewayListSchema = exports.paymentGatewaySchema = exports.paymentGatewayTypeSchema = exports.paymentMethodListSchema = exports.paymentMethodSchema = exports.paymentMethodTypeSchema = void 0; const zod_1 = require("zod"); exports.paymentMethodTypeSchema = zod_1.z.enum([ "CreditCard", "BankAccount", "RemoteCreditCard", "RemoteBankAccount", "Manual", ]); exports.paymentMethodSchema = zod_1.z.object({ id: zod_1.z.number().int(), type: exports.paymentMethodTypeSchema, description: zod_1.z.string(), gatewayName: zod_1.z.string().optional(), contactType: zod_1.z.string().optional(), contactId: zod_1.z.number().int().optional(), cardLastFour: zod_1.z.string().optional(), expiryDate: zod_1.z.string().optional(), startDate: zod_1.z.string().optional(), issueNumber: zod_1.z.string().optional(), cardType: zod_1.z.string().optional(), remoteToken: zod_1.z.string().optional(), lastUpdated: zod_1.z.string().optional(), bankName: zod_1.z.string().optional(), isDefault: zod_1.z.boolean().optional(), }); exports.paymentMethodListSchema = zod_1.z.object({ paymentMethods: zod_1.z.array(exports.paymentMethodSchema), totalCount: zod_1.z.number().int().min(0), }); exports.paymentGatewayTypeSchema = zod_1.z.enum([ "merchant", "thirdparty", "tokenization", "manual", ]); exports.paymentGatewaySchema = zod_1.z.object({ name: zod_1.z.string(), displayName: zod_1.z.string(), type: exports.paymentGatewayTypeSchema, isActive: zod_1.z.boolean(), configuration: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional(), }); exports.paymentGatewayListSchema = zod_1.z.object({ gateways: zod_1.z.array(exports.paymentGatewaySchema), totalCount: zod_1.z.number().int().min(0), }); //# sourceMappingURL=schema.js.map