@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
63 lines • 2.66 kB
JavaScript
import { z } from 'zod';
import { BaseResponseSchema, BaseGetParamsSchema } from '../../../core/schemas';
// Common parameter schemas
const ApiModeSchema = z.enum(['dev', 'live']).optional();
// Transaction Setup Schemas
export const TransactionSetupParamsSchema = BaseGetParamsSchema.extend({
customerId: z.string(),
mode: ApiModeSchema,
});
/** Transaction setup data - key field only, passthrough for API flexibility */
export const TransactionSetupDataSchema = z
.object({ transactionSetupId: z.string() })
.passthrough();
export const TransactionSetupResponseSchema = BaseResponseSchema(TransactionSetupDataSchema);
// Account Query Schemas
export const AccountQueryParamsSchema = BaseGetParamsSchema.extend({
customerId: z.string(),
transactionSetupId: z.string(),
mode: ApiModeSchema,
});
/** Account query data - key field only, passthrough for API flexibility */
export const AccountQueryDataSchema = z.object({ PaymentAccountID: z.string() }).passthrough();
export const AccountQueryResponseSchema = BaseResponseSchema(z.union([AccountQueryDataSchema, z.literal(false)]));
// Billing Update Schemas
export const BillingUpdateParamsSchema = BaseGetParamsSchema.extend({
transactionSetupId: z.string(),
address1: z.string(),
address2: z.string().optional(),
city: z.string(),
state: z.string(),
zip: z.string(),
mode: ApiModeSchema,
});
export const BillingUpdateResponseSchema = BaseResponseSchema(z.boolean());
// Card Info Schemas
export const CardInfoParamsSchema = BaseGetParamsSchema.extend({
transactionSetupId: z.string(),
mode: ApiModeSchema,
});
/** Card info data - passthrough for API flexibility */
export const CardInfoDataSchema = z.object({}).passthrough();
export const CardInfoResponseSchema = BaseResponseSchema(z.union([CardInfoDataSchema, z.record(z.never())]));
// Surcharge Schemas
export const SurchargeParamsSchema = BaseGetParamsSchema.extend({
customerId: z.string(),
paymentAccountId: z.string(),
amount: z.string(),
fromState: z.string(),
toState: z.string(),
country: z.string(),
mode: ApiModeSchema,
});
/** Surcharge data - passthrough for API flexibility */
export const SurchargeDataSchema = z.object({}).passthrough();
export const SurchargeResponseSchema = BaseResponseSchema(z.union([SurchargeDataSchema, z.record(z.never())]));
// Transaction Validation Schemas
export const ValidateParamsSchema = BaseGetParamsSchema.extend({
customerId: z.string(),
transactionSetupId: z.string(),
mode: ApiModeSchema,
});
export const ValidateResponseSchema = BaseResponseSchema(z.boolean());
//# sourceMappingURL=unified.js.map