45 lines
1.0 KiB
TypeScript
45 lines
1.0 KiB
TypeScript
import { ApiProperty } from "@nestjs/swagger";
|
|
import { IsDefined, IsNotEmpty, IsOptional } from "class-validator";
|
|
import { EsQueryDto } from "./es-query.dto";
|
|
import { SearchQueryDto } from "./search-q.dto";
|
|
|
|
/**
|
|
* List of allowed properties in this DTO
|
|
*/
|
|
const allowedProperties = ['query', 'es_query'];
|
|
|
|
/**
|
|
* Request object, which contains query parameters and Elasticsearch query object
|
|
*/
|
|
export class RequestDto {
|
|
/**
|
|
* Query parameters object
|
|
*/
|
|
@IsDefined()
|
|
@IsNotEmpty()
|
|
@ApiProperty({
|
|
description: '',
|
|
example: {}
|
|
})
|
|
query: SearchQueryDto;
|
|
|
|
/**
|
|
* Elasticsearch query object
|
|
*/
|
|
@IsOptional()
|
|
@ApiProperty({
|
|
description: '',
|
|
example: {},
|
|
})
|
|
es_query?: EsQueryDto;
|
|
|
|
/**
|
|
* Constructs an object with provided parameters
|
|
* @param query
|
|
* @param es_query
|
|
*/
|
|
constructor(query: SearchQueryDto, es_query: EsQueryDto) {
|
|
this.query = query;
|
|
this.es_query = es_query;
|
|
}
|
|
} |