50 lines
1.9 KiB
JavaScript

"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