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. 23
      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
.DS_Store
Thumbs.db
.nx/cache

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

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

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

@ -26,11 +26,10 @@ import { QueueModule } from './queue/queue.module';
PropertyModule,
QueueModule,
SubscriptionModule,
SymbolProfileModule,
SymbolProfileModule
],
controllers: [AdminController],
providers: [AdminService],
exports: [AdminService],
exports: [AdminService]
})
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)]
.marketPrice;
if (marketPrice) {
return await this.prismaService.marketData.upsert({
create: {

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

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

23
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 { 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 { SymbolProfileService } from '@ghostfolio/api/services/symbol-profile/symbol-profile.service';
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 { Injectable, Logger } from '@nestjs/common';
import { DataSource, SymbolProfile } from '@prisma/client';
@ -65,7 +72,7 @@ export class ManualService implements DataProviderInterface {
defaultMarketPrice,
headers = {},
selector,
url
url
} = symbolProfile.scraperConfiguration ?? {};
Logger.log(symbolProfile);
@ -90,7 +97,6 @@ export class ManualService implements DataProviderInterface {
return {};
}
const value = await this.scrape(url, selector, headers);
return {
[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 { body } = await got(url, {
@ -125,10 +134,8 @@ export class ManualService implements DataProviderInterface {
const $ = cheerio.load(body);
return extractNumberFromString($(selector).first().text());
}
public getName(): DataSource {
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() {
this.adminService
.testScrapeConfig(this.assetProfileForm.controls['scraperConfiguration'].value)
.testScrapeConfig(
this.assetProfileForm.controls['scraperConfiguration'].value
)
.pipe(takeUntil(this.unsubscribeSubject))
.subscribe((response) => {
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}`;
if (date) {
url = `${url}/${format(date, DATE_FORMAT)}?dryRun=true`;
url = `${url}/${format(date, DATE_FORMAT)}`;
}
return this.http.post<MarketData | void>(url, {});
}
public testScrapeConfig(config: string){
return this.http.post<any>(`/api/v1/admin/test-scraper`, {config});
public testScrapeConfig(config: string) {
return this.http.post<any>(`/api/v1/admin/test-scraper`, { config });
}
public fetchSymbolForDate({

Loading…
Cancel
Save