UNPKG

reiso

Version:
66 lines 5.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const basicAuth = require("basic-auth"); const Translation = require("../Modules/Translation"); const Log = require("../Modules/Log"); const ServerHook_1 = require("../Modules/ServerHook"); const Translation_1 = require("./Lib/Translation"); async function checkHooks(req, res, next, context) { for (let hook of ServerHook_1.getHooksWebHook()) { await hook(req, res, next, context); } } exports.checkHooks = checkHooks; async function checkAuth(webHook, req, res, context) { let isAuth = true; if (webHook.isAuth) { isAuth = await webHook.isAuth(req.params, req.body, context); } if (isAuth && webHook.auth) { let auth = basicAuth(req); if (!auth) { throw Error('Ckeck auth request. "basic-auth" module does\'nt work'); } else { let result = await webHook.auth(auth.name, auth.pass, req.params, req.body, context); if (!result) { return false; } } } return true; } exports.checkAuth = checkAuth; function prepareLanguage(context) { if (!context.language) { context.language = Translation.getLanguage(); } context.trans = (query, ...args) => Translation.trans(context.language, query, ...args); } exports.prepareLanguage = prepareLanguage; async function hook(webHook, req, res, next, language) { const context = { files: req.files, language: language || Translation.getLanguage() }; await checkHooks(req, res, next, context); Translation_1.setLanguageContext(context); if (!await checkAuth(webHook, req, res, context)) { res.set('WWW-Authenticate', 'Basic realm=Authorization Required'); res.send(401); return; } ; try { const body = await webHook.func(req.params, req.body, context); res.status(200); res.jsonp(body); } catch (e) { res.status(501); res.send(e.message); Log.logError(e, { type: "webhook" }); } } exports.hook = hook; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ViSG9vay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TZXJ2ZXIvV2ViSG9vay50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSx3Q0FBd0M7QUFHeEMsc0RBQXNEO0FBQ3RELHNDQUFzQztBQUN0QyxzREFBMEU7QUFDMUUsbURBQXVEO0FBRWhELEtBQUsscUJBQXFCLEdBQW9CLEVBQUUsR0FBcUIsRUFBRSxJQUEwQixFQUFFLE9BQU87SUFDL0csS0FBSyxJQUFJLElBQUksSUFBSSw0QkFBZSxFQUFFLEVBQUU7UUFDbEMsTUFBTSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUE7S0FDcEM7QUFDSCxDQUFDO0FBSkQsZ0NBSUM7QUFFTSxLQUFLLG9CQUFvQixPQUF5QixFQUFFLEdBQW9CLEVBQUUsR0FBcUIsRUFBRSxPQUFPO0lBQzdHLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQztJQUVsQixJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7UUFDbEIsTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDOUQ7SUFFRCxJQUFJLE1BQU0sSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO1FBQzFCLElBQUksSUFBSSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUUxQixJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsTUFBTSxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQztTQUN0RTthQUFNO1lBQ0wsSUFBSSxNQUFNLEdBQUcsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDckYsSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDWCxPQUFPLEtBQUssQ0FBQzthQUNkO1NBQ0Y7S0FDRjtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQXJCRCw4QkFxQkM7QUFFRCx5QkFBZ0MsT0FBTztJQUNyQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtRQUNyQixPQUFPLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztLQUM5QztJQUVELE9BQU8sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUMxRixDQUFDO0FBTkQsMENBTUM7QUFFTSxLQUFLLGVBQWUsT0FBeUIsRUFBRSxHQUFvQixFQUFFLEdBQXFCLEVBQUUsSUFBMEIsRUFBRSxRQUFpQjtJQUM5SSxNQUFNLE9BQU8sR0FBRztRQUNkLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSztRQUNoQixRQUFRLEVBQUUsUUFBUSxJQUFJLFdBQVcsQ0FBQyxXQUFXLEVBQUU7S0FDaEQsQ0FBQztJQUVGLE1BQU0sVUFBVSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRTFDLGdDQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRTVCLElBQUksQ0FBQyxNQUFNLFNBQVMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsRUFBRTtRQUNoRCxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFrQixFQUFFLG9DQUFvQyxDQUFDLENBQUM7UUFDbEUsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNkLE9BQU87S0FDUjtJQUFBLENBQUM7SUFFRixJQUFJO1FBQ0YsTUFBTSxJQUFJLEdBQUcsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMvRCxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDakI7SUFDRCxPQUFPLENBQUMsRUFBRTtRQUNSLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEIsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEIsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztLQUN0QztBQUNILENBQUM7QUExQkQsb0JBMEJDIn0=