@microtica/database
Version:
Database tools
30 lines • 1.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.wrapTx = exports.autoAnswer = void 0;
const errorHandler = require("@doxteam/error-handler");
const database_1 = require("./database");
function autoAnswer(res) {
return (d) => {
if (d != null) {
res.send(d);
}
};
}
exports.autoAnswer = autoAnswer;
function wrapTx(mw) {
return (req, res) => {
const aa = autoAnswer(res);
database_1.Database.db.transaction(tx => {
const treq = req;
treq.userTx = { tx, uid: null };
return mw(treq, res); // db.transaction expects Bluebird promise for no particular reason :)
}).then(aa).catch((err) => {
return errorHandler.getErrorHandler(res)(err).catch(err => {
console.error("Unhandled rejection caught in transaction wrapper");
console.error(err);
});
});
};
}
exports.wrapTx = wrapTx;
//# sourceMappingURL=transactionable-middleware.js.map