33 TransactionsGetResponse ,
44 IdentityGetResponse ,
55 InvestmentsHoldingsGetResponse ,
6+ InvestmentsTransactionsGetResponse ,
67 AccountsGetResponse ,
78 ItemGetResponse ,
89 InstitutionsGetByIdResponse ,
@@ -11,6 +12,9 @@ import {
1112 AssetReportGetResponse ,
1213 AssetReport ,
1314 TransferGetResponse ,
15+ IncomeVerificationPaystubsGetResponse ,
16+ Paystub ,
17+ Earnings ,
1418} from "plaid/dist/api" ;
1519
1620const formatCurrency = (
@@ -63,6 +67,12 @@ interface InvestmentsDataItem {
6367 name : string ;
6468}
6569
70+ interface InvestmentsTransactionItem {
71+ amount : number ;
72+ date : string ;
73+ name : string ;
74+ }
75+
6676interface LiabilitiessDataItem {
6777 amount : string ;
6878 date : string ;
@@ -98,6 +108,12 @@ interface TransferDataItem {
98108 network : string ;
99109}
100110
111+ interface IncomePaystubsDataItem {
112+ description : string ;
113+ currentAmount : number | null ;
114+ currency : number | null ;
115+ }
116+
101117export interface ErrorDataItem {
102118 error_type : string ;
103119 error_code : string ;
@@ -113,11 +129,13 @@ export type DataItem =
113129 | IdentityDataItem
114130 | BalanceDataItem
115131 | InvestmentsDataItem
132+ | InvestmentsTransactionItem
116133 | LiabilitiessDataItem
117134 | ItemDataItem
118135 | PaymentDataItem
119136 | AssetsDataItem
120- | TransferDataItem ;
137+ | TransferDataItem
138+ | IncomePaystubsDataItem ;
121139
122140export type Data = Array < DataItem > ;
123141
@@ -216,6 +234,21 @@ export const investmentsCategories: Array<Categories> = [
216234 } ,
217235] ;
218236
237+ export const investmentsTransactionsCategories : Array < Categories > = [
238+ {
239+ title : "Name" ,
240+ field : "name" ,
241+ } ,
242+ {
243+ title : "Amount" ,
244+ field : "amount" ,
245+ } ,
246+ {
247+ title : "Date" ,
248+ field : "date" ,
249+ } ,
250+ ] ;
251+
219252export const liabilitiesCategories : Array < Categories > = [
220253 {
221254 title : "Name" ,
@@ -338,6 +371,21 @@ export const transferCategories: Array<Categories> = [
338371 } ,
339372] ;
340373
374+ export const incomePaystubsCategories : Array < Categories > = [
375+ {
376+ title : "Description" ,
377+ field : "description" ,
378+ } ,
379+ {
380+ title : "Current Amount" ,
381+ field : "currentAmount" ,
382+ } ,
383+ {
384+ title : "Currency" ,
385+ field : "currency" ,
386+ }
387+ ]
388+
341389export const transformAuthData = ( data : AuthGetResponse ) => {
342390 return data . numbers . ach ! . map ( ( achNumbers ) => {
343391 const account = data . accounts ! . filter ( ( a ) => {
@@ -458,10 +506,41 @@ export const transformInvestmentsData = (data: InvestmentData) => {
458506 } ) ;
459507} ;
460508
461- export const transformLiabilitiesData = ( data : LiabilitiesGetResponse ) => {
462- const liabilitiesData = data . liabilities ;
509+ interface InvestmentsTransactionData {
510+ error : null ;
511+ investments_transactions : InvestmentsTransactionsGetResponse ;
512+ }
513+
514+ export const transformInvestmentTransactionsData = ( data : InvestmentsTransactionData ) => {
515+ const investmentTransactionsData = data . investments_transactions . investment_transactions ! . sort ( function ( a , b ) {
516+ if ( a . account_id > b . account_id ) return 1 ;
517+ return - 1 ;
518+ } ) ;
519+ return investmentTransactionsData . map ( ( investmentTransaction ) => {
520+ const security = data . investments_transactions . securities ! . filter (
521+ ( sec ) => sec . security_id === investmentTransaction . security_id
522+ ) [ 0 ] ;
523+
524+ const obj : DataItem = {
525+ name : security . name ! ,
526+ amount : investmentTransaction . amount ,
527+ date : investmentTransaction . date ,
528+ } ;
529+ return obj ;
530+ } ) ;
531+ } ;
532+
533+ interface LiabilitiesDataResponse {
534+ error : null ;
535+ liabilities : LiabilitiesGetResponse ;
536+ }
537+
538+ export const transformLiabilitiesData = ( data : LiabilitiesDataResponse ) => {
539+ const liabilitiesData = data . liabilities . liabilities ;
540+ //console.log(liabilitiesData)
541+ //console.log("random")
463542 const credit = liabilitiesData . credit ! . map ( ( credit ) => {
464- const account = data . accounts . filter (
543+ const account = data . liabilities . accounts . filter (
465544 ( acc ) => acc . account_id === credit . account_id
466545 ) [ 0 ] ;
467546 const obj : DataItem = {
@@ -477,7 +556,7 @@ export const transformLiabilitiesData = (data: LiabilitiesGetResponse) => {
477556 } ) ;
478557
479558 const mortgages = liabilitiesData . mortgage ?. map ( ( mortgage ) => {
480- const account = data . accounts . filter (
559+ const account = data . liabilities . accounts . filter (
481560 ( acc ) => acc . account_id === mortgage . account_id
482561 ) [ 0 ] ;
483562 const obj : DataItem = {
@@ -493,7 +572,7 @@ export const transformLiabilitiesData = (data: LiabilitiesGetResponse) => {
493572 } ) ;
494573
495574 const student = liabilitiesData . student ?. map ( ( student ) => {
496- const account = data . accounts . filter (
575+ const account = data . liabilities . accounts . filter (
497576 ( acc ) => acc . account_id === student . account_id
498577 ) [ 0 ] ;
499578 const obj : DataItem = {
@@ -598,3 +677,24 @@ export const transformAssetsData = (data: AssetResponseData) => {
598677 } ) ;
599678 } ) ;
600679} ;
680+
681+ interface IncomePaystub {
682+ paystubs : IncomeVerificationPaystubsGetResponse ,
683+ }
684+
685+ export const transformIncomePaystubsData = ( data : IncomePaystub ) => {
686+ const paystubsItemsArray : Array < Paystub > = data . paystubs . paystubs
687+ var finalArray : Array < IncomePaystubsDataItem > = [ ]
688+ for ( var i = 0 ; i < paystubsItemsArray . length ; i ++ ) {
689+ var ActualEarningVariable : any = paystubsItemsArray [ i ] . earnings
690+ for ( var j = 0 ; j < ActualEarningVariable . breakdown . length ; j ++ ) {
691+ var payStubItem : IncomePaystubsDataItem = {
692+ description : paystubsItemsArray [ i ] . employer . name + '_' + ActualEarningVariable . breakdown [ j ] . description ,
693+ currentAmount : ActualEarningVariable . breakdown [ j ] . current_amount ,
694+ currency : ActualEarningVariable . breakdown [ j ] . iso_currency_code
695+ }
696+ finalArray . push ( payStubItem )
697+ }
698+ }
699+ return finalArray
700+ }
0 commit comments