Merge branch 'main' of github.com:ghostfolio/ghostfolio
All checks were successful
Docker image CD / build_and_push (push) Successful in 29m50s

This commit is contained in:
sudacode 2025-04-12 00:47:00 -07:00
commit 95325aad14
18 changed files with 74 additions and 8 deletions

View File

@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## Unreleased
## 2.151.0 - 2025-04-11
### Added
@ -13,10 +13,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed
- Set the maximum number of symbols per request in the _Financial Modeling Prep_ service
- Migrated the get quotes functionality of the _Financial Modeling Prep_ service to its stable API version
- Improved the language localization for Enlish (`en`)
- Upgraded `eslint` dependencies
- Upgraded `Nx` from version `20.6.4` to `20.7.1`
### Fixed
- Fixed the link to the pricing page in the premium indicator component
## 2.150.0 - 2025-04-05
### Added

View File

@ -325,6 +325,10 @@ export class FinancialModelingPrepService implements DataProviderInterface {
}
}
public getMaxNumberOfSymbolsPerRequest() {
return 20;
}
public getName(): DataSource {
return DataSource.FINANCIAL_MODELING_PREP;
}
@ -341,7 +345,7 @@ export class FinancialModelingPrepService implements DataProviderInterface {
try {
const quotes = await fetch(
`${this.URL}/quote/${symbols.join(',')}?apikey=${this.apiKey}`,
`${this.getUrl({ version: 'stable' })}/batch-quote-short?symbols=${symbols.join(',')}&apikey=${this.apiKey}`,
{
signal: AbortSignal.timeout(requestTimeout)
}
@ -451,8 +455,14 @@ export class FinancialModelingPrepService implements DataProviderInterface {
return name;
}
private getUrl({ version }: { version: number }) {
return `https://financialmodelingprep.com/api/v${version}`;
private getUrl({ version }: { version: number | 'stable' }) {
const baseUrl = 'https://financialmodelingprep.com';
if (version === 'stable') {
return `${baseUrl}/stable`;
}
return `${baseUrl}/api/v${version}`;
}
private parseAssetClass(profile: any): {

View File

@ -719,6 +719,10 @@
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.ts</context>
<context context-type="linenumber">30</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/premium-indicator/premium-indicator.component.ts</context>
<context context-type="linenumber">21</context>
</context-group>
</trans-unit>
<trans-unit id="5915338689523424386" datatype="html">
<source>register</source>

View File

@ -5535,6 +5535,10 @@
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.ts</context>
<context context-type="linenumber">30</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/premium-indicator/premium-indicator.component.ts</context>
<context context-type="linenumber">21</context>
</context-group>
</trans-unit>
<trans-unit id="5915338689523424386" datatype="html">
<source>register</source>

View File

@ -5512,6 +5512,10 @@
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.ts</context>
<context context-type="linenumber">30</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/premium-indicator/premium-indicator.component.ts</context>
<context context-type="linenumber">21</context>
</context-group>
</trans-unit>
<trans-unit id="5915338689523424386" datatype="html">
<source>register</source>

View File

@ -5511,6 +5511,10 @@
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.ts</context>
<context context-type="linenumber">30</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/premium-indicator/premium-indicator.component.ts</context>
<context context-type="linenumber">21</context>
</context-group>
</trans-unit>
<trans-unit id="5915338689523424386" datatype="html">
<source>register</source>

View File

@ -5512,6 +5512,10 @@
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.ts</context>
<context context-type="linenumber">30</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/premium-indicator/premium-indicator.component.ts</context>
<context context-type="linenumber">21</context>
</context-group>
</trans-unit>
<trans-unit id="5915338689523424386" datatype="html">
<source>register</source>

View File

@ -5511,6 +5511,10 @@
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.ts</context>
<context context-type="linenumber">30</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/premium-indicator/premium-indicator.component.ts</context>
<context context-type="linenumber">21</context>
</context-group>
</trans-unit>
<trans-unit id="5915338689523424386" datatype="html">
<source>register</source>

View File

@ -338,6 +338,10 @@
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.ts</context>
<context context-type="linenumber">30</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/premium-indicator/premium-indicator.component.ts</context>
<context context-type="linenumber">21</context>
</context-group>
</trans-unit>
<trans-unit id="6948811958230386934" datatype="html">
<source>privacy-policy</source>

View File

@ -5511,6 +5511,10 @@
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.ts</context>
<context context-type="linenumber">30</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/premium-indicator/premium-indicator.component.ts</context>
<context context-type="linenumber">21</context>
</context-group>
</trans-unit>
<trans-unit id="5915338689523424386" datatype="html">
<source>register</source>

View File

@ -338,6 +338,10 @@
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.ts</context>
<context context-type="linenumber">30</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/premium-indicator/premium-indicator.component.ts</context>
<context context-type="linenumber">21</context>
</context-group>
</trans-unit>
<trans-unit id="6948811958230386934" datatype="html">
<source>privacy-policy</source>

View File

@ -719,6 +719,10 @@
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.ts</context>
<context context-type="linenumber">30</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/premium-indicator/premium-indicator.component.ts</context>
<context context-type="linenumber">21</context>
</context-group>
</trans-unit>
<trans-unit id="5915338689523424386" datatype="html">
<source>register</source>

View File

@ -333,6 +333,10 @@
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.ts</context>
<context context-type="linenumber">30</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/premium-indicator/premium-indicator.component.ts</context>
<context context-type="linenumber">21</context>
</context-group>
</trans-unit>
<trans-unit id="6948811958230386934" datatype="html">
<source>privacy-policy</source>

View File

@ -339,6 +339,10 @@
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.ts</context>
<context context-type="linenumber">30</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/premium-indicator/premium-indicator.component.ts</context>
<context context-type="linenumber">21</context>
</context-group>
</trans-unit>
<trans-unit id="6948811958230386934" datatype="html">
<source>privacy-policy</source>

View File

@ -2,6 +2,6 @@
class="align-items-center d-flex"
title="Upgrade to Ghostfolio Premium"
[ngStyle]="{ 'pointer-events': enableLink ? 'initial' : 'none' }"
[routerLink]="['/pricing']"
[routerLink]="routerLinkPricing"
><ion-icon class="text-muted" name="diamond-outline"
/></a>

View File

@ -17,4 +17,6 @@ import { RouterModule } from '@angular/router';
})
export class GfPremiumIndicatorComponent {
@Input() enableLink = true;
public routerLinkPricing = ['/' + $localize`:snake-case:pricing`];
}

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "ghostfolio",
"version": "2.150.0",
"version": "2.151.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "ghostfolio",
"version": "2.150.0",
"version": "2.151.0",
"hasInstallScript": true,
"license": "AGPL-3.0",
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "ghostfolio",
"version": "2.150.0",
"version": "2.151.0",
"homepage": "https://ghostfol.io",
"license": "AGPL-3.0",
"repository": "https://github.com/ghostfolio/ghostfolio",