@ -28,6 +28,22 @@ export class ExportService {
} ) : Promise < Export > {
} ) : Promise < Export > {
const platformsMap : { [ platformId : string ] : Platform } = { } ;
const platformsMap : { [ platformId : string ] : Platform } = { } ;
let { activities } = await this . orderService . getOrders ( {
filters ,
userCurrency ,
userId ,
includeDrafts : true ,
sortColumn : 'date' ,
sortDirection : 'asc' ,
withExcludedAccounts : true
} ) ;
if ( activityIds ? . length > 0 ) {
activities = activities . filter ( ( { id } ) = > {
return activityIds . includes ( id ) ;
} ) ;
}
const accounts = (
const accounts = (
await this . accountService . accounts ( {
await this . accountService . accounts ( {
include : {
include : {
@ -39,57 +55,55 @@ export class ExportService {
} ,
} ,
where : { userId }
where : { userId }
} )
} )
) . map (
)
( {
. filter ( ( { id } ) = > {
balance ,
return activities . length > 0
balances ,
? activities . some ( ( { accountId } ) = > {
comment ,
return accountId === id ;
currency ,
} )
id ,
: true ;
isExcluded ,
} )
name ,
. map (
Platform : platform ,
( {
platformId
} ) = > {
if ( platformId ) {
platformsMap [ platformId ] = platform ;
}
return {
balance ,
balance ,
balances : balances.map ( ( { date , value } ) = > {
balances ,
return { date : date.toISOString ( ) , value } ;
} ) ,
comment ,
comment ,
currency ,
currency ,
id ,
id ,
isExcluded ,
isExcluded ,
name ,
name ,
Platform : platform ,
platformId
platformId
} ;
} ) = > {
}
if ( platformId ) {
) ;
platformsMap [ platformId ] = platform ;
}
let { activities } = await this . orderService . getOrders ( {
filters ,
userCurrency ,
userId ,
includeDrafts : true ,
sortColumn : 'date' ,
sortDirection : 'asc' ,
withExcludedAccounts : true
} ) ;
if ( activityIds ) {
return {
activities = activities . filter ( ( activity ) = > {
balance ,
return activityIds . includes ( activity . id ) ;
balances : balances.map ( ( { date , value } ) = > {
} ) ;
return { date : date.toISOString ( ) , value } ;
}
} ) ,
comment ,
currency ,
id ,
isExcluded ,
name ,
platformId
} ;
}
) ;
const tags = ( await this . tagService . getTagsForUser ( userId ) )
const tags = ( await this . tagService . getTagsForUser ( userId ) )
. filter ( ( { isUsed } ) = > {
. filter (
return isUsed ;
( { id , isUsed } ) = >
} )
isUsed &&
activities . some ( ( activity ) = > {
return activity . tags . some ( ( { id : tagId } ) = > {
return tagId === id ;
} ) ;
} )
)
. map ( ( { id , name } ) = > {
. map ( ( { id , name } ) = > {
return {
return {
id ,
id ,