Browse Source

Ran yarn format and fixed feedback from Thomas

pull/2777/head
Hugo Persson 2 years ago
parent
commit
3012945d83
  1. 1
      .gitignore
  2. 9
      apps/api/src/app/admin/admin.controller.ts
  3. 5
      apps/api/src/app/admin/admin.module.ts
  4. 1
      apps/api/src/services/data-gathering/data-gathering.service.ts
  5. 1
      apps/api/src/services/data-provider/data-provider.module.ts
  6. 21
      apps/api/src/services/data-provider/manual/manual.service.ts
  7. 5
      apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
  8. 6
      apps/client/src/app/services/admin.service.ts

1
.gitignore

@ -40,4 +40,3 @@ yarn-error.log
# System Files # System Files
.DS_Store .DS_Store
Thumbs.db Thumbs.db
.nx/cache

9
apps/api/src/app/admin/admin.controller.ts

@ -223,7 +223,7 @@ export class AdminController {
public async gatherSymbolForDate( public async gatherSymbolForDate(
@Param('dataSource') dataSource: DataSource, @Param('dataSource') dataSource: DataSource,
@Param('dateString') dateString: string, @Param('dateString') dateString: string,
@Param('symbol') symbol: string, @Param('symbol') symbol: string
): Promise<MarketData> { ): Promise<MarketData> {
if ( if (
!hasPermission( !hasPermission(
@ -246,7 +246,6 @@ export class AdminController {
); );
} }
return this.dataGatheringService.gatherSymbolForDate({ return this.dataGatheringService.gatherSymbolForDate({
dataSource, dataSource,
date, date,
@ -259,10 +258,10 @@ export class AdminController {
public async testScraper( public async testScraper(
@Body() data: { config: string } @Body() data: { config: string }
): Promise<{ price: number }> { ): Promise<{ price: number }> {
const {url, selector} = JSON.parse(data.config); const { url, selector } = JSON.parse(data.config);
let price = await this.manualService.scrape(url ,selector); let price = await this.manualService.scrape(url, selector);
return {price: price}; return { price: price };
} }
@Get('market-data') @Get('market-data')

5
apps/api/src/app/admin/admin.module.ts

@ -26,11 +26,10 @@ import { QueueModule } from './queue/queue.module';
PropertyModule, PropertyModule,
QueueModule, QueueModule,
SubscriptionModule, SubscriptionModule,
SymbolProfileModule, SymbolProfileModule
], ],
controllers: [AdminController], controllers: [AdminController],
providers: [AdminService], providers: [AdminService],
exports: [AdminService], exports: [AdminService]
}) })
export class AdminModule {} export class AdminModule {}

1
apps/api/src/services/data-gathering/data-gathering.service.ts

@ -100,7 +100,6 @@ export class DataGatheringService {
historicalData[symbol]?.[format(getYesterday(), DATE_FORMAT)] historicalData[symbol]?.[format(getYesterday(), DATE_FORMAT)]
.marketPrice; .marketPrice;
if (marketPrice) { if (marketPrice) {
return await this.prismaService.marketData.upsert({ return await this.prismaService.marketData.upsert({
create: { create: {

1
apps/api/src/services/data-provider/data-provider.module.ts

@ -29,7 +29,6 @@ import { DataProviderService } from './data-provider.service';
PropertyModule, PropertyModule,
RedisCacheModule, RedisCacheModule,
SymbolProfileModule SymbolProfileModule
], ],
providers: [ providers: [
AlphaVantageService, AlphaVantageService,

21
apps/api/src/services/data-provider/manual/manual.service.ts

@ -1,10 +1,17 @@
import { LookupItem } from '@ghostfolio/api/app/symbol/interfaces/lookup-item.interface'; import { LookupItem } from '@ghostfolio/api/app/symbol/interfaces/lookup-item.interface';
import { DataProviderInterface } from '@ghostfolio/api/services/data-provider/interfaces/data-provider.interface'; import { DataProviderInterface } from '@ghostfolio/api/services/data-provider/interfaces/data-provider.interface';
import { IDataProviderHistoricalResponse, IDataProviderResponse } from '@ghostfolio/api/services/interfaces/interfaces'; import {
IDataProviderHistoricalResponse,
IDataProviderResponse
} from '@ghostfolio/api/services/interfaces/interfaces';
import { PrismaService } from '@ghostfolio/api/services/prisma/prisma.service'; import { PrismaService } from '@ghostfolio/api/services/prisma/prisma.service';
import { SymbolProfileService } from '@ghostfolio/api/services/symbol-profile/symbol-profile.service'; import { SymbolProfileService } from '@ghostfolio/api/services/symbol-profile/symbol-profile.service';
import { DEFAULT_REQUEST_TIMEOUT } from '@ghostfolio/common/config'; import { DEFAULT_REQUEST_TIMEOUT } from '@ghostfolio/common/config';
import { DATE_FORMAT, extractNumberFromString, getYesterday } from '@ghostfolio/common/helper'; import {
DATE_FORMAT,
extractNumberFromString,
getYesterday
} from '@ghostfolio/common/helper';
import { Granularity } from '@ghostfolio/common/types'; import { Granularity } from '@ghostfolio/common/types';
import { Injectable, Logger } from '@nestjs/common'; import { Injectable, Logger } from '@nestjs/common';
import { DataSource, SymbolProfile } from '@prisma/client'; import { DataSource, SymbolProfile } from '@prisma/client';
@ -90,7 +97,6 @@ export class ManualService implements DataProviderInterface {
return {}; return {};
} }
const value = await this.scrape(url, selector, headers); const value = await this.scrape(url, selector, headers);
return { return {
[symbol]: { [symbol]: {
@ -109,8 +115,11 @@ export class ManualService implements DataProviderInterface {
} }
} }
public async scrape(url: string, selector: string, headers = {}): Promise<number>{ public async scrape(
url: string,
selector: string,
headers = {}
): Promise<number> {
const abortController = new AbortController(); const abortController = new AbortController();
const { body } = await got(url, { const { body } = await got(url, {
@ -125,10 +134,8 @@ export class ManualService implements DataProviderInterface {
const $ = cheerio.load(body); const $ = cheerio.load(body);
return extractNumberFromString($(selector).first().text()); return extractNumberFromString($(selector).first().text());
} }
public getName(): DataSource { public getName(): DataSource {
return DataSource.MANUAL; return DataSource.MANUAL;
} }

5
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts

@ -241,9 +241,10 @@ export class AssetProfileDialog implements OnDestroy, OnInit {
} }
public onTestScraper() { public onTestScraper() {
this.adminService this.adminService
.testScrapeConfig(this.assetProfileForm.controls['scraperConfiguration'].value) .testScrapeConfig(
this.assetProfileForm.controls['scraperConfiguration'].value
)
.pipe(takeUntil(this.unsubscribeSubject)) .pipe(takeUntil(this.unsubscribeSubject))
.subscribe((response) => { .subscribe((response) => {
if (response?.price) { if (response?.price) {

6
apps/client/src/app/services/admin.service.ts

@ -181,14 +181,14 @@ export class AdminService {
let url = `/api/v1/admin/gather/${dataSource}/${symbol}`; let url = `/api/v1/admin/gather/${dataSource}/${symbol}`;
if (date) { if (date) {
url = `${url}/${format(date, DATE_FORMAT)}?dryRun=true`; url = `${url}/${format(date, DATE_FORMAT)}`;
} }
return this.http.post<MarketData | void>(url, {}); return this.http.post<MarketData | void>(url, {});
} }
public testScrapeConfig(config: string){ public testScrapeConfig(config: string) {
return this.http.post<any>(`/api/v1/admin/test-scraper`, {config}); return this.http.post<any>(`/api/v1/admin/test-scraper`, { config });
} }
public fetchSymbolForDate({ public fetchSymbolForDate({

Loading…
Cancel
Save