UNPKG

flowviz

Version:

A framework which provides seamless integration with other phylogenetic tools and frameworks, while allowing workflow scheduling and execution, through the Apache Airflow workflow system.

69 lines (57 loc) 1.62 kB
const { checkSchema } = require("express-validator"); const { workflowStep } = require("./models/airflow/workflow/workflow"); module.exports = ( app, toolController, workflowController, exceptionMiddleware, workflowMiddleware, mongooseErrorMiddleware, passport ) => { /* Library Endpoints */ // GETs app.get("/tool", toolController.getTools); app.get("/tool/:name", toolController.getTool); // POSTs app.post("/tool", toolController.addTool); /* Workflow Endpoints */ // GETs app.get( "/workflow", passport.authenticate("jwt", { session: false }), workflowController.getWorkflows ); app.get( "/workflow/:name", passport.authenticate("jwt", { session: false }), workflowController.getWorkflow ); app.get( "/workflow/:name/:dagRunId", passport.authenticate("jwt", { session: false }), workflowController.getWorkflowRun ); app.get( "/workflow/:name/:dagRunId/tasks/:taskInstanceId", passport.authenticate("jwt", { session: false }), workflowController.getWorkflowRunTaskInstance ); app.get( "/workflow/:name/:dagRunId/tasks/:taskInstanceId/logs/:logNumber", passport.authenticate("jwt", { session: false }), workflowController.getWorkflowRunTaskInstanceLog ); // POSTs app.post( "/workflow", checkSchema(workflowStep), passport.authenticate("jwt", { session: false }), workflowMiddleware, workflowController.postWorkflow ); /* Mongoose specific error handler */ app.use(mongooseErrorMiddleware); /* Main error handler */ app.use(exceptionMiddleware.interceptor); };