49 lines
1013 B
TypeScript
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;
|
|
}
|
|
} |