import { z } from 'zod'; export namespace CheckCommand { export const RequestSchema = z .object({ TransactionId: z.string().transform((transactionId) => parseInt(transactionId, 10)), Amount: z.string().transform((amount) => parseInt(amount, 10)), Currency: z.string(), PaymentAmount: z.string(), PaymentCurrency: z.string(), DateTime: z.string(), CardFirstSix: z.string(), CardLastFour: z.string(), SubscriptionId: z.string().optional(), CardType: z.string(), CardExpDate: z.string(), TestMode: z.string().transform((testMode) => parseInt(testMode, 10)), Status: z.string(), OperationType: z.string(), InvoiceId: z.string().optional(), AccountId: z.string(), // Data: CloudPaymentsDataSchema, Data: z.string(), }) .transform((data) => ({ transactionId: data.TransactionId, amount: data.Amount, currency: data.Currency, status: data.Status, paymentAmount: data.PaymentAmount, paymentCurrency: data.PaymentCurrency, dateTime: data.DateTime, cardFirstSix: data.CardFirstSix, cardLastFour: data.CardLastFour, subscriptionId: data.SubscriptionId, cardType: data.CardType, cardExpDate: data.CardExpDate, testMode: data.TestMode, operationType: data.OperationType, invoiceId: data.InvoiceId, accountId: data.AccountId, data: data.Data, })); export type Request = z.infer; export const ResponseSchema = z.object({ code: z.number(), }); export type Response = z.infer; }