Vansh
7dc74fe681
Task/refactor column definitions in AI service ( #5834 )
* Refactor column definitions in AI service
* Update changelog
5 days ago
Sven Günther
094b508358
Fix P2002 unique constraint error in replaceAllForSymbol
Replace Promise.all with createMany to handle duplicate dates in the
data array when atomically replacing market data.
The previous implementation used multiple parallel create() operations
which caused a P2002 unique constraint violation when the data array
contained duplicate dates (e.g., when market prices are forward-filled
for non-trading days).
Changes:
- Replace Promise.all of individual create() operations with createMany()
- Add skipDuplicates: true to silently handle duplicate records
- Add data.length check to avoid empty createMany call
This maintains the atomic transaction behavior while efficiently handling
batch inserts with potential duplicates.
6 days ago
Sven Günther
9e4df2573b
remove unnessesary comments
6 days ago
Sven Günther
3539e875ba
Fix data loss risk in manual historical market data gathering ( #5686 )
Replace delete-then-fetch pattern with atomic transaction to prevent data loss when manually gathering historical market data fails.
Previously, when triggering "Gather Historical Market Data" from the Admin panel, the system would immediately delete all existing market
data before queueing the fetch job. If the external data provider was down or returned an error, the asset would be left with no historical
data and the original data was permanently lost.
Changes:
- Add `replaceAllForSymbol()` method to MarketDataService that performs delete and insert within a Prisma transaction
- Remove upfront `deleteMany()` call from `gatherSymbol()` method
- Add `replaceExistingData` flag to DataGatheringItem interface to distinguish manual refresh from scheduled updates
- Update data gathering processor to use atomic replace only for manual operations while keeping normal upsert behavior for scheduled
updates
- Remove unused MarketDataService dependency from DataGatheringService
The atomic transaction ensures that if the fetch operation fails, the original market data remains untouched. Regular scheduled data gathering continues to use upsert operations and is unaffected by this change.
6 days ago
vitalymatyushik
31e2346101
Bugfix/market price in base currency during the portfolio snapshot calculation ( #5828 )
* Add fallback for market price in base currency
* Update changelog
1 week ago
Thomas Kaul
e03f58feff
Task/refactor Activities interface to ActivitiesResponse interface ( #5835 )
* Refactor Activities interface to ActivitiesResponse interface
1 week ago
Sven Günther
0ec9c1dd93
Bugfix/custom asset name rendering in import activities dialog ( #5787 )
* Fix custom asset name rendering in import activities dialog
* Update changelog
1 week ago
David Requeno
1f6b061ab0
Task/migrate tablemark to v4 ( #5809 )
* Migrate tablemark to v4
* Update changelog
1 week ago
Vansh
0b28da879b
Task/extend export response by performanceCalculationType ( #5816 )
* Extend export response by performanceCalculationType
* Update changelog
1 week ago
Harsh Santwani
852ed98d0f
Task/move prisma.config.ts to .config/prisma.ts ( #5821 )
* Move prisma.config.ts to .config/prisma.ts
* Update changelog
1 week ago
danielochinasa
37ab31ea72
Task/format value in Buying Power rule ( #5824 )
* Format value in Buying Power rule
* Update changelog
1 week ago
Szymon Łągiewka
2b727f867f
Bugfix/include missing dotenv packages ( #5817 )
* Include missing dotenv packages
2 weeks ago
Thomas Kaul
f19d9c78aa
Task/clean up unused eslint-disable-next-line directives ( #5782 )
* Clean up unused eslint-disable-next-line directives
2 weeks ago
Thomas Kaul
edcc140428
Task/introduce interface for create Stripe checkout session response ( #5791 )
* Introduce interface
2 weeks ago
Szymon Łągiewka
ceace870a8
Task/upgrade ioredis to forfeit overriding defaults ( #5813 )
* Upgrade ioredis to forfeit overriding defaults
* Update changelog
2 weeks ago
Harsh Santwani
9b51c2da5d
Task/improve typings of getOrderById() functionality ( #5810 )
* Improve typings of getOrderById() functionality
2 weeks ago
Ani07-05
7ee38d0067
Task/refactor Export interface to ExportResponse interface ( #5805 )
* Refactor Export interface to ExportResponse interface
2 weeks ago
Dibyendu Sahoo
b915c9554e
Task/extend rule settings interface by locale ( #5802 )
* Extend rule settings interface by locale
2 weeks ago
Vansh
3b4705405b
Task/improve typings of getAsset() functionality ( #5804 )
* Improve typings of getAsset() functionality
2 weeks ago
Thomas Kaul
be0ddd6298
Task/harmonize interfaces naming ( #5796 )
* Harmonize interfaces naming
2 weeks ago
vitalymatyushik
24234591c9
Task/improve typings of getInfo() functionality ( #5803 )
* Improve typings
2 weeks ago
David Requeno
5bfcceb959
Task/auto-pad holdings table in AI prompt using tablemark ( #5772 )
* Auto-pad holdings table in AI prompt using tablemark
* Update changelog
2 weeks ago
s-vamshi
a65523fd04
Feature/allow data gathering by date range ( #5762 )
* Allow data gathering by date range
* Update changelog
2 weeks ago
Google
71b375ea92
Task/refactor BenchmarkMarketDataDetails to BenchmarkMarketDataDetailsResponse ( #5771 )
* Refactor BenchmarkMarketDataDetails to BenchmarkMarketDataDetailsResponse
2 weeks ago
Aman
f940eb6725
Task/refactor PortfolioInvestments interface to PortfolioInvestmentsResponse interface ( #5774 )
* Refactor PortfolioInvestments to PortfolioInvestmentsResponse
2 weeks ago
Sven Günther
1daa980824
Bugfix/import of activity with MANUAL data source (CSV file) ( #5749 )
* Fix import of activity with MANUAL data source
* Update changelog
---------
Co-authored-by: Thomas Kaul <4159106+dtslvr@users.noreply.github.com>
2 weeks ago
Thomas Kaul
04d6d9cfa9
Bugfix/total buy and sell calculation in summary ( #5759 )
* Fix total buy and sell calculation related to activities in custom currency
* Update changelog
2 weeks ago
Umesh Pal
5bcc2e9648
Task/refactor PortfolioDividends interface to PortfolioDividendsResponse interface ( #5773 )
* Refactor PortfolioDividends to PortfolioDividendsResponse
2 weeks ago
Thomas Kaul
103c15ca31
Feature/improve portfolio calculator unit tests by loading currency from user settings ( #5765 )
* Use currency from user settings
* Update changelog
2 weeks ago
Dibyendu Sahoo
db2c2426c6
Task/refactor interest to interestInBaseCurrency in portfolio summary interface ( #5763 )
* Refactor interest to interestInBaseCurrency
2 weeks ago
Thomas Kaul
3034745e7d
Feature/improve currency validation in getAssetProfiles() functionality of data provider service ( #5747 )
* Improve currency validation
* Update changelog
3 weeks ago
Thomas Kaul
058d7caacd
Bugfix/respect includeIndices flag in search functionality of FMP service ( #5746 )
* Respect includeIndices in search()
* Update changelog
3 weeks ago
Thomas Kaul
948df81a0d
Feature/use asset profile resolutions in getQuotes() of FMP service (part 2) ( #5750 )
* Use asset profile resolutions in getQuotes()
3 weeks ago
Thomas Kaul
2ff02a0a9c
Feature/improve currency validation in search functionality of data provider service ( #5745 )
* Improve currency validation
* Update changelog
3 weeks ago
Thomas Kaul
8d6153fa52
Feature/use asset profile resolutions in getQuotes() of FMP service ( #5743 )
* Use asset profile resolutions in getQuotes()
* Update changelog
3 weeks ago
Lagmator22
20da95239e
Task/refactor liabilities to liabilitiesInBaseCurrency in portfolio summary interface ( #5725 )
* Refactor liabilities to liabilitiesInBaseCurrency
3 weeks ago
Szymon Łągiewka
fc4d5774fa
Bugfix/enable IPv6 connectivity for Redis in job queue module ( #5726 )
* Enable IPv6 connectivity for Redis in job queue module
* Update changelog
3 weeks ago
Thomas Kaul
a9f38aaf90
Task/remove deprecated position endpoints from portfolio controller ( #5733 )
* Remove deprecated endpoints
* GET api/v1/portfolio/position/:dataSource/:symbol
* PUT api/v1/portfolio/position/:dataSource/:symbol/tags
* Update changelog
3 weeks ago
Tanbir Ali
d2fe16c794
Task/refactor transactionCount to activitiesCount in portfolio holding response ( #5709 )
* Refactor transactionCount to activitiesCount in portfolio holding response
* Update changelog
3 weeks ago
Sven Günther
c5c1192900
Bugfix/import of custom asset profiles ( #5670 )
* Import of custom asset profiles
* Update changelog
3 weeks ago
Thomas Kaul
948233c651
Task/remove @IsOptional() from dataSource in CreateOrderDto ( #5703 )
* Remove is @IsOptional() from dataSource
3 weeks ago
Thomas Kaul
7642d82318
Bugfix/add missing type of access id in get public portfolio endpoint ( #5690 )
* Add missing type
3 weeks ago
Szymon Łągiewka
7761c764b5
Bugfix/fix server startup message to properly display IPv6 addresses ( #5716 )
* Fix server startup message to properly display IPv6 addresses
* Update changelog
3 weeks ago
Germán Martín
20a756a376
Feature/add support to update granted access ( #5566 )
* Add support to update granted access
* Update changelog
4 weeks ago
Thomas Kaul
180e0f3c81
Feature/add date range query parameter to data gathering endpoint ( #5684 )
* Add date range
* Update changelog
4 weeks ago
Flavien Lankai-Mills
c173998677
Task/refactor fire wealth from number to object in portfolio summary interface ( #5644 )
* Refactor fire wealth from number to object in portfolio summary interface
* Update changelog
1 month ago
Thomas Kaul
b61f470854
Bugfix/fix exception in get asset profile functionality of FMP service ( #5663 )
* Add missing guard
* Update changelog
1 month ago
Thomas Kaul
e9c42598db
Feature/improve support for mutual funds in FMP service ( #5651 )
* Improve support for mutual funds in getAssetProfile()
* Update changelog
1 month ago
Thomas Kaul
6ff1d65a70
Feature/add safe withdrawal rate to user settings ( #5629 )
* Add safe withdrawal rate to user settings
* Update changelog
1 month ago
Thomas Kaul
a86afee6e6
Task/reuse blog path of public routes in sitemap service ( #5608 )
* Reuse blog path of public routes
1 month ago