@aajsa/moyasar-client
Version:
A lightweight and type-safe TypeScript client for interacting with Moyasar Payment Gateway APIs.
58 lines (56 loc) • 2.04 kB
JavaScript
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
const zod_v4_mini = require_rolldown_runtime.__toESM(require("zod/v4-mini"));
//#region src/schema/token.ts
const TokenStatusEnum = zod_v4_mini.z.enum([
"initiated",
"active",
"inactive"
]);
const TokenResponseSchema = zod_v4_mini.z.object({
id: zod_v4_mini.z.string().check(zod_v4_mini.z.startsWith("token_")),
status: TokenStatusEnum,
brand: zod_v4_mini.z.string(),
funding: zod_v4_mini.z.string(),
country: zod_v4_mini.z.string(),
month: zod_v4_mini.z.string(),
year: zod_v4_mini.z.string(),
name: zod_v4_mini.z.string(),
last_four: zod_v4_mini.z.string(),
metadata: zod_v4_mini.z.nullish(zod_v4_mini.z.object()),
message: zod_v4_mini.z.nullish(zod_v4_mini.z.any()),
verification_url: zod_v4_mini.z.nullish(zod_v4_mini.z.url()),
created_at: zod_v4_mini.z.string(),
updated_at: zod_v4_mini.z.string(),
expires_at: zod_v4_mini.z.string()
});
const createTokenSchema = zod_v4_mini.z.object({
name: zod_v4_mini.z.string().check(zod_v4_mini.z.minLength(1), zod_v4_mini.z.maxLength(255)),
number: zod_v4_mini.z.string().check(zod_v4_mini.z.regex(/^\d{16,19}$/)),
month: zod_v4_mini.z.number().check(zod_v4_mini.z.minimum(1), zod_v4_mini.z.maximum(12)),
year: zod_v4_mini.z.number().check(zod_v4_mini.z.minimum(Number((/* @__PURE__ */ new Date()).getFullYear()))),
cvc: zod_v4_mini.z.number().check(zod_v4_mini.z.minimum(3), zod_v4_mini.z.maximum(4)),
callback_url: zod_v4_mini.z.url()
});
const tokenIdSchema = zod_v4_mini.z.object({ id: zod_v4_mini.z.string().check(zod_v4_mini.z.startsWith("token_")) });
const tokensEndpoints = {
getTokenId: {
path: "/tokens/:id",
method: "GET",
params: tokenIdSchema,
output: TokenResponseSchema
},
createToken: {
path: "/tokens",
method: "POST",
input: createTokenSchema,
output: TokenResponseSchema
},
deleteToken: {
path: "/tokens/:id",
method: "DELETE",
params: tokenIdSchema,
output: TokenResponseSchema
}
};
//#endregion
exports.tokensEndpoints = tokensEndpoints;