Unverified Commit d4666f77 authored by Thomas Kaul's avatar Thomas Kaul Committed by GitHub
Browse files

Feature/remove deprecated endpoints in Ghostfolio controller (#4692)

* Remove deprecated endpoints
parent 243ef220
Loading
Loading
Loading
Loading
+0 −173
Original line number Diff line number Diff line
@@ -74,48 +74,6 @@ export class GhostfolioController {
    }
  }

  /**
   * @deprecated
   */
  @Get('dividends/:symbol')
  @HasPermission(permissions.enableDataProviderGhostfolio)
  @UseGuards(AuthGuard('jwt'), HasPermissionGuard)
  public async getDividendsV1(
    @Param('symbol') symbol: string,
    @Query() query: GetDividendsDto
  ): Promise<DividendsResponse> {
    const maxDailyRequests = await this.ghostfolioService.getMaxDailyRequests();

    if (
      this.request.user.dataProviderGhostfolioDailyRequests > maxDailyRequests
    ) {
      throw new HttpException(
        getReasonPhrase(StatusCodes.TOO_MANY_REQUESTS),
        StatusCodes.TOO_MANY_REQUESTS
      );
    }

    try {
      const dividends = await this.ghostfolioService.getDividends({
        symbol,
        from: parseDate(query.from),
        granularity: query.granularity,
        to: parseDate(query.to)
      });

      await this.ghostfolioService.incrementDailyRequests({
        userId: this.request.user.id
      });

      return dividends;
    } catch {
      throw new HttpException(
        getReasonPhrase(StatusCodes.INTERNAL_SERVER_ERROR),
        StatusCodes.INTERNAL_SERVER_ERROR
      );
    }
  }

  @Get('dividends/:symbol')
  @HasPermission(permissions.enableDataProviderGhostfolio)
  @UseGuards(AuthGuard('api-key'), HasPermissionGuard)
@@ -156,48 +114,6 @@ export class GhostfolioController {
    }
  }

  /**
   * @deprecated
   */
  @Get('historical/:symbol')
  @HasPermission(permissions.enableDataProviderGhostfolio)
  @UseGuards(AuthGuard('jwt'), HasPermissionGuard)
  public async getHistoricalV1(
    @Param('symbol') symbol: string,
    @Query() query: GetHistoricalDto
  ): Promise<HistoricalResponse> {
    const maxDailyRequests = await this.ghostfolioService.getMaxDailyRequests();

    if (
      this.request.user.dataProviderGhostfolioDailyRequests > maxDailyRequests
    ) {
      throw new HttpException(
        getReasonPhrase(StatusCodes.TOO_MANY_REQUESTS),
        StatusCodes.TOO_MANY_REQUESTS
      );
    }

    try {
      const historicalData = await this.ghostfolioService.getHistorical({
        symbol,
        from: parseDate(query.from),
        granularity: query.granularity,
        to: parseDate(query.to)
      });

      await this.ghostfolioService.incrementDailyRequests({
        userId: this.request.user.id
      });

      return historicalData;
    } catch {
      throw new HttpException(
        getReasonPhrase(StatusCodes.INTERNAL_SERVER_ERROR),
        StatusCodes.INTERNAL_SERVER_ERROR
      );
    }
  }

  @Get('historical/:symbol')
  @HasPermission(permissions.enableDataProviderGhostfolio)
  @UseGuards(AuthGuard('api-key'), HasPermissionGuard)
@@ -238,47 +154,6 @@ export class GhostfolioController {
    }
  }

  /**
   * @deprecated
   */
  @Get('lookup')
  @HasPermission(permissions.enableDataProviderGhostfolio)
  @UseGuards(AuthGuard('jwt'), HasPermissionGuard)
  public async lookupSymbolV1(
    @Query('includeIndices') includeIndicesParam = 'false',
    @Query('query') query = ''
  ): Promise<LookupResponse> {
    const includeIndices = includeIndicesParam === 'true';
    const maxDailyRequests = await this.ghostfolioService.getMaxDailyRequests();

    if (
      this.request.user.dataProviderGhostfolioDailyRequests > maxDailyRequests
    ) {
      throw new HttpException(
        getReasonPhrase(StatusCodes.TOO_MANY_REQUESTS),
        StatusCodes.TOO_MANY_REQUESTS
      );
    }

    try {
      const result = await this.ghostfolioService.lookup({
        includeIndices,
        query: query.toLowerCase()
      });

      await this.ghostfolioService.incrementDailyRequests({
        userId: this.request.user.id
      });

      return result;
    } catch {
      throw new HttpException(
        getReasonPhrase(StatusCodes.INTERNAL_SERVER_ERROR),
        StatusCodes.INTERNAL_SERVER_ERROR
      );
    }
  }

  @Get('lookup')
  @HasPermission(permissions.enableDataProviderGhostfolio)
  @UseGuards(AuthGuard('api-key'), HasPermissionGuard)
@@ -320,44 +195,6 @@ export class GhostfolioController {
    }
  }

  /**
   * @deprecated
   */
  @Get('quotes')
  @HasPermission(permissions.enableDataProviderGhostfolio)
  @UseGuards(AuthGuard('jwt'), HasPermissionGuard)
  public async getQuotesV1(
    @Query() query: GetQuotesDto
  ): Promise<QuotesResponse> {
    const maxDailyRequests = await this.ghostfolioService.getMaxDailyRequests();

    if (
      this.request.user.dataProviderGhostfolioDailyRequests > maxDailyRequests
    ) {
      throw new HttpException(
        getReasonPhrase(StatusCodes.TOO_MANY_REQUESTS),
        StatusCodes.TOO_MANY_REQUESTS
      );
    }

    try {
      const quotes = await this.ghostfolioService.getQuotes({
        symbols: query.symbols
      });

      await this.ghostfolioService.incrementDailyRequests({
        userId: this.request.user.id
      });

      return quotes;
    } catch {
      throw new HttpException(
        getReasonPhrase(StatusCodes.INTERNAL_SERVER_ERROR),
        StatusCodes.INTERNAL_SERVER_ERROR
      );
    }
  }

  @Get('quotes')
  @HasPermission(permissions.enableDataProviderGhostfolio)
  @UseGuards(AuthGuard('api-key'), HasPermissionGuard)
@@ -394,16 +231,6 @@ export class GhostfolioController {
    }
  }

  /**
   * @deprecated
   */
  @Get('status')
  @HasPermission(permissions.enableDataProviderGhostfolio)
  @UseGuards(AuthGuard('jwt'), HasPermissionGuard)
  public async getStatusV1(): Promise<DataProviderGhostfolioStatusResponse> {
    return this.ghostfolioService.getStatus({ user: this.request.user });
  }

  @Get('status')
  @HasPermission(permissions.enableDataProviderGhostfolio)
  @UseGuards(AuthGuard('api-key'), HasPermissionGuard)