gemcap-be-common 1.4.237 → 1.4.240

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -24,6 +24,7 @@
24
24
  /// <reference types="mongoose/types/inferschematype" />
25
25
  import mongoose, { Model } from 'mongoose';
26
26
  import { IBorrowerItemDocument, IEmailRecipient } from './ComplianceItem.model';
27
+ import { IBorrowerDoc } from './Borrower.model';
27
28
  export interface IComplianceNote {
28
29
  note: string;
29
30
  date: Date;
@@ -31,7 +32,7 @@ export interface IComplianceNote {
31
32
  }
32
33
  export interface IComplianceBorrower {
33
34
  isVisible: boolean;
34
- borrower: any;
35
+ borrower: mongoose.Types.ObjectId;
35
36
  complianceNotes?: IComplianceNote[];
36
37
  borrowerNotes?: IComplianceNote[];
37
38
  email?: string;
@@ -54,13 +55,19 @@ export interface IComplianceBorrowerLean extends IComplianceBorrower {
54
55
  createdAt: Date;
55
56
  updatedAt: Date;
56
57
  }
57
- export interface IComplianceBorrowerPlain extends IComplianceBorrower {
58
+ export interface IComplianceBorrowerPlain extends Omit<IComplianceBorrower, 'borrower'> {
58
59
  _id: string;
60
+ borrower: string;
61
+ createdAt: Date;
62
+ updatedAt: Date;
63
+ }
64
+ export interface IComplianceBorrowerWithBorrower extends Omit<IComplianceBorrowerLean, 'borrower'> {
65
+ borrower: IBorrowerDoc;
59
66
  createdAt: Date;
60
67
  updatedAt: Date;
61
68
  }
62
69
  export type ComplianceBorrowerModel = Model<IComplianceBorrowerDoc>;
63
- export interface IComplianceBorrowerDocumentFull extends Omit<IComplianceBorrowerDoc, 'items'> {
70
+ export interface IComplianceBorrowerDocumentFull extends Omit<IComplianceBorrowerWithBorrower, 'items'> {
64
71
  items: IBorrowerItemDocument[];
65
72
  }
66
73
  export declare const BorrowerComplianceSchema: mongoose.Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, {
@@ -69,6 +76,27 @@ export declare const BorrowerComplianceSchema: mongoose.Schema<any, mongoose.Mod
69
76
  createdAt: NativeDate;
70
77
  updatedAt: NativeDate;
71
78
  } & {
79
+ borrower: mongoose.Types.ObjectId;
80
+ complianceNotes: mongoose.Types.DocumentArray<{
81
+ date: Date;
82
+ note: string;
83
+ user?: string;
84
+ }>;
85
+ borrowerNotes: mongoose.Types.DocumentArray<{
86
+ date: Date;
87
+ note: string;
88
+ user?: string;
89
+ }>;
90
+ mainEmails: mongoose.Types.DocumentArray<{
91
+ email?: string;
92
+ title?: string;
93
+ isActive?: boolean;
94
+ }>;
95
+ financialEmails: mongoose.Types.DocumentArray<{
96
+ email?: string;
97
+ title?: string;
98
+ isActive?: boolean;
99
+ }>;
72
100
  items: mongoose.Types.DocumentArray<{
73
101
  createdAt: NativeDate;
74
102
  updatedAt: NativeDate;
@@ -97,6 +125,18 @@ export declare const BorrowerComplianceSchema: mongoose.Schema<any, mongoose.Mod
97
125
  startDate?: Date;
98
126
  frequency?: string;
99
127
  }>;
128
+ isVisible?: boolean;
129
+ email?: string;
130
+ isEmailingActive?: boolean;
131
+ isDailyTransactionsEmailingActive?: boolean;
132
+ plaidAccessToken?: string;
133
+ fundingStatus?: string;
134
+ lastEmailSentAt?: Date;
135
+ __v?: number;
136
+ }, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
137
+ createdAt: NativeDate;
138
+ updatedAt: NativeDate;
139
+ } & {
100
140
  borrower: mongoose.Types.ObjectId;
101
141
  complianceNotes: mongoose.Types.DocumentArray<{
102
142
  date: Date;
@@ -118,18 +158,6 @@ export declare const BorrowerComplianceSchema: mongoose.Schema<any, mongoose.Mod
118
158
  title?: string;
119
159
  isActive?: boolean;
120
160
  }>;
121
- isVisible?: boolean;
122
- email?: string;
123
- isEmailingActive?: boolean;
124
- isDailyTransactionsEmailingActive?: boolean;
125
- plaidAccessToken?: string;
126
- fundingStatus?: string;
127
- lastEmailSentAt?: Date;
128
- __v?: number;
129
- }, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
130
- createdAt: NativeDate;
131
- updatedAt: NativeDate;
132
- } & {
133
161
  items: mongoose.Types.DocumentArray<{
134
162
  createdAt: NativeDate;
135
163
  updatedAt: NativeDate;
@@ -158,6 +186,18 @@ export declare const BorrowerComplianceSchema: mongoose.Schema<any, mongoose.Mod
158
186
  startDate?: Date;
159
187
  frequency?: string;
160
188
  }>;
189
+ isVisible?: boolean;
190
+ email?: string;
191
+ isEmailingActive?: boolean;
192
+ isDailyTransactionsEmailingActive?: boolean;
193
+ plaidAccessToken?: string;
194
+ fundingStatus?: string;
195
+ lastEmailSentAt?: Date;
196
+ __v?: number;
197
+ }>> & mongoose.FlatRecord<{
198
+ createdAt: NativeDate;
199
+ updatedAt: NativeDate;
200
+ } & {
161
201
  borrower: mongoose.Types.ObjectId;
162
202
  complianceNotes: mongoose.Types.DocumentArray<{
163
203
  date: Date;
@@ -179,18 +219,6 @@ export declare const BorrowerComplianceSchema: mongoose.Schema<any, mongoose.Mod
179
219
  title?: string;
180
220
  isActive?: boolean;
181
221
  }>;
182
- isVisible?: boolean;
183
- email?: string;
184
- isEmailingActive?: boolean;
185
- isDailyTransactionsEmailingActive?: boolean;
186
- plaidAccessToken?: string;
187
- fundingStatus?: string;
188
- lastEmailSentAt?: Date;
189
- __v?: number;
190
- }>> & mongoose.FlatRecord<{
191
- createdAt: NativeDate;
192
- updatedAt: NativeDate;
193
- } & {
194
222
  items: mongoose.Types.DocumentArray<{
195
223
  createdAt: NativeDate;
196
224
  updatedAt: NativeDate;
@@ -219,27 +247,6 @@ export declare const BorrowerComplianceSchema: mongoose.Schema<any, mongoose.Mod
219
247
  startDate?: Date;
220
248
  frequency?: string;
221
249
  }>;
222
- borrower: mongoose.Types.ObjectId;
223
- complianceNotes: mongoose.Types.DocumentArray<{
224
- date: Date;
225
- note: string;
226
- user?: string;
227
- }>;
228
- borrowerNotes: mongoose.Types.DocumentArray<{
229
- date: Date;
230
- note: string;
231
- user?: string;
232
- }>;
233
- mainEmails: mongoose.Types.DocumentArray<{
234
- email?: string;
235
- title?: string;
236
- isActive?: boolean;
237
- }>;
238
- financialEmails: mongoose.Types.DocumentArray<{
239
- email?: string;
240
- title?: string;
241
- isActive?: boolean;
242
- }>;
243
250
  isVisible?: boolean;
244
251
  email?: string;
245
252
  isEmailingActive?: boolean;
@@ -5,6 +5,7 @@ import {
5
5
  IBorrowerItemDocument,
6
6
  IEmailRecipient,
7
7
  } from './ComplianceItem.model';
8
+ import { IBorrowerDoc } from './Borrower.model';
8
9
 
9
10
  export interface IComplianceNote {
10
11
  note: string;
@@ -14,7 +15,7 @@ export interface IComplianceNote {
14
15
 
15
16
  export interface IComplianceBorrower {
16
17
  isVisible: boolean;
17
- borrower: any;
18
+ borrower: mongoose.Types.ObjectId;
18
19
  complianceNotes?: IComplianceNote[];
19
20
  borrowerNotes?: IComplianceNote[];
20
21
  email?: string;
@@ -40,15 +41,22 @@ export interface IComplianceBorrowerLean extends IComplianceBorrower {
40
41
  updatedAt: Date;
41
42
  }
42
43
 
43
- export interface IComplianceBorrowerPlain extends IComplianceBorrower {
44
+ export interface IComplianceBorrowerPlain extends Omit<IComplianceBorrower, 'borrower'> {
44
45
  _id: string;
46
+ borrower: string;
47
+ createdAt: Date;
48
+ updatedAt: Date;
49
+ }
50
+
51
+ export interface IComplianceBorrowerWithBorrower extends Omit<IComplianceBorrowerLean, 'borrower'> {
52
+ borrower: IBorrowerDoc;
45
53
  createdAt: Date;
46
54
  updatedAt: Date;
47
55
  }
48
56
 
49
57
  export type ComplianceBorrowerModel = Model<IComplianceBorrowerDoc>;
50
58
 
51
- export interface IComplianceBorrowerDocumentFull extends Omit<IComplianceBorrowerDoc, 'items'> {
59
+ export interface IComplianceBorrowerDocumentFull extends Omit<IComplianceBorrowerWithBorrower, 'items'> {
52
60
  items: IBorrowerItemDocument[];
53
61
  }
54
62
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gemcap-be-common",
3
- "version": "1.4.237",
3
+ "version": "1.4.240",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -25,7 +25,7 @@
25
25
  import mongoose from 'mongoose';
26
26
  import { IEmailRecipient } from '../models/ComplianceItem.model';
27
27
  import { IGroupedEmailsUpdate } from '../interfaces/email-addresses.interface';
28
- import { IComplianceBorrowerDoc, IComplianceBorrowerDocumentFull } from '../models/BorrowerCompliance.model';
28
+ import { IComplianceBorrowerWithBorrower, IComplianceBorrowerDocumentFull } from '../models/BorrowerCompliance.model';
29
29
  import { IUserAccess } from '../interfaces/auth-user.interface';
30
30
  import { FileManagerService } from './file-manager.service';
31
31
  import { UploadsService } from './uploads.service';
@@ -45,7 +45,7 @@ export declare class ComplianceBorrowersService {
45
45
  };
46
46
  };
47
47
  getFullComplianceBorrowerById(complianceBorrowerId: string): Promise<any>;
48
- getAllBorrowersShortened(userAccess: IUserAccess): Promise<(Pick<IComplianceBorrowerDoc, "items" | "borrower" | "fundingStatus"> | {
48
+ getAllBorrowersShortened(userAccess: IUserAccess): Promise<(Pick<IComplianceBorrowerWithBorrower, "borrower" | "fundingStatus" | "items"> | {
49
49
  items: {
50
50
  instances: any[];
51
51
  item: import("../models/ComplianceItem.model").IComplianceItemDocument;
@@ -73,39 +73,39 @@ export declare class ComplianceBorrowersService {
73
73
  _id: unknown;
74
74
  }>>;
75
75
  }[];
76
- borrower: any;
76
+ borrower: import("../models/Borrower.model").IBorrowerDoc;
77
77
  fundingStatus?: string;
78
78
  })[]>;
79
79
  generateInstances(complianceBorrowerId: any): Promise<any>;
80
80
  calculateAndUpdateFundingStatus(complianceBorrowerId: string): Promise<void>;
81
81
  calculateFundingStatus(complianceBorrower: IComplianceBorrowerDocumentFull): string;
82
- updateComplianceBorrower(complianceBorrower: IComplianceBorrowerDocumentFull): Promise<mongoose.Document<unknown, {}, IComplianceBorrowerDoc> & IComplianceBorrowerDoc & Required<{
82
+ updateComplianceBorrower(complianceBorrower: IComplianceBorrowerDocumentFull): Promise<mongoose.Document<unknown, {}, import("../models/BorrowerCompliance.model").IComplianceBorrowerDoc> & import("../models/BorrowerCompliance.model").IComplianceBorrowerDoc & Required<{
83
83
  _id: mongoose.Types.ObjectId;
84
84
  }>>;
85
- updateFundingStatus(complianceBorrowerId: string, fundingStatus: string): Promise<mongoose.Document<unknown, {}, IComplianceBorrowerDoc> & IComplianceBorrowerDoc & Required<{
85
+ updateFundingStatus(complianceBorrowerId: string, fundingStatus: string): Promise<mongoose.Document<unknown, {}, import("../models/BorrowerCompliance.model").IComplianceBorrowerDoc> & import("../models/BorrowerCompliance.model").IComplianceBorrowerDoc & Required<{
86
86
  _id: mongoose.Types.ObjectId;
87
87
  }>>;
88
- updateLastEmailSent(complianceBorrowerId: string, lastEmailSentAt: Date): Promise<mongoose.Document<unknown, {}, IComplianceBorrowerDoc> & IComplianceBorrowerDoc & Required<{
88
+ updateLastEmailSent(complianceBorrowerId: string, lastEmailSentAt: Date): Promise<mongoose.Document<unknown, {}, import("../models/BorrowerCompliance.model").IComplianceBorrowerDoc> & import("../models/BorrowerCompliance.model").IComplianceBorrowerDoc & Required<{
89
89
  _id: mongoose.Types.ObjectId;
90
90
  }>>;
91
91
  getAllBorrowersIds(onlyActive?: boolean): Promise<any[]>;
92
- getBorrowerListByItemId(complianceItemId: string): Promise<Omit<mongoose.Document<unknown, {}, IComplianceBorrowerDoc> & IComplianceBorrowerDoc & Required<{
92
+ getBorrowerListByItemId(complianceItemId: string): Promise<Omit<mongoose.Document<unknown, {}, import("../models/BorrowerCompliance.model").IComplianceBorrowerDoc> & import("../models/BorrowerCompliance.model").IComplianceBorrowerDoc & Required<{
93
93
  _id: mongoose.Types.ObjectId;
94
94
  }>, never>[]>;
95
95
  deleteInstanceById(complianceBorrowerId: string, complianceInstanceId: string): Promise<void>;
96
- getBorrowerByInstanceId(complianceInstanceId: string): Promise<mongoose.Document<unknown, {}, IComplianceBorrowerDoc> & IComplianceBorrowerDoc & Required<{
96
+ getBorrowerByInstanceId(complianceInstanceId: string): Promise<mongoose.Document<unknown, {}, import("../models/BorrowerCompliance.model").IComplianceBorrowerDoc> & import("../models/BorrowerCompliance.model").IComplianceBorrowerDoc & Required<{
97
97
  _id: mongoose.Types.ObjectId;
98
98
  }>>;
99
- markInstanceFilesAsOld(complianceInstanceId: string): Promise<mongoose.Document<unknown, {}, IComplianceBorrowerDoc> & IComplianceBorrowerDoc & Required<{
99
+ markInstanceFilesAsOld(complianceInstanceId: string): Promise<mongoose.Document<unknown, {}, import("../models/BorrowerCompliance.model").IComplianceBorrowerDoc> & import("../models/BorrowerCompliance.model").IComplianceBorrowerDoc & Required<{
100
100
  _id: mongoose.Types.ObjectId;
101
101
  }>>;
102
- getBorrowerWithPlaidToken(): Promise<(mongoose.Document<unknown, {}, IComplianceBorrowerDoc> & IComplianceBorrowerDoc & Required<{
102
+ getBorrowerWithPlaidToken(): Promise<(mongoose.Document<unknown, {}, import("../models/BorrowerCompliance.model").IComplianceBorrowerDoc> & import("../models/BorrowerCompliance.model").IComplianceBorrowerDoc & Required<{
103
103
  _id: mongoose.Types.ObjectId;
104
104
  }>)[]>;
105
105
  getBorrowerEmails(userAccess: IUserAccess): Promise<{
106
106
  borrower: {
107
- _id: any;
108
- name: any;
107
+ _id: string;
108
+ name: string;
109
109
  borrowerId: any;
110
110
  };
111
111
  email: string;
@@ -122,9 +122,9 @@ export declare class ComplianceBorrowersService {
122
122
  }[]>;
123
123
  getOneBorrowerEmails(userAccess: any, borrowerId: any): Promise<{
124
124
  borrower: {
125
- _id: any;
126
- name: any;
127
- borrowerId: any;
125
+ _id: string;
126
+ name: string;
127
+ borrowerId: string;
128
128
  };
129
129
  email: string;
130
130
  mainEmails: IEmailRecipient[];
@@ -142,7 +142,7 @@ export declare class ComplianceBorrowersService {
142
142
  mainEmails: IEmailRecipient[];
143
143
  financialEmails: IEmailRecipient[];
144
144
  }>;
145
- updateBorrowerEmailAddresses(emailUpdate: IGroupedEmailsUpdate): Promise<mongoose.Document<unknown, {}, IComplianceBorrowerDoc> & IComplianceBorrowerDoc & Required<{
145
+ updateBorrowerEmailAddresses(emailUpdate: IGroupedEmailsUpdate): Promise<mongoose.Document<unknown, {}, import("../models/BorrowerCompliance.model").IComplianceBorrowerDoc> & import("../models/BorrowerCompliance.model").IComplianceBorrowerDoc & Required<{
146
146
  _id: mongoose.Types.ObjectId;
147
147
  }>>;
148
148
  toggleComplianceBorrowerVisibility(borrowerId: string, isVisible: boolean): Promise<void>;
@@ -393,7 +393,8 @@ class ComplianceBorrowersService {
393
393
  .find(userAccess.allBorrowers ? {} : { 'borrower': { $in: userAccess.borrowersAccess } })
394
394
  .populate('borrower items.item')
395
395
  .collation({ locale: 'en' })
396
- .sort({ 'borrower.name': 1 });
396
+ .sort({ 'borrower.name': 1 })
397
+ .lean();
397
398
  return allComplianceBorrower.map((b) => {
398
399
  const items = b.items.map((item) => {
399
400
  return {
@@ -412,7 +413,7 @@ class ComplianceBorrowersService {
412
413
  return;
413
414
  }
414
415
  return {
415
- borrower: { _id: b.id, name: b.borrower?.name ?? '', borrowerId: b.borrower?.id ?? '' },
416
+ borrower: { _id: b._id.toString(), name: b.borrower?.name ?? '', borrowerId: b.borrower?.id ?? '' },
416
417
  email: b.email,
417
418
  mainEmails: b.mainEmails ?? [],
418
419
  financialEmails: b.financialEmails ?? [],
@@ -429,7 +430,8 @@ class ComplianceBorrowersService {
429
430
  .findOne({ _id: borrowerId })
430
431
  .populate('borrower items.item')
431
432
  .collation({ locale: 'en' })
432
- .sort({ 'borrower.name': 1 });
433
+ .sort({ 'borrower.name': 1 })
434
+ .lean();
433
435
  const items = borrower.items.map((item) => {
434
436
  return {
435
437
  value: item.item?.id ?? null,
@@ -447,7 +449,7 @@ class ComplianceBorrowersService {
447
449
  return;
448
450
  }
449
451
  return {
450
- borrower: { _id: borrower.id, name: borrower.borrower?.name ?? '', borrowerId: borrower.borrower?.id ?? '' },
452
+ borrower: { _id: borrower._id.toString(), name: borrower.borrower?.name ?? '', borrowerId: borrower.borrower?._id.toString() ?? '' },
451
453
  email: borrower.email,
452
454
  mainEmails: borrower.mainEmails ?? [],
453
455
  financialEmails: borrower.financialEmails ?? [],
@@ -540,7 +542,8 @@ class ComplianceBorrowersService {
540
542
  const borrowers = await BorrowerCompliance_model_1.BorrowerCompliance
541
543
  .find(userFilter)
542
544
  .populate('borrower')
543
- .populate('items.item');
545
+ .populate('items.item')
546
+ .lean();
544
547
  const finalList = [
545
548
  ['borrower', 'due date', 'item', 'status'],
546
549
  ];
@@ -555,7 +558,7 @@ class ComplianceBorrowersService {
555
558
  if (instance.status !== 'ACCEPTED') {
556
559
  finalList.push([
557
560
  borrower.borrower.name.trim(),
558
- instance.nextDate,
561
+ instance.nextDate.toString(),
559
562
  item.item.name.trim(),
560
563
  instance.status,
561
564
  ]);
@@ -7,7 +7,7 @@ import { IGroupedEmailsUpdate } from '../interfaces/email-addresses.interface';
7
7
  import { EItemProgressStatus } from '../enums/item-progress-status.enum';
8
8
  import {
9
9
  BorrowerCompliance,
10
- IComplianceBorrowerDoc,
10
+ IComplianceBorrowerWithBorrower,
11
11
  IComplianceBorrowerDocumentFull,
12
12
  } from '../models/BorrowerCompliance.model';
13
13
  import { BorrowerModel } from '../models/Borrower.model';
@@ -92,7 +92,7 @@ export class ComplianceBorrowersService {
92
92
  // populate: { path: 'instances.files.uploadedBy', model: MODEL_NAMES.users },
93
93
  // }) // TODO remove this when we have a better way to handle users
94
94
  .transform((borrower) => ({ ...borrower, plaidAccessToken: borrower?.plaidAccessToken ?? false }))
95
- .lean() as IComplianceBorrowerDocumentFull;
95
+ .lean<IComplianceBorrowerDocumentFull>();
96
96
  if (!ourBorrower.borrower) {
97
97
  return Promise.resolve({ ...ourBorrower });
98
98
  }
@@ -130,9 +130,9 @@ export class ComplianceBorrowersService {
130
130
  }
131
131
 
132
132
  async getAllBorrowersShortened(userAccess: IUserAccess) {
133
- type BorrowerComplianceShort = Pick<IComplianceBorrowerDoc, 'borrower' | 'fundingStatus' | 'items'>;
133
+ type BorrowerComplianceShort = Pick<IComplianceBorrowerWithBorrower, 'borrower' | 'fundingStatus' | 'items'>;
134
134
 
135
- const allComplianceBorrower: BorrowerComplianceShort[] = await BorrowerCompliance
135
+ const allComplianceBorrower = await BorrowerCompliance
136
136
  .find(userAccess.allBorrowers ? { isVisible: true } : {
137
137
  'borrower': { $in: userAccess.borrowersAccess },
138
138
  isVisible: true,
@@ -143,7 +143,7 @@ export class ComplianceBorrowersService {
143
143
  populate: { path: 'item', model: 'complianceItems' },
144
144
  })
145
145
  .collation({ locale: 'en' })
146
- .lean();
146
+ .lean<BorrowerComplianceShort[]>();
147
147
  const borrowers = await Promise.all(allComplianceBorrower.map(async (borrower) => {
148
148
  if (!borrower.borrower) {
149
149
  return borrower;
@@ -426,11 +426,12 @@ export class ComplianceBorrowersService {
426
426
  }
427
427
 
428
428
  async getBorrowerEmails(userAccess: IUserAccess) {
429
- const allComplianceBorrower: IComplianceBorrowerDoc[] = await BorrowerCompliance
429
+ const allComplianceBorrower = await BorrowerCompliance
430
430
  .find(userAccess.allBorrowers ? {} : { 'borrower': { $in: userAccess.borrowersAccess } })
431
431
  .populate('borrower items.item')
432
432
  .collation({ locale: 'en' })
433
- .sort({ 'borrower.name': 1 });
433
+ .sort({ 'borrower.name': 1 })
434
+ .lean<IComplianceBorrowerWithBorrower[]>();
434
435
  return allComplianceBorrower.map((b) => {
435
436
  const items = b.items.map((item) => {
436
437
  return {
@@ -449,7 +450,7 @@ export class ComplianceBorrowersService {
449
450
  return;
450
451
  }
451
452
  return {
452
- borrower: { _id: b.id, name: b.borrower?.name ?? '', borrowerId: b.borrower?.id ?? '' },
453
+ borrower: { _id: b._id.toString(), name: b.borrower?.name ?? '', borrowerId: b.borrower?.id ?? '' },
453
454
  email: b.email,
454
455
  mainEmails: b.mainEmails ?? [],
455
456
  financialEmails: b.financialEmails ?? [],
@@ -463,11 +464,12 @@ export class ComplianceBorrowersService {
463
464
  }
464
465
 
465
466
  async getOneBorrowerEmails(userAccess, borrowerId) {
466
- const borrower: IComplianceBorrowerDoc = await BorrowerCompliance
467
+ const borrower = await BorrowerCompliance
467
468
  .findOne({ _id: borrowerId })
468
469
  .populate('borrower items.item')
469
470
  .collation({ locale: 'en' })
470
- .sort({ 'borrower.name': 1 });
471
+ .sort({ 'borrower.name': 1 })
472
+ .lean<IComplianceBorrowerWithBorrower>();
471
473
  const items = borrower.items.map((item) => {
472
474
  return {
473
475
  value: item.item?.id ?? null,
@@ -485,7 +487,7 @@ export class ComplianceBorrowersService {
485
487
  return;
486
488
  }
487
489
  return {
488
- borrower: { _id: borrower.id, name: borrower.borrower?.name ?? '', borrowerId: borrower.borrower?.id ?? '' },
490
+ borrower: { _id: borrower._id.toString(), name: borrower.borrower?.name ?? '', borrowerId: borrower.borrower?._id.toString() ?? '' },
489
491
  email: borrower.email,
490
492
  mainEmails: borrower.mainEmails ?? [],
491
493
  financialEmails: borrower.financialEmails ?? [],
@@ -587,6 +589,7 @@ export class ComplianceBorrowersService {
587
589
  .find(userFilter)
588
590
  .populate('borrower')
589
591
  .populate('items.item')
592
+ .lean<IComplianceBorrowerWithBorrower[]>()
590
593
  ;
591
594
  const finalList = [
592
595
  ['borrower', 'due date', 'item', 'status'],
@@ -602,7 +605,7 @@ export class ComplianceBorrowersService {
602
605
  if (instance.status !== 'ACCEPTED') {
603
606
  finalList.push([
604
607
  borrower.borrower.name.trim(),
605
- instance.nextDate,
608
+ instance.nextDate.toString(),
606
609
  item.item.name.trim(),
607
610
  instance.status,
608
611
  ]);
@@ -155,7 +155,7 @@ export declare class LoanTransactionsService {
155
155
  getTransactionReport(transactionIds: string[], borrowerId: string, effectiveDate: Date): Promise<{
156
156
  transactionIdsToMark: string[];
157
157
  transactions: {
158
- [x: string]: (string | number | Date | string[])[];
158
+ [x: string]: (string | number | string[] | Date)[];
159
159
  }[];
160
160
  }>;
161
161
  getBorrowerIdsForFile(transactionFileId: string): Promise<{