Team Ai
Apppublic

oex2003/evolution-api

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes
s3.router.ts36 linesDownload Raw Back to routes
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