Your ROOT_URL in app.ini is https://git.cloudchain.link/ but you are visiting https://dash.bss.nz/open-source-mirrors/ghostfolio/commit/32fb3551dccf6fd736d6fe620c31c60fa2f4184f
You should set ROOT_URL correctly, otherwise the web may not work correctly.
4 changed files with
24 additions and
3 deletions
@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
- Added the attribute `defaultMarketPrice` to the scraper configuration to improve the support for bonds
- Added a hover effect to the table style
### Fixed
@ -13,7 +13,7 @@ import { Injectable, Logger } from '@nestjs/common';
import { DataSource , SymbolProfile } from '@prisma/client' ;
import * as bent from 'bent' ;
import * as cheerio from 'cheerio' ;
import { format } from 'date-fns' ;
import { addDays, format, isBefore } from 'date-fns' ;
@Injectable ( )
export class GhostfolioScraperApiService implements DataProviderInterface {
@ -50,9 +50,27 @@ export class GhostfolioScraperApiService implements DataProviderInterface {
const [ symbolProfile ] = await this . symbolProfileService . getSymbolProfiles (
[ symbol ]
) ;
const { selector , url } = symbolProfile . scraperConfiguration ;
const { defaultMarketPrice , selector , url } =
symbolProfile . scraperConfiguration ;
if ( defaultMarketPrice ) {
const historical : {
[ symbol : string ] : { [ date : string ] : IDataProviderHistoricalResponse } ;
} = {
[ symbol ] : { }
} ;
let date = from ;
while ( isBefore ( date , to ) ) {
historical [ symbol ] [ format ( date , DATE_FORMAT ) ] = {
marketPrice : defaultMarketPrice
} ;
date = addDays ( date , 1 ) ;
}
if ( selector === undefined || url === undefined ) {
return historical ;
} else if ( selector === undefined || url === undefined ) {
return { } ;
}
@ -1,4 +1,5 @@
export interface ScraperConfiguration {
defaultMarketPrice? : number ;
selector : string ;
url : string ;
}
@ -79,6 +79,7 @@ export class SymbolProfileService {
if ( scraperConfiguration ) {
return {
defaultMarketPrice : scraperConfiguration.defaultMarketPrice as number ,
selector : scraperConfiguration.selector as string ,
url : scraperConfiguration.url as string
} ;