@fabrix/spool-cart
Version:
Spool - eCommerce Spool for Fabrix
77 lines (76 loc) • 2.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const joi = require("joi");
const transaction_1 = require("../schemas/transaction");
exports.validateTransaction = {
authorize(data) {
return new Promise((resolve, reject) => {
joi.validate(data, transaction_1.transaction, (err, value) => {
if (err) {
return reject(new TypeError(err));
}
return resolve(value);
});
});
},
capture(data) {
return new Promise((resolve, reject) => {
joi.validate(data, transaction_1.transaction, (err, value) => {
if (err) {
return reject(new TypeError(err));
}
return resolve(value);
});
});
},
sale(data) {
return new Promise((resolve, reject) => {
joi.validate(data, transaction_1.transaction, (err, value) => {
if (err) {
return reject(new TypeError(err));
}
return resolve(value);
});
});
},
void(data) {
return new Promise((resolve, reject) => {
joi.validate(data, transaction_1.transaction, (err, value) => {
if (err) {
return reject(new TypeError(err));
}
return resolve(value);
});
});
},
refund(data) {
return new Promise((resolve, reject) => {
joi.validate(data, transaction_1.transaction, (err, value) => {
if (err) {
return reject(new TypeError(err));
}
return resolve(value);
});
});
},
retry(data) {
return new Promise((resolve, reject) => {
joi.validate(data, transaction_1.transaction, (err, value) => {
if (err) {
return reject(new TypeError(err));
}
return resolve(value);
});
});
},
cancel(data) {
return new Promise((resolve, reject) => {
joi.validate(data, transaction_1.transaction, (err, value) => {
if (err) {
return reject(new TypeError(err));
}
return resolve(value);
});
});
}
};