27 lines
1.2 KiB
TypeScript
27 lines
1.2 KiB
TypeScript
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<ApiValidationError>(500, "Ha ocurrido un error")
|
|
@SuccessResponse(200, "Done")
|
|
@Post()
|
|
public async allArcaActivities(
|
|
@Body() requestBody: FilterArcaActivitiesParams
|
|
): Promise<TextObjectFilterResult[] | ApiValidationError> {
|
|
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);
|
|
}
|
|
}
|
|
}
|