oex2003/evolution-api
0
1import { RouterBroker } from '@api/abstract/abstract.router';2import { MediaDto } from '@api/integrations/storage/s3/dto/media.dto';3import { s3Schema, s3UrlSchema } from '@api/integrations/storage/s3/validate/s3.schema';4import { HttpStatus } from '@api/routes/index.router';5import { s3Controller } from '@api/server.module';6import { RequestHandler, Router } from 'express';7 8export class S3Router extends RouterBroker {9 constructor(...guards: RequestHandler[]) {10 super();11 this.router12 .post(this.routerPath('getMedia'), ...guards, async (req, res) => {13 const response = await this.dataValidate<MediaDto>({14 request: req,15 schema: s3Schema,16 ClassRef: MediaDto,17 execute: (instance, data) => s3Controller.getMedia(instance, data),18 });19 20 res.status(HttpStatus.CREATED).json(response);21 })22 .post(this.routerPath('getMediaUrl'), ...guards, async (req, res) => {23 const response = await this.dataValidate<MediaDto>({24 request: req,25 schema: s3UrlSchema,26 ClassRef: MediaDto,27 execute: (instance, data) => s3Controller.getMediaUrl(instance, data),28 });29 30 res.status(HttpStatus.OK).json(response);31 });32 }33 34 public readonly router: Router = Router();35}36 