Browse Source

Limit length for comment, search query and symbol

pull/7810/head
Thomas Kaul 1 month ago
parent
commit
9058857506
  1. 14
      apps/api/src/app/endpoints/data-providers/ghostfolio/get-lookup.dto.ts
  2. 5
      apps/api/src/app/endpoints/data-providers/ghostfolio/ghostfolio.controller.ts
  3. 14
      apps/api/src/app/symbol/get-lookup.dto.ts
  4. 6
      apps/api/src/app/symbol/symbol.controller.ts

14
apps/api/src/app/endpoints/data-providers/ghostfolio/get-lookup.dto.ts

@ -0,0 +1,14 @@
import { Transform, TransformFnParams } from 'class-transformer';
import { IsBoolean, IsString, MaxLength } from 'class-validator';
export class GetLookupDto {
@IsBoolean()
@Transform(({ value }: TransformFnParams) => {
return value === 'true';
})
includeIndices? = false;
@IsString()
@MaxLength(255)
query? = '';
}

5
apps/api/src/app/endpoints/data-providers/ghostfolio/ghostfolio.controller.ts

@ -32,6 +32,7 @@ import { getReasonPhrase, StatusCodes } from 'http-status-codes';
import { GetDividendsDto } from './get-dividends.dto';
import { GetHistoricalDto } from './get-historical.dto';
import { GetLookupDto } from './get-lookup.dto';
import { GetQuotesDto } from './get-quotes.dto';
import { GhostfolioService } from './ghostfolio.service';
@ -142,10 +143,8 @@ export class GhostfolioController {
@UseGuards(AuthGuard('api-key'), HasPermissionGuard)
@Version('2')
public async lookupSymbol(
@Query('includeIndices') includeIndicesParam = 'false',
@Query('query') query = ''
@Query() { includeIndices, query }: GetLookupDto
): Promise<LookupResponse> {
const includeIndices = includeIndicesParam === 'true';
await this.validateDailyRequestLimit();
try {

14
apps/api/src/app/symbol/get-lookup.dto.ts

@ -0,0 +1,14 @@
import { Transform, TransformFnParams } from 'class-transformer';
import { IsBoolean, IsString, MaxLength } from 'class-validator';
export class GetLookupDto {
@IsBoolean()
@Transform(({ value }: TransformFnParams) => {
return value === 'true';
})
includeIndices? = false;
@IsString()
@MaxLength(255)
query? = '';
}

6
apps/api/src/app/symbol/symbol.controller.ts

@ -27,6 +27,7 @@ import { isValid, parseISO } from 'date-fns';
import { StatusCodes, getReasonPhrase } from 'http-status-codes';
import { isEmpty } from 'lodash';
import { GetLookupDto } from './get-lookup.dto';
import { SymbolService } from './symbol.service';
@Controller('symbol')
@ -43,11 +44,8 @@ export class SymbolController {
@UseGuards(AuthGuard('jwt'), HasPermissionGuard)
@UseInterceptors(TransformDataSourceInResponseInterceptor)
public async lookupSymbol(
@Query('includeIndices') includeIndicesParam = 'false',
@Query('query') query = ''
@Query() { includeIndices, query }: GetLookupDto
): Promise<LookupResponse> {
const includeIndices = includeIndicesParam === 'true';
try {
return this.symbolService.lookup({
includeIndices,

Loading…
Cancel
Save