@wepublish/api
Version:
API core for we.publish.
55 lines • 2.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.mapBexioStatusToPaymentStatus = exports.addToStringReplaceMap = exports.searchForContact = exports.BexioInvoiceStatus = void 0;
const tslib_1 = require("tslib");
const client_1 = require("@prisma/client");
const bexio_1 = require("bexio");
const { ContactSearchParameters } = bexio_1.ContactsStatic;
var BexioInvoiceStatus;
(function (BexioInvoiceStatus) {
BexioInvoiceStatus[BexioInvoiceStatus["Draft"] = 7] = "Draft";
BexioInvoiceStatus[BexioInvoiceStatus["Pending"] = 8] = "Pending";
BexioInvoiceStatus[BexioInvoiceStatus["Paid"] = 9] = "Paid";
BexioInvoiceStatus[BexioInvoiceStatus["Partial"] = 16] = "Partial";
BexioInvoiceStatus[BexioInvoiceStatus["Canceled"] = 19] = "Canceled";
BexioInvoiceStatus[BexioInvoiceStatus["Unpaid"] = 31] = "Unpaid";
})(BexioInvoiceStatus || (exports.BexioInvoiceStatus = BexioInvoiceStatus = {}));
function searchForContact(bexio, user) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
const contacts = yield bexio.contacts.search([
{
field: ContactSearchParameters.mail,
value: `${user.email}`,
criteria: '='
}
]);
return contacts[0];
});
}
exports.searchForContact = searchForContact;
function addToStringReplaceMap(stringReplaceMap, id, object) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
for (const [key, value] of Object.entries(object)) {
stringReplaceMap.addRule(`:${id}.${key}:`, `${value}`);
}
});
}
exports.addToStringReplaceMap = addToStringReplaceMap;
function mapBexioStatusToPaymentStatus(bexioStatus) {
switch (bexioStatus) {
case BexioInvoiceStatus.Unpaid:
case BexioInvoiceStatus.Partial:
case BexioInvoiceStatus.Draft:
return client_1.PaymentState.requiresUserAction;
case BexioInvoiceStatus.Pending:
return client_1.PaymentState.processing;
case BexioInvoiceStatus.Paid:
return client_1.PaymentState.paid;
case BexioInvoiceStatus.Canceled:
return client_1.PaymentState.canceled;
default:
return null;
}
}
exports.mapBexioStatusToPaymentStatus = mapBexioStatusToPaymentStatus;
//# sourceMappingURL=bexio-utils.js.map