gemcap-be-common 1.5.72 → 1.5.74
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.
- package/models/BorrowerCompliance.model.d.ts +19 -15
- package/models/BorrowerCompliance.model.ts +3 -3
- package/models/ComplianceItem.model.d.ts +19 -0
- package/models/ComplianceItem.model.ts +20 -1
- package/models/FinancialCompliance.model.d.ts +17 -12
- package/models/FinancialComplianceBorrower.model.d.ts +11 -6
- package/models/_index.d.ts +9 -9
- package/package.json +1 -1
- package/services/borrowers.service.d.ts +2 -2
- package/services/compliance-borrowers.service.d.ts +18 -46
- package/services/compliance-borrowers.service.js +2 -2
- package/services/compliance-borrowers.service.ts +24 -14
- package/services/file-manager.service.d.ts +1 -1
- package/services/quickbooks.service.d.ts +1 -1
- package/services/users.service.d.ts +1 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -3,10 +3,10 @@ import _ from 'lodash';
|
|
|
3
3
|
import mongoose from 'mongoose';
|
|
4
4
|
|
|
5
5
|
import {
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
IBorrowerItemLean,
|
|
7
|
+
IBorrowerItemInstance,
|
|
8
8
|
IComplianceFile,
|
|
9
|
-
IEmailRecipient,
|
|
9
|
+
IEmailRecipient, IBorrowerItemInstanceLean,
|
|
10
10
|
} from '../models/ComplianceItem.model';
|
|
11
11
|
import { IGroupedEmailsUpdate } from '../interfaces/email-addresses.interface';
|
|
12
12
|
import { EItemProgressStatus } from '../enums/item-progress-status.enum';
|
|
@@ -51,6 +51,19 @@ export interface IInstanceStatus {
|
|
|
51
51
|
};
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
+
export interface IBorrowerItemInstanceWithStatusesLean extends IBorrowerItemInstanceLean, IInstanceStatus {
|
|
55
|
+
itemId: mongoose.Types.ObjectId;
|
|
56
|
+
files: (IComplianceFile & { uploadedByUser: string | null; })[];
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export interface IBorrowerItemWithStatusesLean extends Omit<IBorrowerItemLean, 'instances'> {
|
|
60
|
+
instances: IBorrowerItemInstanceWithStatusesLean[];
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export interface IComplianceBorrowerDocumentFullWithStatuses extends Omit<IComplianceBorrowerDocumentFull, 'items'> {
|
|
64
|
+
items: IBorrowerItemWithStatusesLean[];
|
|
65
|
+
}
|
|
66
|
+
|
|
54
67
|
export class ComplianceBorrowersService {
|
|
55
68
|
|
|
56
69
|
constructor(
|
|
@@ -67,7 +80,7 @@ export class ComplianceBorrowersService {
|
|
|
67
80
|
return true;
|
|
68
81
|
}
|
|
69
82
|
|
|
70
|
-
calculateInstanceStatuses(instance:
|
|
83
|
+
calculateInstanceStatuses(instance: IBorrowerItemInstance, item: IBorrowerItemLean): IInstanceStatus {
|
|
71
84
|
let progress: { text: string, status: string };
|
|
72
85
|
let score: { value: number, tooltip: string } = null;
|
|
73
86
|
if (instance.submittedDate) {
|
|
@@ -93,7 +106,7 @@ export class ComplianceBorrowersService {
|
|
|
93
106
|
return { progress, score };
|
|
94
107
|
}
|
|
95
108
|
|
|
96
|
-
async getFullComplianceBorrowerById(complianceBorrowerId: string): Promise<
|
|
109
|
+
async getFullComplianceBorrowerById(complianceBorrowerId: string): Promise<IComplianceBorrowerDocumentFullWithStatuses> {
|
|
97
110
|
if (!complianceBorrowerId) {
|
|
98
111
|
return null;
|
|
99
112
|
}
|
|
@@ -111,7 +124,7 @@ export class ComplianceBorrowersService {
|
|
|
111
124
|
.transform((borrower) => ({ ...borrower, plaidAccessToken: borrower?.plaidAccessToken ?? false }))
|
|
112
125
|
.lean<IComplianceBorrowerDocumentFull>();
|
|
113
126
|
if (!ourBorrower.borrower) {
|
|
114
|
-
return Promise.resolve({ ...ourBorrower });
|
|
127
|
+
return Promise.resolve({ ...ourBorrower, items: [] });
|
|
115
128
|
}
|
|
116
129
|
const financeBorrower = await FinancialComplianceBorrower.findOne({ borrower: ourBorrower.borrower?._id });
|
|
117
130
|
if (financeBorrower) {
|
|
@@ -125,7 +138,7 @@ export class ComplianceBorrowersService {
|
|
|
125
138
|
return Promise.resolve(null);
|
|
126
139
|
}
|
|
127
140
|
|
|
128
|
-
const items = { items: [] as
|
|
141
|
+
const items = { items: [] as IBorrowerItemLean[], ...ourBorrower }.items.map((item) => {
|
|
129
142
|
return {
|
|
130
143
|
...item,
|
|
131
144
|
instances: item.instances.reduce((acc, instance) => {
|
|
@@ -140,13 +153,10 @@ export class ComplianceBorrowersService {
|
|
|
140
153
|
console.error({ e });
|
|
141
154
|
return acc;
|
|
142
155
|
}
|
|
143
|
-
},
|
|
144
|
-
itemId: mongoose.Types.ObjectId,
|
|
145
|
-
files: IComplianceFile[]
|
|
146
|
-
})[]>[]),
|
|
156
|
+
}, [] as IBorrowerItemInstanceWithStatusesLean[]),
|
|
147
157
|
};
|
|
148
158
|
});
|
|
149
|
-
return Promise.resolve({ ...ourBorrower,
|
|
159
|
+
return Promise.resolve({ ...ourBorrower, items });
|
|
150
160
|
}
|
|
151
161
|
|
|
152
162
|
async getAllBorrowersShortened(userAccess: IUserAccess) {
|
|
@@ -190,7 +200,7 @@ export class ComplianceBorrowersService {
|
|
|
190
200
|
} catch (e) {
|
|
191
201
|
return acc;
|
|
192
202
|
}
|
|
193
|
-
}, []),
|
|
203
|
+
}, [] as IBorrowerItemInstanceWithStatusesLean[]),
|
|
194
204
|
};
|
|
195
205
|
});
|
|
196
206
|
|
|
@@ -204,7 +214,7 @@ export class ComplianceBorrowersService {
|
|
|
204
214
|
async generateInstances(complianceBorrowerId) {
|
|
205
215
|
const complianceBorrower = await this.getFullComplianceBorrowerById(complianceBorrowerId);
|
|
206
216
|
|
|
207
|
-
const getLatestInstanceDate = (item:
|
|
217
|
+
const getLatestInstanceDate = (item: IBorrowerItemLean) => {
|
|
208
218
|
if (!item.instances || !item.instances.length) {
|
|
209
219
|
return null;
|
|
210
220
|
}
|
|
@@ -40,6 +40,6 @@ export declare class FileManagerService {
|
|
|
40
40
|
findItemByInstanceId(instanceId: any): Promise<any[]>;
|
|
41
41
|
getFilesNewerThanDate(date: Date): Promise<BorrowerWithFiles[]>;
|
|
42
42
|
deleteFile(complianceBorrowerId: string, fileId: string): Promise<void>;
|
|
43
|
-
getFilesByBorrowerId(borrowerId: string): Promise<import("../models/ComplianceItem.model").
|
|
43
|
+
getFilesByBorrowerId(borrowerId: string): Promise<import("../models/ComplianceItem.model").IBorrowerItemLean[]>;
|
|
44
44
|
updateAWSID(itemId: any, instanceId: any, fileId: any, awsFileId: any): Promise<void>;
|
|
45
45
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/// <reference types="mongoose/types/document" />
|
|
2
1
|
/// <reference types="mongoose/types/types" />
|
|
2
|
+
/// <reference types="mongoose/types/document" />
|
|
3
3
|
/// <reference types="mongoose/types/aggregate" />
|
|
4
4
|
/// <reference types="mongoose/types/callback" />
|
|
5
5
|
/// <reference types="mongoose/types/collection" />
|