Add support for comment in csv import (#2416)

* Add support for comment in csv import (activities)

* Update changelog
pull/2439/head
Arshad Jamal 1 year ago committed by GitHub
parent 727340748b
commit 25112a450b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added ### Added
- Added support for notes in the activities import
- Added the application version to the endpoint `GET api/v1/admin` - Added the application version to the endpoint `GET api/v1/admin`
### Fixed ### Fixed

@ -15,6 +15,7 @@ import { catchError } from 'rxjs/operators';
}) })
export class ImportActivitiesService { export class ImportActivitiesService {
private static ACCOUNT_KEYS = ['account', 'accountid']; private static ACCOUNT_KEYS = ['account', 'accountid'];
private static COMMENT_KEYS = ['comment', 'note'];
private static CURRENCY_KEYS = ['ccy', 'currency', 'currencyprimary']; private static CURRENCY_KEYS = ['ccy', 'currency', 'currencyprimary'];
private static DATA_SOURCE_KEYS = ['datasource']; private static DATA_SOURCE_KEYS = ['datasource'];
private static DATE_KEYS = ['date', 'tradedate']; private static DATE_KEYS = ['date', 'tradedate'];
@ -52,6 +53,7 @@ export class ImportActivitiesService {
for (const [index, item] of content.entries()) { for (const [index, item] of content.entries()) {
activities.push({ activities.push({
accountId: this.parseAccount({ item, userAccounts }), accountId: this.parseAccount({ item, userAccounts }),
comment: this.parseComment({ item }),
currency: this.parseCurrency({ content, index, item }), currency: this.parseCurrency({ content, index, item }),
dataSource: this.parseDataSource({ item }), dataSource: this.parseDataSource({ item }),
date: this.parseDate({ content, index, item }), date: this.parseDate({ content, index, item }),
@ -122,6 +124,7 @@ export class ImportActivitiesService {
private convertToCreateOrderDto({ private convertToCreateOrderDto({
accountId, accountId,
comment,
date, date,
fee, fee,
quantity, quantity,
@ -132,6 +135,7 @@ export class ImportActivitiesService {
}: Activity): CreateOrderDto { }: Activity): CreateOrderDto {
return { return {
accountId, accountId,
comment,
fee, fee,
quantity, quantity,
type, type,
@ -174,6 +178,18 @@ export class ImportActivitiesService {
return undefined; return undefined;
} }
private parseComment({ item }: { item: any }) {
item = this.lowercaseKeys(item);
for (const key of ImportActivitiesService.COMMENT_KEYS) {
if (item[key]) {
return item[key];
}
}
return undefined;
}
private parseCurrency({ private parseCurrency({
content, content,
index, index,

@ -1,5 +1,5 @@
Date,Code,Currency,Price,Quantity,Action,Fee Date,Code,Currency,Price,Quantity,Action,Fee,Note
16-09-2021,MSFT,USD,298.580,5,buy,19.00 16-09-2021,MSFT,USD,298.580,5,buy,19.00,My first order 🤓
17/11/2021,MSFT,USD,0.62,5,dividend,0.00 17/11/2021,MSFT,USD,0.62,5,dividend,0.00
01.01.2022,Penthouse Apartment,USD,500000.0,1,item,0.00 01.01.2022,Penthouse Apartment,USD,500000.0,1,item,0.00
20500606,MSFT,USD,0.00,0,buy,0.00 20500606,MSFT,USD,0.00,0,buy,0.00

1 Date Date,Code,Currency,Price,Quantity,Action,Fee,Note Code Currency Price Quantity Action Fee
2 16-09-2021 16-09-2021,MSFT,USD,298.580,5,buy,19.00,My first order 🤓 MSFT USD 298.580 5 buy 19.00
3 17/11/2021 17/11/2021,MSFT,USD,0.62,5,dividend,0.00 MSFT USD 0.62 5 dividend 0.00
4 01.01.2022 01.01.2022,Penthouse Apartment,USD,500000.0,1,item,0.00 Penthouse Apartment USD 500000.0 1 item 0.00
5 20500606 20500606,MSFT,USD,0.00,0,buy,0.00 MSFT USD 0.00 0 buy 0.00
Loading…
Cancel
Save