scipaper/src/core/domain/dtos/search-result.dto.ts
2022-08-16 19:22:27 +03:00

49 lines
1013 B
TypeScript

import { ApiProperty } from "@nestjs/swagger";
import { IsArray, IsDefined, IsInt, IsNotEmpty } from "class-validator";
import { EsResponseDto } from "./es-response.dto";
/**
* List of allowed properties in this DTO
*/
const allowedProperties = ['data', 'status'];
/**
* Elasticsearch response DTO
*/
export class SearchResultDto {
/**
* Status code
*/
@IsDefined()
@IsNotEmpty()
@IsInt()
@ApiProperty({
description: 'Status code',
example: 200,
})
statusCode: number;
/**
* All the data acquired.
*/
@IsDefined()
@IsNotEmpty()
@IsArray()
@ApiProperty({
description: 'Data acquired from the Elasticsearch',
example: {
},
})
data: EsResponseDto;
/**
* Constructs an object with provided parameters
* @param code
* @param data
*/
constructor(code: number, data: EsResponseDto) {
this.statusCode = code;
this.data = data;
}
}