From e255b76053f0629151eb508b04b3cc2d147b22ff Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Mon, 13 Dec 2021 19:45:23 +0100 Subject: [PATCH] Feature/check currency in import validation (#538) * Check currency in import validation (avoid importing transactions in wrong currency) * Update changelog --- CHANGELOG.md | 4 ++++ apps/api/src/app/import/import.service.ts | 6 ++++++ test/import/invalid-currency.csv | 2 ++ 3 files changed, 12 insertions(+) create mode 100644 test/import/invalid-currency.csv diff --git a/CHANGELOG.md b/CHANGELOG.md index 09c8e6e48..da8dc913b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleasd +### Added + +- Extended the validation in the import functionality for transactions by checking the currency of the data provider service + ### Changed - Removed the default transactions import limit diff --git a/apps/api/src/app/import/import.service.ts b/apps/api/src/app/import/import.service.ts index cf9f6f705..b17404ae9 100644 --- a/apps/api/src/app/import/import.service.ts +++ b/apps/api/src/app/import/import.service.ts @@ -104,6 +104,12 @@ export class ImportService { `orders.${index}.symbol ("${symbol}") is not valid for the specified data source ("${dataSource}")` ); } + + if (result[symbol].currency !== currency) { + throw new Error( + `orders.${index}.currency ("${currency}") does not match with "${result[symbol].currency}"` + ); + } } } } diff --git a/test/import/invalid-currency.csv b/test/import/invalid-currency.csv new file mode 100644 index 000000000..e04db317b --- /dev/null +++ b/test/import/invalid-currency.csv @@ -0,0 +1,2 @@ +Date,Code,Currency,Price,Quantity,Action,Fee +12/12/2021,BTC,EUR,44558.42,1,buy,0