Team Ai
Apppublic

oex2003/evolution-api

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes
template.router.ts42 linesDownload Raw Back to routes
1import { RouterBroker } from '@api/abstract/abstract.router';2import { InstanceDto } from '@api/dto/instance.dto';3import { TemplateDto } from '@api/dto/template.dto';4import { templateController } from '@api/server.module';5import { ConfigService } from '@config/env.config';6import { instanceSchema, templateSchema } from '@validate/validate.schema';7import { RequestHandler, Router } from 'express';8 9import { HttpStatus } from './index.router';10 11export class TemplateRouter extends RouterBroker {12  constructor(13    readonly configService: ConfigService,14    ...guards: RequestHandler[]15  ) {16    super();17    this.router18      .post(this.routerPath('create'), ...guards, async (req, res) => {19        const response = await this.dataValidate<TemplateDto>({20          request: req,21          schema: templateSchema,22          ClassRef: TemplateDto,23          execute: (instance, data) => templateController.createTemplate(instance, data),24        });25 26        res.status(HttpStatus.CREATED).json(response);27      })28      .get(this.routerPath('find'), ...guards, async (req, res) => {29        const response = await this.dataValidate<InstanceDto>({30          request: req,31          schema: instanceSchema,32          ClassRef: InstanceDto,33          execute: (instance) => templateController.findTemplate(instance),34        });35 36        res.status(HttpStatus.OK).json(response);37      });38  }39 40  public readonly router: Router = Router();41}42