@ -1,8 +1,8 @@
import { HttpClient } from '@angular/common/http' ;
import { HttpClient } from '@angular/common/http' ;
import { Injectable } from '@angular/core' ;
import { Injectable } from '@angular/core' ;
import { CreateOrderDto } from '@ghostfolio/api/app/order/create-order.dto' ;
import { CreateOrderDto } from '@ghostfolio/api/app/order/create-order.dto' ;
import { parse } from 'date-fns' ;
import { DataSource , Type } from '@prisma/client' ;
import { DataSource , Type } from '@prisma/client' ;
import { parse } from 'date-fns' ;
import { parse as csvToJson } from 'papaparse' ;
import { parse as csvToJson } from 'papaparse' ;
import { isNumber } from 'lodash' ;
import { isNumber } from 'lodash' ;
import { EMPTY } from 'rxjs' ;
import { EMPTY } from 'rxjs' ;
@ -33,14 +33,16 @@ export class ImportTransactionsService {
primaryDataSource : DataSource ;
primaryDataSource : DataSource ;
user : User ;
user : User ;
} ) {
} ) {
const content = csvToJson ( fileContent , {
let content : any [ ] = [ ] ;
csvToJson ( fileContent , {
dynamicTyping : true ,
dynamicTyping : true ,
header : true ,
header : true ,
skipEmptyLines : true ,
skipEmptyLines : true ,
complete : ( parsedData ) = > {
complete : ( parsedData ) = > {
parsedData . data . filter ( ( item ) = > item [ 'date' ] != null ) ;
content = parsedData . data . filter ( ( item ) = > item [ 'date' ] != null ) ;
}
}
} ) . data ;
} ) ;
const orders : CreateOrderDto [ ] = [ ] ;
const orders : CreateOrderDto [ ] = [ ] ;
for ( const [ index , item ] of content . entries ( ) ) {
for ( const [ index , item ] of content . entries ( ) ) {
@ -57,7 +59,6 @@ export class ImportTransactionsService {
} ) ;
} ) ;
}
}
await this . importJson ( { content : orders } ) ;
await this . importJson ( { content : orders } ) ;
}
}