oex2003/evolution-api
0
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 