gemcap-be-common 1.4.236 → 1.4.239
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/db/new-summary.ts +2 -2
- package/models/BorrowerCompliance.model.d.ts +41 -18
- package/models/BorrowerCompliance.model.js +2 -4
- package/models/BorrowerCompliance.model.ts +36 -12
- package/models/_index.d.ts +6 -6
- package/package.json +1 -1
- package/services/compliance-borrowers.service.d.ts +24 -24
- package/services/compliance-borrowers.service.js +9 -6
- package/services/compliance-borrowers.service.ts +12 -9
- package/services/financial-compliance.service.ts +3 -3
- package/services/loan-transactions.service.ts +4 -4
- package/tsconfig.tsbuildinfo +1 -1
package/db/new-summary.ts
CHANGED
|
@@ -14,7 +14,7 @@ import { EReserveTypes } from '../enums/reserve-types.enum';
|
|
|
14
14
|
import { EComplianceItemStatus } from '../models/ComplianceItem.model';
|
|
15
15
|
import { IExcelJsCell, NUMBER_FORMATS } from '../helpers/excel.helper';
|
|
16
16
|
import { ILoanChargeDoc, LoanCharge } from '../models/LoanCharges.model';
|
|
17
|
-
import { BorrowerCompliance,
|
|
17
|
+
import { BorrowerCompliance, IComplianceBorrowerDoc } from '../models/BorrowerCompliance.model';
|
|
18
18
|
import { ELoanTransactionTypes } from '../models/LoanTransaction.model';
|
|
19
19
|
import { ELoanTypes } from '../enums/loan-types.enum';
|
|
20
20
|
import { EEquipmentTypes } from '../enums/equipment-types.enum';
|
|
@@ -152,7 +152,7 @@ const productsDataMap = new Map<string, ReportRow>();
|
|
|
152
152
|
const borrowersMap = new Map<string, IBorrowerDoc>();
|
|
153
153
|
const productsMap = new Map<string, ILoanProductDoc>();
|
|
154
154
|
const chargesMap = new Map<string, ILoanChargeDoc>();
|
|
155
|
-
const complianceBorrowersMap = new Map<string,
|
|
155
|
+
const complianceBorrowersMap = new Map<string, IComplianceBorrowerDoc>();
|
|
156
156
|
|
|
157
157
|
const allBorrowerSummaryRowFields = {
|
|
158
158
|
commitmentAmount: {
|
|
@@ -22,16 +22,17 @@
|
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
|
24
24
|
/// <reference types="mongoose/types/inferschematype" />
|
|
25
|
-
import mongoose, {
|
|
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;
|
|
30
31
|
user?: string;
|
|
31
32
|
}
|
|
32
|
-
export interface
|
|
33
|
+
export interface IComplianceBorrower {
|
|
33
34
|
isVisible: boolean;
|
|
34
|
-
borrower:
|
|
35
|
+
borrower: mongoose.Types.ObjectId;
|
|
35
36
|
complianceNotes?: IComplianceNote[];
|
|
36
37
|
borrowerNotes?: IComplianceNote[];
|
|
37
38
|
email?: string;
|
|
@@ -44,7 +45,29 @@ export interface IComplianceBorrowerDocument extends Document {
|
|
|
44
45
|
lastEmailSentAt?: Date;
|
|
45
46
|
items?: IBorrowerItemDocument[];
|
|
46
47
|
}
|
|
47
|
-
export interface
|
|
48
|
+
export interface IComplianceBorrowerDoc extends IComplianceBorrower, mongoose.Document {
|
|
49
|
+
_id: mongoose.Types.ObjectId;
|
|
50
|
+
createdAt: Date;
|
|
51
|
+
updatedAt: Date;
|
|
52
|
+
}
|
|
53
|
+
export interface IComplianceBorrowerLean extends IComplianceBorrower {
|
|
54
|
+
_id: mongoose.Types.ObjectId;
|
|
55
|
+
createdAt: Date;
|
|
56
|
+
updatedAt: Date;
|
|
57
|
+
}
|
|
58
|
+
export interface IComplianceBorrowerPlain extends Omit<IComplianceBorrower, 'borrower'> {
|
|
59
|
+
_id: string;
|
|
60
|
+
borrower: string;
|
|
61
|
+
createdAt: Date;
|
|
62
|
+
updatedAt: Date;
|
|
63
|
+
}
|
|
64
|
+
export interface IComplianceBorrowerWithBorrower extends Omit<IComplianceBorrowerLean, 'borrower'> {
|
|
65
|
+
borrower: IBorrowerDoc;
|
|
66
|
+
createdAt: Date;
|
|
67
|
+
updatedAt: Date;
|
|
68
|
+
}
|
|
69
|
+
export type ComplianceBorrowerModel = Model<IComplianceBorrowerDoc>;
|
|
70
|
+
export interface IComplianceBorrowerDocumentFull extends Omit<IComplianceBorrowerWithBorrower, 'items'> {
|
|
48
71
|
items: IBorrowerItemDocument[];
|
|
49
72
|
}
|
|
50
73
|
export declare const BorrowerComplianceSchema: mongoose.Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, {
|
|
@@ -65,13 +88,13 @@ export declare const BorrowerComplianceSchema: mongoose.Schema<any, mongoose.Mod
|
|
|
65
88
|
user?: string;
|
|
66
89
|
}>;
|
|
67
90
|
mainEmails: mongoose.Types.DocumentArray<{
|
|
68
|
-
title?: string;
|
|
69
91
|
email?: string;
|
|
92
|
+
title?: string;
|
|
70
93
|
isActive?: boolean;
|
|
71
94
|
}>;
|
|
72
95
|
financialEmails: mongoose.Types.DocumentArray<{
|
|
73
|
-
title?: string;
|
|
74
96
|
email?: string;
|
|
97
|
+
title?: string;
|
|
75
98
|
isActive?: boolean;
|
|
76
99
|
}>;
|
|
77
100
|
items: mongoose.Types.DocumentArray<{
|
|
@@ -79,8 +102,8 @@ export declare const BorrowerComplianceSchema: mongoose.Schema<any, mongoose.Mod
|
|
|
79
102
|
updatedAt: NativeDate;
|
|
80
103
|
} & {
|
|
81
104
|
emailAddresses: mongoose.Types.DocumentArray<{
|
|
82
|
-
title?: string;
|
|
83
105
|
email?: string;
|
|
106
|
+
title?: string;
|
|
84
107
|
isActive?: boolean;
|
|
85
108
|
}>;
|
|
86
109
|
instances: mongoose.Types.DocumentArray<{
|
|
@@ -102,7 +125,6 @@ export declare const BorrowerComplianceSchema: mongoose.Schema<any, mongoose.Mod
|
|
|
102
125
|
startDate?: Date;
|
|
103
126
|
frequency?: string;
|
|
104
127
|
}>;
|
|
105
|
-
__v?: number;
|
|
106
128
|
isVisible?: boolean;
|
|
107
129
|
email?: string;
|
|
108
130
|
isEmailingActive?: boolean;
|
|
@@ -110,6 +132,7 @@ export declare const BorrowerComplianceSchema: mongoose.Schema<any, mongoose.Mod
|
|
|
110
132
|
plaidAccessToken?: string;
|
|
111
133
|
fundingStatus?: string;
|
|
112
134
|
lastEmailSentAt?: Date;
|
|
135
|
+
__v?: number;
|
|
113
136
|
}, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
|
|
114
137
|
createdAt: NativeDate;
|
|
115
138
|
updatedAt: NativeDate;
|
|
@@ -126,13 +149,13 @@ export declare const BorrowerComplianceSchema: mongoose.Schema<any, mongoose.Mod
|
|
|
126
149
|
user?: string;
|
|
127
150
|
}>;
|
|
128
151
|
mainEmails: mongoose.Types.DocumentArray<{
|
|
129
|
-
title?: string;
|
|
130
152
|
email?: string;
|
|
153
|
+
title?: string;
|
|
131
154
|
isActive?: boolean;
|
|
132
155
|
}>;
|
|
133
156
|
financialEmails: mongoose.Types.DocumentArray<{
|
|
134
|
-
title?: string;
|
|
135
157
|
email?: string;
|
|
158
|
+
title?: string;
|
|
136
159
|
isActive?: boolean;
|
|
137
160
|
}>;
|
|
138
161
|
items: mongoose.Types.DocumentArray<{
|
|
@@ -140,8 +163,8 @@ export declare const BorrowerComplianceSchema: mongoose.Schema<any, mongoose.Mod
|
|
|
140
163
|
updatedAt: NativeDate;
|
|
141
164
|
} & {
|
|
142
165
|
emailAddresses: mongoose.Types.DocumentArray<{
|
|
143
|
-
title?: string;
|
|
144
166
|
email?: string;
|
|
167
|
+
title?: string;
|
|
145
168
|
isActive?: boolean;
|
|
146
169
|
}>;
|
|
147
170
|
instances: mongoose.Types.DocumentArray<{
|
|
@@ -163,7 +186,6 @@ export declare const BorrowerComplianceSchema: mongoose.Schema<any, mongoose.Mod
|
|
|
163
186
|
startDate?: Date;
|
|
164
187
|
frequency?: string;
|
|
165
188
|
}>;
|
|
166
|
-
__v?: number;
|
|
167
189
|
isVisible?: boolean;
|
|
168
190
|
email?: string;
|
|
169
191
|
isEmailingActive?: boolean;
|
|
@@ -171,6 +193,7 @@ export declare const BorrowerComplianceSchema: mongoose.Schema<any, mongoose.Mod
|
|
|
171
193
|
plaidAccessToken?: string;
|
|
172
194
|
fundingStatus?: string;
|
|
173
195
|
lastEmailSentAt?: Date;
|
|
196
|
+
__v?: number;
|
|
174
197
|
}>> & mongoose.FlatRecord<{
|
|
175
198
|
createdAt: NativeDate;
|
|
176
199
|
updatedAt: NativeDate;
|
|
@@ -187,13 +210,13 @@ export declare const BorrowerComplianceSchema: mongoose.Schema<any, mongoose.Mod
|
|
|
187
210
|
user?: string;
|
|
188
211
|
}>;
|
|
189
212
|
mainEmails: mongoose.Types.DocumentArray<{
|
|
190
|
-
title?: string;
|
|
191
213
|
email?: string;
|
|
214
|
+
title?: string;
|
|
192
215
|
isActive?: boolean;
|
|
193
216
|
}>;
|
|
194
217
|
financialEmails: mongoose.Types.DocumentArray<{
|
|
195
|
-
title?: string;
|
|
196
218
|
email?: string;
|
|
219
|
+
title?: string;
|
|
197
220
|
isActive?: boolean;
|
|
198
221
|
}>;
|
|
199
222
|
items: mongoose.Types.DocumentArray<{
|
|
@@ -201,8 +224,8 @@ export declare const BorrowerComplianceSchema: mongoose.Schema<any, mongoose.Mod
|
|
|
201
224
|
updatedAt: NativeDate;
|
|
202
225
|
} & {
|
|
203
226
|
emailAddresses: mongoose.Types.DocumentArray<{
|
|
204
|
-
title?: string;
|
|
205
227
|
email?: string;
|
|
228
|
+
title?: string;
|
|
206
229
|
isActive?: boolean;
|
|
207
230
|
}>;
|
|
208
231
|
instances: mongoose.Types.DocumentArray<{
|
|
@@ -224,7 +247,6 @@ export declare const BorrowerComplianceSchema: mongoose.Schema<any, mongoose.Mod
|
|
|
224
247
|
startDate?: Date;
|
|
225
248
|
frequency?: string;
|
|
226
249
|
}>;
|
|
227
|
-
__v?: number;
|
|
228
250
|
isVisible?: boolean;
|
|
229
251
|
email?: string;
|
|
230
252
|
isEmailingActive?: boolean;
|
|
@@ -232,9 +254,10 @@ export declare const BorrowerComplianceSchema: mongoose.Schema<any, mongoose.Mod
|
|
|
232
254
|
plaidAccessToken?: string;
|
|
233
255
|
fundingStatus?: string;
|
|
234
256
|
lastEmailSentAt?: Date;
|
|
257
|
+
__v?: number;
|
|
235
258
|
}> & {
|
|
236
259
|
_id: mongoose.Types.ObjectId;
|
|
237
260
|
}>;
|
|
238
|
-
export declare const BorrowerCompliance: mongoose.Model<
|
|
261
|
+
export declare const BorrowerCompliance: mongoose.Model<IComplianceBorrowerDoc, {}, {}, {}, mongoose.Document<unknown, {}, IComplianceBorrowerDoc> & IComplianceBorrowerDoc & Required<{
|
|
239
262
|
_id: mongoose.Types.ObjectId;
|
|
240
|
-
}
|
|
263
|
+
}>, any>;
|
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.BorrowerCompliance = exports.BorrowerComplianceSchema = void 0;
|
|
7
7
|
const mongoose_1 = __importDefault(require("mongoose"));
|
|
8
8
|
const _models_1 = require("./_models");
|
|
9
|
-
const mongooseLeanId = require('../plugins/id.plugin');
|
|
10
9
|
const BorrowerComplianceInstanceSchema = new mongoose_1.default.Schema({
|
|
11
10
|
nextDate: {
|
|
12
11
|
type: Date,
|
|
@@ -45,7 +44,7 @@ const BorrowerComplianceInstanceSchema = new mongoose_1.default.Schema({
|
|
|
45
44
|
type: String,
|
|
46
45
|
required: false,
|
|
47
46
|
},
|
|
48
|
-
}]
|
|
47
|
+
}],
|
|
49
48
|
}, { timestamps: true });
|
|
50
49
|
const BorrowerComplianceItemSchema = new mongoose_1.default.Schema({
|
|
51
50
|
item: {
|
|
@@ -78,7 +77,7 @@ const BorrowerComplianceItemSchema = new mongoose_1.default.Schema({
|
|
|
78
77
|
required: false,
|
|
79
78
|
},
|
|
80
79
|
}],
|
|
81
|
-
instances: [BorrowerComplianceInstanceSchema]
|
|
80
|
+
instances: [BorrowerComplianceInstanceSchema],
|
|
82
81
|
}, { timestamps: true });
|
|
83
82
|
exports.BorrowerComplianceSchema = new mongoose_1.default.Schema({
|
|
84
83
|
isVisible: {
|
|
@@ -186,5 +185,4 @@ exports.BorrowerComplianceSchema = new mongoose_1.default.Schema({
|
|
|
186
185
|
items: [BorrowerComplianceItemSchema],
|
|
187
186
|
__v: { type: Number, select: false },
|
|
188
187
|
}, { timestamps: true });
|
|
189
|
-
exports.BorrowerComplianceSchema.plugin(mongooseLeanId);
|
|
190
188
|
exports.BorrowerCompliance = mongoose_1.default.model(_models_1.MODEL_NAMES.complianceBorrowers, exports.BorrowerComplianceSchema);
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import mongoose, {
|
|
1
|
+
import mongoose, { Model } from 'mongoose';
|
|
2
2
|
|
|
3
3
|
import { MODEL_NAMES } from './_models';
|
|
4
4
|
import {
|
|
5
5
|
IBorrowerItemDocument,
|
|
6
6
|
IEmailRecipient,
|
|
7
7
|
} from './ComplianceItem.model';
|
|
8
|
-
|
|
9
|
-
const mongooseLeanId = require('../plugins/id.plugin');
|
|
8
|
+
import { IBorrowerDoc } from './Borrower.model';
|
|
10
9
|
|
|
11
10
|
export interface IComplianceNote {
|
|
12
11
|
note: string;
|
|
@@ -14,23 +13,50 @@ export interface IComplianceNote {
|
|
|
14
13
|
user?: string;
|
|
15
14
|
}
|
|
16
15
|
|
|
17
|
-
export interface
|
|
16
|
+
export interface IComplianceBorrower {
|
|
18
17
|
isVisible: boolean;
|
|
19
|
-
borrower:
|
|
18
|
+
borrower: mongoose.Types.ObjectId;
|
|
20
19
|
complianceNotes?: IComplianceNote[];
|
|
21
20
|
borrowerNotes?: IComplianceNote[];
|
|
22
21
|
email?: string;
|
|
23
22
|
mainEmails?: IEmailRecipient[];
|
|
24
23
|
financialEmails?: IEmailRecipient[];
|
|
25
24
|
isEmailingActive?: boolean;
|
|
26
|
-
isDailyTransactionsEmailingActive
|
|
25
|
+
isDailyTransactionsEmailingActive?: boolean;
|
|
27
26
|
plaidAccessToken?: string;
|
|
28
27
|
fundingStatus?: string;
|
|
29
28
|
lastEmailSentAt?: Date;
|
|
30
29
|
items?: IBorrowerItemDocument[];
|
|
31
30
|
}
|
|
32
31
|
|
|
33
|
-
export interface
|
|
32
|
+
export interface IComplianceBorrowerDoc extends IComplianceBorrower, mongoose.Document {
|
|
33
|
+
_id: mongoose.Types.ObjectId;
|
|
34
|
+
createdAt: Date;
|
|
35
|
+
updatedAt: Date;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export interface IComplianceBorrowerLean extends IComplianceBorrower {
|
|
39
|
+
_id: mongoose.Types.ObjectId;
|
|
40
|
+
createdAt: Date;
|
|
41
|
+
updatedAt: Date;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export interface IComplianceBorrowerPlain extends Omit<IComplianceBorrower, 'borrower'> {
|
|
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;
|
|
53
|
+
createdAt: Date;
|
|
54
|
+
updatedAt: Date;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export type ComplianceBorrowerModel = Model<IComplianceBorrowerDoc>;
|
|
58
|
+
|
|
59
|
+
export interface IComplianceBorrowerDocumentFull extends Omit<IComplianceBorrowerWithBorrower, 'items'> {
|
|
34
60
|
items: IBorrowerItemDocument[];
|
|
35
61
|
}
|
|
36
62
|
|
|
@@ -72,7 +98,7 @@ const BorrowerComplianceInstanceSchema = new mongoose.Schema({
|
|
|
72
98
|
type: String,
|
|
73
99
|
required: false,
|
|
74
100
|
},
|
|
75
|
-
}]
|
|
101
|
+
}],
|
|
76
102
|
}, { timestamps: true });
|
|
77
103
|
|
|
78
104
|
const BorrowerComplianceItemSchema = new mongoose.Schema({
|
|
@@ -106,7 +132,7 @@ const BorrowerComplianceItemSchema = new mongoose.Schema({
|
|
|
106
132
|
required: false,
|
|
107
133
|
},
|
|
108
134
|
}],
|
|
109
|
-
instances: [BorrowerComplianceInstanceSchema]
|
|
135
|
+
instances: [BorrowerComplianceInstanceSchema],
|
|
110
136
|
}, { timestamps: true });
|
|
111
137
|
|
|
112
138
|
export const BorrowerComplianceSchema = new mongoose.Schema(
|
|
@@ -219,6 +245,4 @@ export const BorrowerComplianceSchema = new mongoose.Schema(
|
|
|
219
245
|
{ timestamps: true },
|
|
220
246
|
);
|
|
221
247
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
export const BorrowerCompliance = mongoose.model<IComplianceBorrowerDocument>(MODEL_NAMES.complianceBorrowers, BorrowerComplianceSchema);
|
|
248
|
+
export const BorrowerCompliance = mongoose.model<IComplianceBorrowerDoc>(MODEL_NAMES.complianceBorrowers, BorrowerComplianceSchema);
|
package/models/_index.d.ts
CHANGED
|
@@ -31,10 +31,10 @@ export declare const allSchemas: {
|
|
|
31
31
|
createdAt: NativeDate;
|
|
32
32
|
updatedAt: NativeDate;
|
|
33
33
|
} & {
|
|
34
|
-
amount: number;
|
|
35
|
-
order: number;
|
|
36
34
|
bbcSheetId: import("mongoose").Types.ObjectId;
|
|
35
|
+
order: number;
|
|
37
36
|
apDate: Date;
|
|
37
|
+
amount: number;
|
|
38
38
|
__v?: number;
|
|
39
39
|
poNumber?: string;
|
|
40
40
|
customerName?: string;
|
|
@@ -45,10 +45,10 @@ export declare const allSchemas: {
|
|
|
45
45
|
createdAt: NativeDate;
|
|
46
46
|
updatedAt: NativeDate;
|
|
47
47
|
} & {
|
|
48
|
-
amount: number;
|
|
49
|
-
order: number;
|
|
50
48
|
bbcSheetId: import("mongoose").Types.ObjectId;
|
|
49
|
+
order: number;
|
|
51
50
|
apDate: Date;
|
|
51
|
+
amount: number;
|
|
52
52
|
__v?: number;
|
|
53
53
|
poNumber?: string;
|
|
54
54
|
customerName?: string;
|
|
@@ -59,10 +59,10 @@ export declare const allSchemas: {
|
|
|
59
59
|
createdAt: NativeDate;
|
|
60
60
|
updatedAt: NativeDate;
|
|
61
61
|
} & {
|
|
62
|
-
amount: number;
|
|
63
|
-
order: number;
|
|
64
62
|
bbcSheetId: import("mongoose").Types.ObjectId;
|
|
63
|
+
order: number;
|
|
65
64
|
apDate: Date;
|
|
65
|
+
amount: number;
|
|
66
66
|
__v?: number;
|
|
67
67
|
poNumber?: string;
|
|
68
68
|
customerName?: string;
|
package/package.json
CHANGED
|
@@ -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 {
|
|
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<
|
|
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:
|
|
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, {},
|
|
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
|
-
}
|
|
85
|
-
updateFundingStatus(complianceBorrowerId: string, fundingStatus: string): Promise<mongoose.Document<unknown, {},
|
|
84
|
+
}>>;
|
|
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
|
-
}
|
|
88
|
-
updateLastEmailSent(complianceBorrowerId: string, lastEmailSentAt: Date): Promise<mongoose.Document<unknown, {},
|
|
87
|
+
}>>;
|
|
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, {},
|
|
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, {},
|
|
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
|
-
}
|
|
99
|
-
markInstanceFilesAsOld(complianceInstanceId: string): Promise<mongoose.Document<unknown, {},
|
|
98
|
+
}>>;
|
|
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
|
-
}
|
|
102
|
-
getBorrowerWithPlaidToken(): Promise<(mongoose.Document<unknown, {},
|
|
101
|
+
}>>;
|
|
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:
|
|
108
|
-
name:
|
|
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:
|
|
126
|
-
name:
|
|
127
|
-
borrowerId:
|
|
125
|
+
_id: string;
|
|
126
|
+
name: string;
|
|
127
|
+
borrowerId: string;
|
|
128
128
|
};
|
|
129
129
|
email: string;
|
|
130
130
|
mainEmails: IEmailRecipient[];
|
|
@@ -142,9 +142,9 @@ export declare class ComplianceBorrowersService {
|
|
|
142
142
|
mainEmails: IEmailRecipient[];
|
|
143
143
|
financialEmails: IEmailRecipient[];
|
|
144
144
|
}>;
|
|
145
|
-
updateBorrowerEmailAddresses(emailUpdate: IGroupedEmailsUpdate): Promise<mongoose.Document<unknown, {},
|
|
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>;
|
|
149
149
|
createComplianceBorrower(borrowerId: string, isVisible?: boolean): Promise<void>;
|
|
150
150
|
removeIncorrectBorrowers(): 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.
|
|
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.
|
|
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
|
-
|
|
10
|
+
IComplianceBorrowerWithBorrower,
|
|
11
11
|
IComplianceBorrowerDocumentFull,
|
|
12
12
|
} from '../models/BorrowerCompliance.model';
|
|
13
13
|
import { BorrowerModel } from '../models/Borrower.model';
|
|
@@ -130,7 +130,7 @@ export class ComplianceBorrowersService {
|
|
|
130
130
|
}
|
|
131
131
|
|
|
132
132
|
async getAllBorrowersShortened(userAccess: IUserAccess) {
|
|
133
|
-
type BorrowerComplianceShort = Pick<
|
|
133
|
+
type BorrowerComplianceShort = Pick<IComplianceBorrowerWithBorrower, 'borrower' | 'fundingStatus' | 'items'>;
|
|
134
134
|
|
|
135
135
|
const allComplianceBorrower: BorrowerComplianceShort[] = await BorrowerCompliance
|
|
136
136
|
.find(userAccess.allBorrowers ? { isVisible: true } : {
|
|
@@ -426,11 +426,12 @@ export class ComplianceBorrowersService {
|
|
|
426
426
|
}
|
|
427
427
|
|
|
428
428
|
async getBorrowerEmails(userAccess: IUserAccess) {
|
|
429
|
-
const allComplianceBorrower
|
|
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.
|
|
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
|
|
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.
|
|
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
|
]);
|
|
@@ -5,7 +5,7 @@ import { IEmail } from '../interfaces/email.interface';
|
|
|
5
5
|
import { BorrowerModel } from '../models/Borrower.model';
|
|
6
6
|
import { createMicroserviceTasks } from '../db/microservice-tasks.db';
|
|
7
7
|
import { EMicroserviceTask } from '../enums/microservice-task.enum';
|
|
8
|
-
import { BorrowerCompliance,
|
|
8
|
+
import { BorrowerCompliance, IComplianceBorrowerDoc } from '../models/BorrowerCompliance.model';
|
|
9
9
|
|
|
10
10
|
import FinancialComplianceBorrower, {
|
|
11
11
|
IFinancialComplianceBorrowerDocument,
|
|
@@ -122,7 +122,7 @@ export class FinancialComplianceService {
|
|
|
122
122
|
fullBorrower.invoiceSentDate = fullBorrower.invoiceSentDate ?? financialSettings.invoiceSentDate;
|
|
123
123
|
fullBorrower.stopFundingDate = fullBorrower.stopFundingDate ?? financialSettings.stopFundingDate;
|
|
124
124
|
fullBorrower.dueDate = fullBorrower.dueDate ?? financialSettings.dueDate;
|
|
125
|
-
const foundBorrower:
|
|
125
|
+
const foundBorrower: IComplianceBorrowerDoc = await BorrowerCompliance.findOne({ borrower: fullBorrower.borrower._id });
|
|
126
126
|
if (!foundBorrower.isEmailingActive) {
|
|
127
127
|
return;
|
|
128
128
|
}
|
|
@@ -236,7 +236,7 @@ export class FinancialComplianceService {
|
|
|
236
236
|
if (!borrower.borrower.active) {
|
|
237
237
|
return;
|
|
238
238
|
}
|
|
239
|
-
const foundBorrower:
|
|
239
|
+
const foundBorrower: IComplianceBorrowerDoc = await BorrowerCompliance.findOne({ borrower: borrower.borrower._id });
|
|
240
240
|
return {
|
|
241
241
|
...borrower,
|
|
242
242
|
isEmailingActive: foundBorrower?.isEmailingActive ?? true,
|