Browse Source

Merge 623180b439 into aab4b655e8

pull/5471/merge
Thomas Kaul 2 months ago
committed by GitHub
parent
commit
37ab51f16f
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 1
      CHANGELOG.md
  2. 9
      apps/api/src/app/portfolio/current-rate.service.spec.ts
  3. 8
      prisma/migrations/20250906115030_added_symbol_profile_relation_to_market_data/migration.sql
  4. 18
      prisma/schema.prisma

1
CHANGELOG.md

@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
- Enabled automatic data gathering for custom currencies added via the currency management in the admin control panel
- Added the `SymbolProfile` relation to the `MarketData` database schema
### Changed

9
apps/api/src/app/portfolio/current-rate.service.spec.ts

@ -21,7 +21,8 @@ jest.mock('@ghostfolio/api/services/market-data/market-data.service', () => {
dataSource: DataSource.YAHOO,
id: 'aefcbe3a-ee10-4c4f-9f2d-8ffad7b05584',
marketPrice: 1847.839966,
state: 'CLOSE'
state: 'CLOSE',
symbolProfileId: '6a504639-5b07-4a85-88ac-2805d6608288'
});
},
getRange: ({
@ -41,7 +42,8 @@ jest.mock('@ghostfolio/api/services/market-data/market-data.service', () => {
id: '8fa48fde-f397-4b0d-adbc-fb940e830e6d',
marketPrice: 1841.823902,
state: 'CLOSE',
symbol: assetProfileIdentifiers[0].symbol
symbol: assetProfileIdentifiers[0].symbol,
symbolProfileId: '4a0888cf-43b1-4cf9-abc2-2397b0ff1188'
},
{
createdAt: dateQuery.lt,
@ -50,7 +52,8 @@ jest.mock('@ghostfolio/api/services/market-data/market-data.service', () => {
id: '082d6893-df27-4c91-8a5d-092e84315b56',
marketPrice: 1847.839966,
state: 'CLOSE',
symbol: assetProfileIdentifiers[0].symbol
symbol: assetProfileIdentifiers[0].symbol,
symbolProfileId: '4a0888cf-43b1-4cf9-abc2-2397b0ff1188'
}
]);
},

8
prisma/migrations/20250906115030_added_symbol_profile_relation_to_market_data/migration.sql

@ -0,0 +1,8 @@
-- AlterTable
ALTER TABLE "public"."MarketData" ADD COLUMN "symbolProfileId" TEXT;
-- CreateIndex
CREATE INDEX "MarketData_symbolProfileId_idx" ON "public"."MarketData"("symbolProfileId");
-- AddForeignKey
ALTER TABLE "public"."MarketData" ADD CONSTRAINT "MarketData_symbolProfileId_fkey" FOREIGN KEY ("symbolProfileId") REFERENCES "public"."SymbolProfile"("id") ON DELETE CASCADE ON UPDATE CASCADE;

18
prisma/schema.prisma

@ -102,13 +102,15 @@ model AuthDevice {
}
model MarketData {
createdAt DateTime @default(now())
dataSource DataSource
date DateTime
id String @id @default(uuid())
marketPrice Float
state MarketDataState @default(CLOSE)
symbol String
createdAt DateTime @default(now())
dataSource DataSource
date DateTime
id String @id @default(uuid())
marketPrice Float
state MarketDataState @default(CLOSE)
symbol String
SymbolProfile SymbolProfile? @relation(fields: [symbolProfileId], onDelete: Cascade, references: [id])
symbolProfileId String?
@@unique([dataSource, date, symbol])
@@index([dataSource])
@ -117,6 +119,7 @@ model MarketData {
@@index([marketPrice])
@@index([state])
@@index([symbol])
@@index([symbolProfileId])
}
model Order {
@ -184,6 +187,7 @@ model SymbolProfile {
id String @id @default(uuid())
isActive Boolean @default(true)
isin String?
marketData MarketData[]
name String?
updatedAt DateTime @updatedAt
scraperConfiguration Json?

Loading…
Cancel
Save