UNPKG

@sastatesla/payment-gateway-sdk

Version:

A unified interface for integrating multiple payment providers (e.g., Razorpay, Cashfree) in your Node.js application.

33 lines 1.6 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.cloudStorageConfigSchema = exports.s3ConfigSchema = exports.gcsConfigSchema = exports.allowedFileTypesSchema = exports.fileUploadOptionsSchema = void 0; const joi_1 = __importDefault(require("joi")); // File upload options schema exports.fileUploadOptionsSchema = joi_1.default.object({ destination: joi_1.default.string().optional(), metadata: joi_1.default.object().optional() }); // Allowed file types array exports.allowedFileTypesSchema = joi_1.default.array().items(joi_1.default.string().pattern(/^[-\w.]+\/[-\w.]+$/)); // GCS config schema exports.gcsConfigSchema = joi_1.default.object({ bucketName: joi_1.default.string().required(), credentials: joi_1.default.object().required() }); // S3 config schema exports.s3ConfigSchema = joi_1.default.object({ region: joi_1.default.string().required(), bucketName: joi_1.default.string().required(), accessKeyId: joi_1.default.string().required(), secretAccessKey: joi_1.default.string().required() }); // Main CloudStorage config exports.cloudStorageConfigSchema = joi_1.default.object({ provider: joi_1.default.string().valid("gcs", "s3", "cloudinary").required(), config: joi_1.default.alternatives().try(exports.gcsConfigSchema, exports.s3ConfigSchema).required(), allowedFileTypes: exports.allowedFileTypesSchema.optional() }); //# sourceMappingURL=schemaValidation.js.map