Team Ai
Apppublic

oex2003/evolution-api

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes
flowise.router.ts125 linesDownload Raw Back to routes
1import { RouterBroker } from '@api/abstract/abstract.router';2import { IgnoreJidDto } from '@api/dto/chatbot.dto';3import { InstanceDto } from '@api/dto/instance.dto';4import { HttpStatus } from '@api/routes/index.router';5import { flowiseController } from '@api/server.module';6import { instanceSchema } from '@validate/instance.schema';7import { RequestHandler, Router } from 'express';8 9import { FlowiseDto, FlowiseSettingDto } from '../dto/flowise.dto';10import {11  flowiseIgnoreJidSchema,12  flowiseSchema,13  flowiseSettingSchema,14  flowiseStatusSchema,15} from '../validate/flowise.schema';16 17export class FlowiseRouter extends RouterBroker {18  constructor(...guards: RequestHandler[]) {19    super();20    this.router21      .post(this.routerPath('create'), ...guards, async (req, res) => {22        const response = await this.dataValidate<FlowiseDto>({23          request: req,24          schema: flowiseSchema,25          ClassRef: FlowiseDto,26          execute: (instance, data) => flowiseController.createBot(instance, data),27        });28 29        res.status(HttpStatus.CREATED).json(response);30      })31      .get(this.routerPath('find'), ...guards, async (req, res) => {32        const response = await this.dataValidate<InstanceDto>({33          request: req,34          schema: instanceSchema,35          ClassRef: InstanceDto,36          execute: (instance) => flowiseController.findBot(instance),37        });38 39        res.status(HttpStatus.OK).json(response);40      })41      .get(this.routerPath('fetch/:flowiseId'), ...guards, async (req, res) => {42        const response = await this.dataValidate<InstanceDto>({43          request: req,44          schema: instanceSchema,45          ClassRef: InstanceDto,46          execute: (instance) => flowiseController.fetchBot(instance, req.params.flowiseId),47        });48 49        res.status(HttpStatus.OK).json(response);50      })51      .put(this.routerPath('update/:flowiseId'), ...guards, async (req, res) => {52        const response = await this.dataValidate<FlowiseDto>({53          request: req,54          schema: flowiseSchema,55          ClassRef: FlowiseDto,56          execute: (instance, data) => flowiseController.updateBot(instance, req.params.flowiseId, data),57        });58 59        res.status(HttpStatus.OK).json(response);60      })61      .delete(this.routerPath('delete/:flowiseId'), ...guards, async (req, res) => {62        const response = await this.dataValidate<InstanceDto>({63          request: req,64          schema: instanceSchema,65          ClassRef: InstanceDto,66          execute: (instance) => flowiseController.deleteBot(instance, req.params.flowiseId),67        });68 69        res.status(HttpStatus.OK).json(response);70      })71      .post(this.routerPath('settings'), ...guards, async (req, res) => {72        const response = await this.dataValidate<FlowiseSettingDto>({73          request: req,74          schema: flowiseSettingSchema,75          ClassRef: FlowiseSettingDto,76          execute: (instance, data) => flowiseController.settings(instance, data),77        });78 79        res.status(HttpStatus.OK).json(response);80      })81      .get(this.routerPath('fetchSettings'), ...guards, async (req, res) => {82        const response = await this.dataValidate<InstanceDto>({83          request: req,84          schema: instanceSchema,85          ClassRef: InstanceDto,86          execute: (instance) => flowiseController.fetchSettings(instance),87        });88 89        res.status(HttpStatus.OK).json(response);90      })91      .post(this.routerPath('changeStatus'), ...guards, async (req, res) => {92        const response = await this.dataValidate<InstanceDto>({93          request: req,94          schema: flowiseStatusSchema,95          ClassRef: InstanceDto,96          execute: (instance, data) => flowiseController.changeStatus(instance, data),97        });98 99        res.status(HttpStatus.OK).json(response);100      })101      .get(this.routerPath('fetchSessions/:flowiseId'), ...guards, async (req, res) => {102        const response = await this.dataValidate<InstanceDto>({103          request: req,104          schema: instanceSchema,105          ClassRef: InstanceDto,106          execute: (instance) => flowiseController.fetchSessions(instance, req.params.flowiseId),107        });108 109        res.status(HttpStatus.OK).json(response);110      })111      .post(this.routerPath('ignoreJid'), ...guards, async (req, res) => {112        const response = await this.dataValidate<IgnoreJidDto>({113          request: req,114          schema: flowiseIgnoreJidSchema,115          ClassRef: IgnoreJidDto,116          execute: (instance, data) => flowiseController.ignoreJid(instance, data),117        });118 119        res.status(HttpStatus.OK).json(response);120      });121  }122 123  public readonly router: Router = Router();124}125