import { Body, Controller, Middlewares, Post, Response, Route, SuccessResponse } from "tsoa"; import { ApiValidationError } from "../../Models/Server.Error.model"; import { TextObjectFilterResult } from "../../Models/TextObjectFilter.model"; import { authenticateMiddleware } from "../../middleware/authentication"; import { ArcaActivitiesService, FilterArcaActivitiesParams } from "./ArcaActivities.Service"; @Route("arca-activities/filter-all") @Middlewares(authenticateMiddleware) export class ArcaActivitiesFilterAllController extends Controller { @Response(500, "Ha ocurrido un error") @SuccessResponse(200, "Done") @Post() public async allArcaActivities( @Body() requestBody: FilterArcaActivitiesParams ): Promise { try { const activities = await new ArcaActivitiesService().textObjectFilter(requestBody); this.setStatus(200); return activities; } catch (e) { const errorOccurred: Error = e as Error; this.setStatus(500); return new ApiValidationError(500, errorOccurred.message); } } }