import { resolveActionClass, resolveSchema } from './../helper/resolver.js' import FlowStore from './../store/flow.js' import logger from './../helper/logger.js' /** * * handle parser * * * @author Björn Hase * @license hhttps://www.gnu.org/licenses/gpl-3.0.en.html GPL-3 * @link https://git.node001.net/HerrHase/signpost.git * */ async function flowHandler(request, response) { // get single flow const flowStore = new FlowStore(this.db()) const flow = await flowStore.findOneByUuid(request.params.uuid) if (!flow) { return response .code(404) .send() } // add to locals response.locals = { 'flow' : flow } // getting action class try { response.locals.action = await import(resolveActionClass(flow.action)) } catch(error) { logger(flow.uuid).error('flowHandler / resolve class / ' + error) return response .code(500) .send() } // check for schema if (flow.schema) { try { response.locals.schema = await import(resolveSchema(flow.schema)) } catch(error) { logger(flow.uuid).error('flowHandler / resolve schema / ' + error) } } } export default flowHandler