gemcap-be-common 1.2.140 → 1.3.0
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/classes/bank-transaction-item.d.ts +17 -0
- package/classes/bank-transaction-item.js +64 -0
- package/classes/bank-transaction-item.ts +66 -0
- package/classes/bank-uploaded-transaction.d.ts +17 -0
- package/classes/bank-uploaded-transaction.js +35 -0
- package/classes/bank-uploaded-transaction.ts +35 -0
- package/classes/inventory-item.d.ts +41 -0
- package/classes/inventory-item.js +44 -0
- package/classes/inventory-item.ts +63 -0
- package/classes/payable-account-item.d.ts +22 -0
- package/classes/payable-account-item.js +27 -0
- package/classes/payable-account-item.ts +35 -0
- package/classes/quickbook-item.d.ts +37 -0
- package/classes/quickbook-item.js +51 -0
- package/classes/quickbook-item.ts +59 -0
- package/classes/receivable-item.d.ts +26 -0
- package/classes/receivable-item.js +28 -0
- package/classes/receivable-item.ts +38 -0
- package/constants/date-formats.contsants.d.ts +1 -0
- package/constants/date-formats.contsants.js +4 -0
- package/constants/date-formats.contsants.ts +1 -0
- package/db/brokers.db.d.ts +185 -0
- package/db/brokers.db.js +35 -2
- package/db/brokers.db.ts +34 -1
- package/db/collateral-adjustments.db.d.ts +34 -0
- package/db/collateral-adjustments.db.js +52 -0
- package/db/collateral-adjustments.db.ts +54 -0
- package/db/collaterals.db.d.ts +1 -1
- package/db/equipment.db.d.ts +40 -0
- package/db/equipment.db.js +55 -0
- package/db/equipment.db.ts +56 -0
- package/db/financial-spreading.db.ts +2 -1
- package/db/groups.d.ts +5 -0
- package/db/groups.js +57 -0
- package/db/groups.ts +52 -0
- package/db/inventories.d.ts +91 -0
- package/db/inventories.js +449 -0
- package/db/inventories.ts +481 -0
- package/db/inventory-availability.d.ts +3 -0
- package/db/inventory-availability.js +103 -0
- package/db/inventory-availability.ts +113 -0
- package/db/new-summary.d.ts +31 -0
- package/db/new-summary.js +1295 -0
- package/db/new-summary.ts +1509 -0
- package/db/payable-accounts.d.ts +30 -0
- package/db/payable-accounts.js +55 -0
- package/db/payable-accounts.ts +50 -0
- package/db/reserve.db.d.ts +34 -0
- package/db/reserve.db.js +52 -0
- package/db/reserve.db.ts +48 -0
- package/db/uploads.db.d.ts +2 -0
- package/db/uploads.db.js +29 -0
- package/db/uploads.db.ts +24 -0
- package/helpers/main.helper.d.ts +31 -0
- package/helpers/main.helper.js +63 -0
- package/helpers/main.helper.ts +63 -0
- package/models/AccountPayableItem.model.d.ts +6 -6
- package/models/AllocatedBankTransaction.model.d.ts +54 -0
- package/models/AllocatedBankTransaction.model.js +70 -0
- package/models/AllocatedBankTransaction.model.ts +94 -0
- package/models/AllocatedData.model.d.ts +33 -0
- package/models/AllocatedData.model.js +19 -0
- package/models/AllocatedData.model.ts +24 -0
- package/models/BBCDate.model.d.ts +3 -3
- package/models/BBCSheet.model.d.ts +3 -3
- package/models/Banks.model.d.ts +3 -3
- package/models/Borrower.model.d.ts +3 -3
- package/models/BorrowerData.model.d.ts +3 -3
- package/models/BorrowerDataInsurance.model.d.ts +3 -3
- package/models/BorrowerDataTerm.model.d.ts +3 -3
- package/models/BorrowerSummary.model.js +1 -1
- package/models/BorrowerSummary.model.ts +1 -1
- package/models/CalandarDay.model.d.ts +40 -0
- package/models/CalandarDay.model.js +47 -0
- package/models/CalandarDay.model.ts +61 -0
- package/models/CashAllocationProduct.model.d.ts +119 -0
- package/models/CashAllocationProduct.model.js +102 -0
- package/models/CashAllocationProduct.model.ts +112 -0
- package/models/CashAllocationReference.model.d.ts +37 -0
- package/models/CashAllocationReference.model.js +27 -0
- package/models/CashAllocationReference.model.ts +40 -0
- package/models/CollateralAdjustment.model.d.ts +51 -0
- package/models/CollateralAdjustment.model.js +61 -0
- package/models/CollateralAdjustment.model.ts +98 -0
- package/models/Company.model.d.ts +35 -0
- package/models/Company.model.js +18 -0
- package/models/Company.model.ts +29 -0
- package/models/CustomerAPGroup.model.d.ts +32 -0
- package/models/CustomerAPGroup.model.js +24 -0
- package/models/CustomerAPGroup.model.ts +31 -0
- package/models/Equipment.model.d.ts +53 -0
- package/models/Equipment.model.js +140 -0
- package/models/Equipment.model.ts +172 -0
- package/models/FinancialCompliance.model.d.ts +39 -0
- package/models/FinancialCompliance.model.js +64 -0
- package/models/FinancialCompliance.model.ts +78 -0
- package/models/FinancialComplianceBorrower.model.d.ts +58 -0
- package/models/FinancialComplianceBorrower.model.js +82 -0
- package/models/FinancialComplianceBorrower.model.ts +118 -0
- package/models/FinancialIndexes.model.d.ts +36 -0
- package/models/FinancialIndexes.model.js +27 -0
- package/models/FinancialIndexes.model.ts +37 -0
- package/models/Inventory.model.d.ts +18 -18
- package/models/InventoryAvailability.model.d.ts +21 -21
- package/models/InventoryAvailabilityItem.model.d.ts +6 -6
- package/models/InventoryItem.model.d.ts +24 -24
- package/models/InventoryManualEntry.model.d.ts +9 -9
- package/models/InventorySeasonalRates.model.d.ts +3 -3
- package/models/LoanBroker.model.d.ts +3 -3
- package/models/LoanCharges.model.d.ts +12 -12
- package/models/LoanProducts.model.d.ts +9 -9
- package/models/LoanStatementStatus.model.d.ts +35 -0
- package/models/LoanStatementStatus.model.js +34 -0
- package/models/LoanStatementStatus.model.ts +45 -0
- package/models/LoanStatementTransaction.model.d.ts +9 -9
- package/models/LoanTransactionFile.model.d.ts +41 -0
- package/models/LoanTransactionFile.model.js +44 -0
- package/models/LoanTransactionFile.model.ts +61 -0
- package/models/MappedGroup.model.d.ts +37 -0
- package/models/MappedGroup.model.js +33 -0
- package/models/MappedGroup.model.ts +46 -0
- package/models/MonthEndData.Model.d.ts +41 -0
- package/models/MonthEndData.Model.js +42 -0
- package/models/MonthEndData.Model.ts +53 -0
- package/models/OrganizationEmails.model.d.ts +44 -0
- package/models/OrganizationEmails.model.js +40 -0
- package/models/OrganizationEmails.model.ts +54 -0
- package/models/ProductBroker.model.d.ts +9 -9
- package/models/QuickbooksAccount.model.d.ts +39 -0
- package/models/QuickbooksAccount.model.js +43 -0
- package/models/QuickbooksAccount.model.ts +57 -0
- package/models/Receivable.model.d.ts +12 -12
- package/models/ReceivableAvailability.model.d.ts +54 -54
- package/models/ReceivableAvailabilityItem.model.d.ts +57 -57
- package/models/ReceivableItem.model.d.ts +6 -6
- package/models/Reserve.model.d.ts +51 -0
- package/models/Reserve.model.js +96 -0
- package/models/Reserve.model.ts +125 -0
- package/models/TermLoan.model.d.ts +3 -3
- package/models/TermLoanCalculated.model.d.ts +6 -6
- package/models/TransactionAttachedFile.Model.d.ts +35 -0
- package/models/TransactionAttachedFile.Model.js +37 -0
- package/models/TransactionAttachedFile.Model.ts +48 -0
- package/models/UploadedBankTransaction.model.d.ts +56 -0
- package/models/UploadedBankTransaction.model.js +78 -0
- package/models/UploadedBankTransaction.model.ts +110 -0
- package/models/UploadedData.model.d.ts +36 -0
- package/models/UploadedData.model.js +23 -0
- package/models/UploadedData.model.ts +35 -0
- package/models/UploadedFile.model.d.ts +40 -0
- package/models/UploadedFile.model.js +41 -0
- package/models/UploadedFile.model.ts +57 -0
- package/models/UploadedSheet.model.d.ts +46 -0
- package/models/UploadedSheet.model.js +27 -0
- package/models/UploadedSheet.model.ts +51 -0
- package/package.json +10 -1
- package/repositories/globals.repository.d.ts +8 -0
- package/repositories/globals.repository.js +24 -0
- package/repositories/globals.repository.ts +21 -0
- package/services/attached-files.service.d.ts +57 -0
- package/services/attached-files.service.js +103 -0
- package/services/attached-files.service.ts +123 -0
- package/services/availability.service.d.ts +77 -0
- package/services/availability.service.js +897 -0
- package/services/availability.service.ts +1034 -0
- package/services/bank-uploaded-transactions.service.d.ts +33 -0
- package/services/bank-uploaded-transactions.service.js +430 -0
- package/services/bank-uploaded-transactions.service.ts +475 -0
- package/services/banks.service.d.ts +36 -0
- package/services/banks.service.js +91 -0
- package/services/banks.service.ts +95 -0
- package/services/borrower-summary.service.d.ts +35 -0
- package/services/borrower-summary.service.js +310 -0
- package/services/borrower-summary.service.ts +334 -0
- package/services/borrowers.service.d.ts +103 -0
- package/services/borrowers.service.js +268 -0
- package/services/borrowers.service.ts +302 -0
- package/services/brokers.service.d.ts +212 -0
- package/services/brokers.service.js +160 -0
- package/services/brokers.service.ts +200 -0
- package/services/calendar.service.d.ts +53 -0
- package/services/calendar.service.js +108 -0
- package/services/calendar.service.ts +128 -0
- package/services/cash-allocation.service.d.ts +40 -0
- package/services/cash-allocation.service.js +92 -0
- package/services/cash-allocation.service.ts +105 -0
- package/services/collateral-adjustments.service.d.ts +38 -0
- package/services/collateral-adjustments.service.js +82 -0
- package/services/collateral-adjustments.service.ts +95 -0
- package/services/collaterals.service.d.ts +69 -0
- package/services/collaterals.service.js +279 -0
- package/services/collaterals.service.ts +319 -0
- package/services/companies.service.d.ts +5 -0
- package/services/companies.service.js +21 -0
- package/services/companies.service.ts +23 -0
- package/services/compliance-borrowers.service.d.ts +152 -0
- package/services/compliance-borrowers.service.js +569 -0
- package/services/compliance-borrowers.service.ts +617 -0
- package/services/equipment.service.d.ts +42 -0
- package/services/equipment.service.js +120 -0
- package/services/equipment.service.ts +149 -0
- package/services/file-manager.service.d.ts +44 -0
- package/services/file-manager.service.js +120 -0
- package/services/file-manager.service.ts +146 -0
- package/services/financial-compliance.service.d.ts +58 -0
- package/services/financial-compliance.service.js +281 -0
- package/services/financial-compliance.service.ts +309 -0
- package/services/financial-indexes.service.d.ts +20 -0
- package/services/financial-indexes.service.js +241 -0
- package/services/financial-indexes.service.ts +257 -0
- package/services/financial-spreading.service.d.ts +74 -0
- package/services/financial-spreading.service.js +450 -0
- package/services/financial-spreading.service.ts +517 -0
- package/services/globals.service.d.ts +5 -0
- package/services/globals.service.js +11 -0
- package/services/globals.service.ts +8 -0
- package/services/groups.service.d.ts +39 -0
- package/services/groups.service.js +65 -0
- package/services/groups.service.ts +64 -0
- package/services/inventory-availability.service.d.ts +13 -0
- package/services/inventory-availability.service.js +170 -0
- package/services/inventory-availability.service.ts +187 -0
- package/services/inventory.service.d.ts +118 -0
- package/services/inventory.service.js +239 -0
- package/services/inventory.service.ts +276 -0
- package/services/loan-charges.service.d.ts +83 -0
- package/services/loan-charges.service.js +343 -0
- package/services/loan-charges.service.ts +396 -0
- package/services/loan-payments.service.d.ts +94 -0
- package/services/loan-payments.service.js +485 -0
- package/services/loan-payments.service.ts +541 -0
- package/services/loan-products.service.d.ts +12 -0
- package/services/loan-products.service.js +55 -0
- package/services/loan-products.service.ts +58 -0
- package/services/loan-statement-balance.service.d.ts +16 -0
- package/services/loan-statement-balance.service.js +106 -0
- package/services/loan-statement-balance.service.ts +113 -0
- package/services/loan-statement-effects.service.d.ts +8 -0
- package/services/loan-statement-effects.service.js +42 -0
- package/services/loan-statement-effects.service.ts +41 -0
- package/services/loan-statement-status.service.d.ts +208 -0
- package/services/loan-statement-status.service.js +159 -0
- package/services/loan-statement-status.service.ts +177 -0
- package/services/loan-statement.service.d.ts +186 -0
- package/services/loan-statement.service.js +935 -0
- package/services/loan-statement.service.ts +1040 -0
- package/services/loan-transactions.service.d.ts +169 -0
- package/services/loan-transactions.service.js +941 -0
- package/services/loan-transactions.service.ts +1042 -0
- package/services/lock.service.d.ts +6 -0
- package/services/lock.service.js +45 -0
- package/services/lock.service.ts +45 -0
- package/services/manual-entry.service.d.ts +20 -0
- package/services/manual-entry.service.js +186 -0
- package/services/manual-entry.service.ts +201 -0
- package/services/month-end-data.service.d.ts +34 -0
- package/services/month-end-data.service.js +30 -0
- package/services/month-end-data.service.ts +35 -0
- package/services/nodemailer.service.d.ts +96 -0
- package/services/nodemailer.service.js +689 -0
- package/services/nodemailer.service.ts +774 -0
- package/services/organization-emails.service.d.ts +31 -0
- package/services/organization-emails.service.js +10 -0
- package/services/organization-emails.service.ts +7 -0
- package/services/organizations.service.d.ts +34 -0
- package/services/organizations.service.js +74 -0
- package/services/organizations.service.ts +84 -0
- package/services/pdf.service.d.ts +61 -0
- package/services/pdf.service.js +547 -0
- package/services/pdf.service.ts +642 -0
- package/services/quickbooks.service.d.ts +99 -0
- package/services/quickbooks.service.js +640 -0
- package/services/quickbooks.service.ts +734 -0
- package/services/reports/investor-summary.service.d.ts +28 -0
- package/services/reports/investor-summary.service.js +136 -0
- package/services/reports/investor-summary.service.ts +159 -0
- package/services/reports.service.d.ts +126 -0
- package/services/reports.service.js +584 -0
- package/services/reports.service.ts +702 -0
- package/services/reserve.service.d.ts +37 -0
- package/services/reserve.service.js +76 -0
- package/services/reserve.service.ts +79 -0
- package/services/sentry.service.d.ts +11 -0
- package/services/sentry.service.js +49 -0
- package/services/sentry.service.ts +33 -0
- package/services/signs.service.d.ts +69 -0
- package/services/signs.service.js +230 -0
- package/services/signs.service.ts +260 -0
- package/services/term-loan.service.d.ts +30 -0
- package/services/term-loan.service.js +614 -0
- package/services/term-loan.service.ts +696 -0
- package/services/uploads.service.d.ts +134 -0
- package/services/uploads.service.js +587 -0
- package/services/uploads.service.ts +643 -0
- package/services/user-logs.service.d.ts +23 -0
- package/services/user-logs.service.js +160 -0
- package/services/user-logs.service.ts +177 -0
- package/services/users.service.d.ts +4 -4
- package/services/yield.service.d.ts +46 -0
- package/services/yield.service.js +42 -12
- package/services/yield.service.ts +38 -8
- package/tsconfig.json +5 -5
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ReceivableItem = void 0;
|
|
7
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
+
const column_desciptions_helper_1 = require("../helpers/column-desciptions.helper");
|
|
9
|
+
const collaterals_enum_1 = require("../enums/collaterals.enum");
|
|
10
|
+
class ReceivableItem {
|
|
11
|
+
bbcDate = null;
|
|
12
|
+
invoiceDate = null;
|
|
13
|
+
invoiceNumber = '';
|
|
14
|
+
customerTitle = 'NO CUSTOMER';
|
|
15
|
+
dueDate = null;
|
|
16
|
+
invoiceAmount = 0;
|
|
17
|
+
originalAmount = 0;
|
|
18
|
+
invoiceDetail1 = '';
|
|
19
|
+
invoiceDetail2 = '';
|
|
20
|
+
invoiceDetail3 = '';
|
|
21
|
+
constructor(item, bbcDate = null) {
|
|
22
|
+
const itemWithDates = (0, column_desciptions_helper_1.convertIntoDates)(item, collaterals_enum_1.ECollaterals.RECEIVABLE);
|
|
23
|
+
const itemWithoutNulls = lodash_1.default.omitBy(itemWithDates, (value) => value === null);
|
|
24
|
+
Object.assign(this, itemWithoutNulls);
|
|
25
|
+
this.bbcDate = bbcDate;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.ReceivableItem = ReceivableItem;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import _ from 'lodash';
|
|
2
|
+
|
|
3
|
+
import { convertIntoDates } from '../helpers/column-desciptions.helper';
|
|
4
|
+
import { ECollaterals } from '../enums/collaterals.enum';
|
|
5
|
+
|
|
6
|
+
interface IReceivableItemLocal {
|
|
7
|
+
bbcDate: Date;
|
|
8
|
+
invoiceDate: Date;
|
|
9
|
+
invoiceNumber: string;
|
|
10
|
+
customerTitle: string;
|
|
11
|
+
dueDate: Date;
|
|
12
|
+
invoiceAmount: number;
|
|
13
|
+
originalAmount: number;
|
|
14
|
+
invoiceDetail1: string;
|
|
15
|
+
invoiceDetail2: string;
|
|
16
|
+
invoiceDetail3: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export class ReceivableItem implements IReceivableItemLocal {
|
|
20
|
+
|
|
21
|
+
bbcDate: Date = null;
|
|
22
|
+
invoiceDate: Date = null;
|
|
23
|
+
invoiceNumber: string = '';
|
|
24
|
+
customerTitle: string = 'NO CUSTOMER';
|
|
25
|
+
dueDate: Date = null;
|
|
26
|
+
invoiceAmount: number = 0;
|
|
27
|
+
originalAmount: number = 0;
|
|
28
|
+
invoiceDetail1: string = '';
|
|
29
|
+
invoiceDetail2: string = '';
|
|
30
|
+
invoiceDetail3: string = '';
|
|
31
|
+
|
|
32
|
+
constructor(item: Partial<ReceivableItem>, bbcDate = null) {
|
|
33
|
+
const itemWithDates = convertIntoDates(item, ECollaterals.RECEIVABLE);
|
|
34
|
+
const itemWithoutNulls = _.omitBy(itemWithDates, (value) => value === null);
|
|
35
|
+
Object.assign(this, itemWithoutNulls);
|
|
36
|
+
this.bbcDate = bbcDate;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const MAIN_DATE_FORMAT = "YYYY-MM-DD";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const MAIN_DATE_FORMAT = 'YYYY-MM-DD';
|
package/db/brokers.db.d.ts
CHANGED
|
@@ -1,5 +1,190 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/aggregate" />
|
|
2
|
+
/// <reference types="mongoose/types/callback" />
|
|
3
|
+
/// <reference types="mongoose/types/collection" />
|
|
4
|
+
/// <reference types="mongoose/types/connection" />
|
|
5
|
+
/// <reference types="mongoose/types/cursor" />
|
|
6
|
+
/// <reference types="mongoose/types/document" />
|
|
7
|
+
/// <reference types="mongoose/types/error" />
|
|
8
|
+
/// <reference types="mongoose/types/expressions" />
|
|
9
|
+
/// <reference types="mongoose/types/helpers" />
|
|
10
|
+
/// <reference types="mongoose/types/middlewares" />
|
|
11
|
+
/// <reference types="mongoose/types/indexes" />
|
|
12
|
+
/// <reference types="mongoose/types/models" />
|
|
13
|
+
/// <reference types="mongoose/types/mongooseoptions" />
|
|
14
|
+
/// <reference types="mongoose/types/pipelinestage" />
|
|
15
|
+
/// <reference types="mongoose/types/populate" />
|
|
16
|
+
/// <reference types="mongoose/types/query" />
|
|
17
|
+
/// <reference types="mongoose/types/schemaoptions" />
|
|
18
|
+
/// <reference types="mongoose/types/schematypes" />
|
|
19
|
+
/// <reference types="mongoose/types/session" />
|
|
20
|
+
/// <reference types="mongoose/types/types" />
|
|
21
|
+
/// <reference types="mongoose/types/utility" />
|
|
22
|
+
/// <reference types="mongoose/types/validation" />
|
|
23
|
+
/// <reference types="mongoose/types/virtuals" />
|
|
24
|
+
/// <reference types="mongoose/types/inferschematype" />
|
|
25
|
+
import mongoose from 'mongoose';
|
|
1
26
|
import { ILedgerDataRow } from './reports.db';
|
|
2
27
|
import { ILoanProductDoc } from '../models/LoanProducts.model';
|
|
3
28
|
import { IProductBrokerDocWithBroker } from '../models/ProductBroker.model';
|
|
4
29
|
export declare const getProductBrokers: (productId: string) => Promise<IProductBrokerDocWithBroker[]>;
|
|
5
30
|
export declare const enrichWithBrokers: (transactions: ILedgerDataRow[], product: ILoanProductDoc) => Promise<ILedgerDataRow[]>;
|
|
31
|
+
export declare const getBorrowerBrokers: (borrowerId: string) => Promise<(mongoose.FlattenMaps<import("../models/ProductBroker.model").IProductBrokerDoc> & {
|
|
32
|
+
_id: mongoose.Types.ObjectId;
|
|
33
|
+
})[]>;
|
|
34
|
+
export declare const getAllProductBrokers: () => Promise<(mongoose.FlattenMaps<import("../models/ProductBroker.model").IProductBrokerDoc> & {
|
|
35
|
+
_id: mongoose.Types.ObjectId;
|
|
36
|
+
})[]>;
|
|
37
|
+
export declare const getAllLoanBrokers: () => Promise<{
|
|
38
|
+
emails: mongoose.FlattenMaps<import("../models/LoanBroker.model").ILoanBrokerEmail>[];
|
|
39
|
+
order: number;
|
|
40
|
+
active: boolean;
|
|
41
|
+
name: string;
|
|
42
|
+
_id: any;
|
|
43
|
+
__v?: any;
|
|
44
|
+
$assertPopulated: <Paths = {}>(path: string | string[], values?: Partial<Paths>) => Omit<import("../models/LoanBroker.model").ILoanBrokerDoc, keyof Paths> & Paths;
|
|
45
|
+
$clone: () => import("../models/LoanBroker.model").ILoanBrokerDoc;
|
|
46
|
+
$getAllSubdocs: () => mongoose.Document<any, any, any>[];
|
|
47
|
+
$ignore: (path: string) => void;
|
|
48
|
+
$isDefault: (path: string) => boolean;
|
|
49
|
+
$isDeleted: (val?: boolean) => boolean;
|
|
50
|
+
$getPopulatedDocs: () => mongoose.Document<any, any, any>[];
|
|
51
|
+
$inc: (path: string | string[], val?: number) => import("../models/LoanBroker.model").ILoanBrokerDoc;
|
|
52
|
+
$isEmpty: (path: string) => boolean;
|
|
53
|
+
$isValid: (path: string) => boolean;
|
|
54
|
+
$locals: mongoose.FlattenMaps<Record<string, unknown>>;
|
|
55
|
+
$markValid: (path: string) => void;
|
|
56
|
+
$model: {
|
|
57
|
+
<ModelType = mongoose.Model<unknown, {}, {}, {}, mongoose.Document<unknown, {}, unknown> & Required<{
|
|
58
|
+
_id: unknown;
|
|
59
|
+
}>, any>>(name: string): ModelType;
|
|
60
|
+
<ModelType_1 = mongoose.Model<any, {}, {}, {}, any, any>>(): ModelType_1;
|
|
61
|
+
};
|
|
62
|
+
$op: "save" | "validate" | "remove";
|
|
63
|
+
$session: (session?: mongoose.mongo.ClientSession) => mongoose.mongo.ClientSession;
|
|
64
|
+
$set: {
|
|
65
|
+
(path: string | Record<string, any>, val: any, type: any, options?: mongoose.DocumentSetOptions): import("../models/LoanBroker.model").ILoanBrokerDoc;
|
|
66
|
+
(path: string | Record<string, any>, val: any, options?: mongoose.DocumentSetOptions): import("../models/LoanBroker.model").ILoanBrokerDoc;
|
|
67
|
+
(value: string | Record<string, any>): import("../models/LoanBroker.model").ILoanBrokerDoc;
|
|
68
|
+
};
|
|
69
|
+
$where: mongoose.FlattenMaps<Record<string, unknown>>;
|
|
70
|
+
baseModelName?: string;
|
|
71
|
+
collection: mongoose.Collection<mongoose.mongo.BSON.Document>;
|
|
72
|
+
db: mongoose.FlattenMaps<mongoose.Connection>;
|
|
73
|
+
deleteOne: (options?: mongoose.QueryOptions<unknown>) => any;
|
|
74
|
+
depopulate: (path?: string | string[]) => import("../models/LoanBroker.model").ILoanBrokerDoc;
|
|
75
|
+
directModifiedPaths: () => string[];
|
|
76
|
+
equals: (doc: mongoose.Document<any, any, any>) => boolean;
|
|
77
|
+
errors?: mongoose.Error.ValidationError;
|
|
78
|
+
get: {
|
|
79
|
+
<T extends string | number | symbol>(path: T, type?: any, options?: any): any;
|
|
80
|
+
(path: string, type?: any, options?: any): any;
|
|
81
|
+
};
|
|
82
|
+
getChanges: () => mongoose.UpdateQuery<import("../models/LoanBroker.model").ILoanBrokerDoc>;
|
|
83
|
+
id?: any;
|
|
84
|
+
increment: () => import("../models/LoanBroker.model").ILoanBrokerDoc;
|
|
85
|
+
init: (obj: mongoose.AnyObject, opts?: mongoose.AnyObject) => import("../models/LoanBroker.model").ILoanBrokerDoc;
|
|
86
|
+
invalidate: {
|
|
87
|
+
<T_1 extends string | number | symbol>(path: T_1, errorMsg: string | NativeError, value?: any, kind?: string): NativeError;
|
|
88
|
+
(path: string, errorMsg: string | NativeError, value?: any, kind?: string): NativeError;
|
|
89
|
+
};
|
|
90
|
+
isDirectModified: {
|
|
91
|
+
<T_2 extends string | number | symbol>(path: T_2 | T_2[]): boolean;
|
|
92
|
+
(path: string | string[]): boolean;
|
|
93
|
+
};
|
|
94
|
+
isDirectSelected: {
|
|
95
|
+
<T_3 extends string | number | symbol>(path: T_3): boolean;
|
|
96
|
+
(path: string): boolean;
|
|
97
|
+
};
|
|
98
|
+
isInit: {
|
|
99
|
+
<T_4 extends string | number | symbol>(path: T_4): boolean;
|
|
100
|
+
(path: string): boolean;
|
|
101
|
+
};
|
|
102
|
+
isModified: {
|
|
103
|
+
<T_5 extends string | number | symbol>(path?: T_5 | T_5[], options?: {
|
|
104
|
+
ignoreAtomics?: boolean;
|
|
105
|
+
}): boolean;
|
|
106
|
+
(path?: string | string[], options?: {
|
|
107
|
+
ignoreAtomics?: boolean;
|
|
108
|
+
}): boolean;
|
|
109
|
+
};
|
|
110
|
+
isNew: boolean;
|
|
111
|
+
isSelected: {
|
|
112
|
+
<T_6 extends string | number | symbol>(path: T_6): boolean;
|
|
113
|
+
(path: string): boolean;
|
|
114
|
+
};
|
|
115
|
+
markModified: {
|
|
116
|
+
<T_7 extends string | number | symbol>(path: T_7, scope?: any): void;
|
|
117
|
+
(path: string, scope?: any): void;
|
|
118
|
+
};
|
|
119
|
+
model: {
|
|
120
|
+
<ModelType_2 = mongoose.Model<unknown, {}, {}, {}, mongoose.Document<unknown, {}, unknown> & Required<{
|
|
121
|
+
_id: unknown;
|
|
122
|
+
}>, any>>(name: string): ModelType_2;
|
|
123
|
+
<ModelType_3 = mongoose.Model<any, {}, {}, {}, any, any>>(): ModelType_3;
|
|
124
|
+
};
|
|
125
|
+
modifiedPaths: (options?: {
|
|
126
|
+
includeChildren?: boolean;
|
|
127
|
+
}) => string[];
|
|
128
|
+
overwrite: (obj: mongoose.AnyObject) => import("../models/LoanBroker.model").ILoanBrokerDoc;
|
|
129
|
+
$parent: () => mongoose.Document<any, any, any>;
|
|
130
|
+
populate: {
|
|
131
|
+
<Paths_1 = {}>(path: string | mongoose.PopulateOptions | (string | mongoose.PopulateOptions)[]): Promise<mongoose.MergeType<import("../models/LoanBroker.model").ILoanBrokerDoc, Paths_1>>;
|
|
132
|
+
<Paths_2 = {}>(path: string, select?: string | mongoose.AnyObject, model?: mongoose.Model<any, {}, {}, {}, any, any>, match?: mongoose.AnyObject, options?: mongoose.PopulateOptions): Promise<mongoose.MergeType<import("../models/LoanBroker.model").ILoanBrokerDoc, Paths_2>>;
|
|
133
|
+
};
|
|
134
|
+
populated: (path: string) => any;
|
|
135
|
+
replaceOne: (replacement?: mongoose.AnyObject, options?: mongoose.QueryOptions<unknown>) => mongoose.Query<any, import("../models/LoanBroker.model").ILoanBrokerDoc, {}, import("../models/LoanBroker.model").ILoanBrokerDoc, "find">;
|
|
136
|
+
save: (options?: mongoose.SaveOptions) => Promise<import("../models/LoanBroker.model").ILoanBrokerDoc>;
|
|
137
|
+
schema: mongoose.FlattenMaps<mongoose.Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, {
|
|
138
|
+
[x: string]: unknown;
|
|
139
|
+
}, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
|
|
140
|
+
[x: string]: unknown;
|
|
141
|
+
}>> & mongoose.FlatRecord<{
|
|
142
|
+
[x: string]: unknown;
|
|
143
|
+
}> & Required<{
|
|
144
|
+
_id: unknown;
|
|
145
|
+
}>>>;
|
|
146
|
+
set: {
|
|
147
|
+
<T_8 extends string | number | symbol>(path: T_8, val: any, type: any, options?: mongoose.DocumentSetOptions): import("../models/LoanBroker.model").ILoanBrokerDoc;
|
|
148
|
+
(path: string | Record<string, any>, val: any, type: any, options?: mongoose.DocumentSetOptions): import("../models/LoanBroker.model").ILoanBrokerDoc;
|
|
149
|
+
(path: string | Record<string, any>, val: any, options?: mongoose.DocumentSetOptions): import("../models/LoanBroker.model").ILoanBrokerDoc;
|
|
150
|
+
(value: string | Record<string, any>): import("../models/LoanBroker.model").ILoanBrokerDoc;
|
|
151
|
+
};
|
|
152
|
+
toJSON: {
|
|
153
|
+
<T_9 = any>(options?: mongoose.ToObjectOptions<mongoose.Document<unknown, {}, unknown> & Required<{
|
|
154
|
+
_id: unknown;
|
|
155
|
+
}>> & {
|
|
156
|
+
flattenMaps?: true;
|
|
157
|
+
}): mongoose.FlattenMaps<T_9>;
|
|
158
|
+
<T_10 = any>(options: mongoose.ToObjectOptions<mongoose.Document<unknown, {}, unknown> & Required<{
|
|
159
|
+
_id: unknown;
|
|
160
|
+
}>> & {
|
|
161
|
+
flattenMaps: false;
|
|
162
|
+
}): T_10;
|
|
163
|
+
};
|
|
164
|
+
toObject: <T_11 = any>(options?: mongoose.ToObjectOptions<mongoose.Document<unknown, {}, unknown> & Required<{
|
|
165
|
+
_id: unknown;
|
|
166
|
+
}>>) => mongoose.Require_id<T_11>;
|
|
167
|
+
unmarkModified: {
|
|
168
|
+
<T_12 extends string | number | symbol>(path: T_12): void;
|
|
169
|
+
(path: string): void;
|
|
170
|
+
};
|
|
171
|
+
updateOne: (update?: mongoose.UpdateWithAggregationPipeline | mongoose.UpdateQuery<import("../models/LoanBroker.model").ILoanBrokerDoc>, options?: mongoose.QueryOptions<unknown>) => mongoose.Query<any, import("../models/LoanBroker.model").ILoanBrokerDoc, {}, import("../models/LoanBroker.model").ILoanBrokerDoc, "find">;
|
|
172
|
+
validate: {
|
|
173
|
+
<T_13 extends string | number | symbol>(pathsToValidate?: T_13 | T_13[], options?: mongoose.AnyObject): Promise<void>;
|
|
174
|
+
(pathsToValidate?: mongoose.PathsToValidate, options?: mongoose.AnyObject): Promise<void>;
|
|
175
|
+
(options: {
|
|
176
|
+
pathsToSkip?: mongoose.pathsToSkip;
|
|
177
|
+
}): Promise<void>;
|
|
178
|
+
};
|
|
179
|
+
validateSync: {
|
|
180
|
+
(options: {
|
|
181
|
+
[k: string]: any;
|
|
182
|
+
pathsToSkip?: mongoose.pathsToSkip;
|
|
183
|
+
}): mongoose.Error.ValidationError;
|
|
184
|
+
<T_14 extends string | number | symbol>(pathsToValidate?: T_14 | T_14[], options?: mongoose.AnyObject): mongoose.Error.ValidationError;
|
|
185
|
+
(pathsToValidate?: mongoose.PathsToValidate, options?: mongoose.AnyObject): mongoose.Error.ValidationError;
|
|
186
|
+
};
|
|
187
|
+
}[]>;
|
|
188
|
+
export declare const getBrokerProducts: (loanBrokerId: string) => Promise<(mongoose.FlattenMaps<import("../models/ProductBroker.model").IProductBrokerDoc> & {
|
|
189
|
+
_id: mongoose.Types.ObjectId;
|
|
190
|
+
})[]>;
|
package/db/brokers.db.js
CHANGED
|
@@ -3,12 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.enrichWithBrokers = exports.getProductBrokers = void 0;
|
|
6
|
+
exports.getBrokerProducts = exports.getAllLoanBrokers = exports.getAllProductBrokers = exports.getBorrowerBrokers = exports.enrichWithBrokers = exports.getProductBrokers = void 0;
|
|
7
7
|
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
8
8
|
const mongoose_1 = __importDefault(require("mongoose"));
|
|
9
|
+
const _models_1 = require("../models/_models");
|
|
9
10
|
const reports_db_1 = require("./reports.db");
|
|
10
11
|
const ProductBroker_model_1 = require("../models/ProductBroker.model");
|
|
11
|
-
const
|
|
12
|
+
const LoanBroker_model_1 = require("../models/LoanBroker.model");
|
|
12
13
|
const getProductBrokers = async (productId) => {
|
|
13
14
|
return ProductBroker_model_1.ProductBrokerModel.aggregate([
|
|
14
15
|
{
|
|
@@ -61,3 +62,35 @@ const enrichWithBrokers = async (transactions, product) => {
|
|
|
61
62
|
}, []);
|
|
62
63
|
};
|
|
63
64
|
exports.enrichWithBrokers = enrichWithBrokers;
|
|
65
|
+
const getBorrowerBrokers = async (borrowerId) => {
|
|
66
|
+
return ProductBroker_model_1.ProductBrokerModel
|
|
67
|
+
.find({ borrowerId }, { createdAt: 0, updatedAt: 0, __v: 0 })
|
|
68
|
+
.sort({ order: 1 })
|
|
69
|
+
.lean();
|
|
70
|
+
};
|
|
71
|
+
exports.getBorrowerBrokers = getBorrowerBrokers;
|
|
72
|
+
const getAllProductBrokers = async () => {
|
|
73
|
+
return ProductBroker_model_1.ProductBrokerModel
|
|
74
|
+
.find({}, { createdAt: 0, updatedAt: 0, __v: 0 })
|
|
75
|
+
.sort({ order: 1 })
|
|
76
|
+
.lean();
|
|
77
|
+
};
|
|
78
|
+
exports.getAllProductBrokers = getAllProductBrokers;
|
|
79
|
+
const getAllLoanBrokers = async () => {
|
|
80
|
+
const results = await LoanBroker_model_1.LoanBrokerModel
|
|
81
|
+
.find({}, { createdAt: 0, updatedAt: 0, __v: 0 })
|
|
82
|
+
.sort({ order: 1 })
|
|
83
|
+
.lean();
|
|
84
|
+
return results.map((result) => ({
|
|
85
|
+
...result,
|
|
86
|
+
emails: result.emails ?? [],
|
|
87
|
+
}));
|
|
88
|
+
};
|
|
89
|
+
exports.getAllLoanBrokers = getAllLoanBrokers;
|
|
90
|
+
const getBrokerProducts = async (loanBrokerId) => {
|
|
91
|
+
return ProductBroker_model_1.ProductBrokerModel
|
|
92
|
+
.find({ loanBrokerId }, { createdAt: 0, updatedAt: 0, __v: 0 })
|
|
93
|
+
.sort({ order: 1, BSCode: 1, PLCode: 1 })
|
|
94
|
+
.lean();
|
|
95
|
+
};
|
|
96
|
+
exports.getBrokerProducts = getBrokerProducts;
|
package/db/brokers.db.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import Decimal from 'decimal.js';
|
|
2
2
|
import mongoose from 'mongoose';
|
|
3
3
|
|
|
4
|
+
import { MODEL_NAMES } from '../models/_models';
|
|
4
5
|
import { EChargeType, ILedgerDataRow } from './reports.db';
|
|
5
6
|
import { ILoanProductDoc } from '../models/LoanProducts.model';
|
|
6
7
|
import { IProductBrokerDocWithBroker, ProductBrokerModel } from '../models/ProductBroker.model';
|
|
7
|
-
import {
|
|
8
|
+
import { LoanBrokerModel } from '../models/LoanBroker.model';
|
|
8
9
|
|
|
9
10
|
export const getProductBrokers = async (productId: string) => {
|
|
10
11
|
return ProductBrokerModel.aggregate<IProductBrokerDocWithBroker>([
|
|
@@ -59,3 +60,35 @@ export const enrichWithBrokers = async (transactions: ILedgerDataRow[], product:
|
|
|
59
60
|
return handler ? [...acc, t, ...productBrokers.map((broker) => handler(t, broker))] : [...acc, t];
|
|
60
61
|
}, <ILedgerDataRow[]>[]);
|
|
61
62
|
};
|
|
63
|
+
|
|
64
|
+
export const getBorrowerBrokers = async (borrowerId: string) => {
|
|
65
|
+
return ProductBrokerModel
|
|
66
|
+
.find({ borrowerId }, { createdAt: 0, updatedAt: 0, __v: 0 })
|
|
67
|
+
.sort({ order: 1 })
|
|
68
|
+
.lean();
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export const getAllProductBrokers = async () => {
|
|
72
|
+
return ProductBrokerModel
|
|
73
|
+
.find({}, { createdAt: 0, updatedAt: 0, __v: 0 })
|
|
74
|
+
.sort({ order: 1 })
|
|
75
|
+
.lean();
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export const getAllLoanBrokers = async () => {
|
|
79
|
+
const results = await LoanBrokerModel
|
|
80
|
+
.find({}, { createdAt: 0, updatedAt: 0, __v: 0 })
|
|
81
|
+
.sort({ order: 1 })
|
|
82
|
+
.lean();
|
|
83
|
+
return results.map((result) => ({
|
|
84
|
+
...result,
|
|
85
|
+
emails: result.emails ?? [],
|
|
86
|
+
}));
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
export const getBrokerProducts = async (loanBrokerId: string) => {
|
|
90
|
+
return ProductBrokerModel
|
|
91
|
+
.find({ loanBrokerId }, { createdAt: 0, updatedAt: 0, __v: 0 })
|
|
92
|
+
.sort({ order: 1, BSCode: 1, PLCode: 1 })
|
|
93
|
+
.lean();
|
|
94
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/aggregate" />
|
|
2
|
+
/// <reference types="mongoose/types/callback" />
|
|
3
|
+
/// <reference types="mongoose/types/collection" />
|
|
4
|
+
/// <reference types="mongoose/types/connection" />
|
|
5
|
+
/// <reference types="mongoose/types/cursor" />
|
|
6
|
+
/// <reference types="mongoose/types/document" />
|
|
7
|
+
/// <reference types="mongoose/types/error" />
|
|
8
|
+
/// <reference types="mongoose/types/expressions" />
|
|
9
|
+
/// <reference types="mongoose/types/helpers" />
|
|
10
|
+
/// <reference types="mongoose/types/middlewares" />
|
|
11
|
+
/// <reference types="mongoose/types/indexes" />
|
|
12
|
+
/// <reference types="mongoose/types/models" />
|
|
13
|
+
/// <reference types="mongoose/types/mongooseoptions" />
|
|
14
|
+
/// <reference types="mongoose/types/pipelinestage" />
|
|
15
|
+
/// <reference types="mongoose/types/populate" />
|
|
16
|
+
/// <reference types="mongoose/types/query" />
|
|
17
|
+
/// <reference types="mongoose/types/schemaoptions" />
|
|
18
|
+
/// <reference types="mongoose/types/schematypes" />
|
|
19
|
+
/// <reference types="mongoose/types/session" />
|
|
20
|
+
/// <reference types="mongoose/types/types" />
|
|
21
|
+
/// <reference types="mongoose/types/utility" />
|
|
22
|
+
/// <reference types="mongoose/types/validation" />
|
|
23
|
+
/// <reference types="mongoose/types/virtuals" />
|
|
24
|
+
/// <reference types="mongoose/types/inferschematype" />
|
|
25
|
+
import mongoose from 'mongoose';
|
|
26
|
+
import { ICollateralAdjustment, ICollateralAdjustmentDoc, ICollateralAdjustmentItem, ICollateralAdjustmentSummary } from '../models/CollateralAdjustment.model';
|
|
27
|
+
export declare const getCollateralAdjustmentDocs: (bbcDateIds: mongoose.Types.ObjectId[]) => Promise<ICollateralAdjustmentDoc[]>;
|
|
28
|
+
export declare const saveCollateralAdjustmentDoc: (bbcDateId: mongoose.Types.ObjectId, collateralAdjustmentUpdate: Partial<ICollateralAdjustment>) => Promise<mongoose.FlattenMaps<ICollateralAdjustment> & {
|
|
29
|
+
_id: mongoose.Types.ObjectId;
|
|
30
|
+
}>;
|
|
31
|
+
export declare const copyCollateralAdjustmentWithoutSaving: (bbcDateId: mongoose.Types.ObjectId, items: ICollateralAdjustmentItem[], summary: ICollateralAdjustmentSummary) => Promise<mongoose.Document<unknown, {}, ICollateralAdjustment> & ICollateralAdjustment & {
|
|
32
|
+
_id: mongoose.Types.ObjectId;
|
|
33
|
+
}>;
|
|
34
|
+
export declare const getLastCollateralAdjustmentDocs: (bbcDateId: string, borrowerId: string) => Promise<ICollateralAdjustmentDoc[]>;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getLastCollateralAdjustmentDocs = exports.copyCollateralAdjustmentWithoutSaving = exports.saveCollateralAdjustmentDoc = exports.getCollateralAdjustmentDocs = void 0;
|
|
7
|
+
const mongoose_1 = __importDefault(require("mongoose"));
|
|
8
|
+
const bbcDates_db_1 = require("./bbcDates.db");
|
|
9
|
+
const CollateralAdjustment_model_1 = require("../models/CollateralAdjustment.model");
|
|
10
|
+
const getCollateralAdjustmentDocs = async (bbcDateIds) => {
|
|
11
|
+
return CollateralAdjustment_model_1.CollateralAdjustment.aggregate([
|
|
12
|
+
{
|
|
13
|
+
$match: {
|
|
14
|
+
'bbcDateId': {
|
|
15
|
+
$in: bbcDateIds,
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
]);
|
|
20
|
+
};
|
|
21
|
+
exports.getCollateralAdjustmentDocs = getCollateralAdjustmentDocs;
|
|
22
|
+
const saveCollateralAdjustmentDoc = async (bbcDateId, collateralAdjustmentUpdate) => {
|
|
23
|
+
return CollateralAdjustment_model_1.CollateralAdjustment
|
|
24
|
+
.findOneAndUpdate({ bbcDateId }, collateralAdjustmentUpdate, { upsert: true, new: true })
|
|
25
|
+
.lean();
|
|
26
|
+
};
|
|
27
|
+
exports.saveCollateralAdjustmentDoc = saveCollateralAdjustmentDoc;
|
|
28
|
+
const copyCollateralAdjustmentWithoutSaving = async (bbcDateId, items, summary) => {
|
|
29
|
+
return new CollateralAdjustment_model_1.CollateralAdjustment({ bbcDateId, items, summary });
|
|
30
|
+
};
|
|
31
|
+
exports.copyCollateralAdjustmentWithoutSaving = copyCollateralAdjustmentWithoutSaving;
|
|
32
|
+
const getLastCollateralAdjustmentDocs = async (bbcDateId, borrowerId) => {
|
|
33
|
+
const bbcDates = await (0, bbcDates_db_1.getBBCDatesByBorrower)(borrowerId);
|
|
34
|
+
const bbcDateIds = bbcDates.map((bbc) => bbc._id);
|
|
35
|
+
return CollateralAdjustment_model_1.CollateralAdjustment.aggregate([
|
|
36
|
+
{
|
|
37
|
+
$match: {
|
|
38
|
+
$and: [
|
|
39
|
+
{ 'bbcDateId': { $in: bbcDateIds } },
|
|
40
|
+
{ 'bbcDateId': { $ne: new mongoose_1.default.Types.ObjectId(bbcDateId) } },
|
|
41
|
+
],
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
$sort: { 'updatedAt': -1 },
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
$limit: 1,
|
|
49
|
+
},
|
|
50
|
+
]);
|
|
51
|
+
};
|
|
52
|
+
exports.getLastCollateralAdjustmentDocs = getLastCollateralAdjustmentDocs;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import mongoose from 'mongoose';
|
|
2
|
+
|
|
3
|
+
import { getBBCDatesByBorrower } from './bbcDates.db';
|
|
4
|
+
import {
|
|
5
|
+
CollateralAdjustment,
|
|
6
|
+
ICollateralAdjustment,
|
|
7
|
+
ICollateralAdjustmentDoc,
|
|
8
|
+
ICollateralAdjustmentItem,
|
|
9
|
+
ICollateralAdjustmentSummary,
|
|
10
|
+
} from '../models/CollateralAdjustment.model';
|
|
11
|
+
|
|
12
|
+
export const getCollateralAdjustmentDocs = async (bbcDateIds: mongoose.Types.ObjectId[]) => {
|
|
13
|
+
return CollateralAdjustment.aggregate<ICollateralAdjustmentDoc>([
|
|
14
|
+
{
|
|
15
|
+
$match: {
|
|
16
|
+
'bbcDateId': {
|
|
17
|
+
$in: bbcDateIds,
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
]);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export const saveCollateralAdjustmentDoc = async (bbcDateId: mongoose.Types.ObjectId, collateralAdjustmentUpdate: Partial<ICollateralAdjustment>) => {
|
|
25
|
+
return CollateralAdjustment
|
|
26
|
+
.findOneAndUpdate({ bbcDateId }, collateralAdjustmentUpdate, { upsert: true, new: true })
|
|
27
|
+
.lean();
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export const copyCollateralAdjustmentWithoutSaving = async (bbcDateId: mongoose.Types.ObjectId, items: ICollateralAdjustmentItem[], summary: ICollateralAdjustmentSummary) => {
|
|
31
|
+
return new CollateralAdjustment({ bbcDateId, items, summary });
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export const getLastCollateralAdjustmentDocs = async (bbcDateId: string, borrowerId: string) => {
|
|
35
|
+
const bbcDates = await getBBCDatesByBorrower(borrowerId);
|
|
36
|
+
const bbcDateIds = bbcDates.map((bbc) => bbc._id);
|
|
37
|
+
return CollateralAdjustment.aggregate<ICollateralAdjustmentDoc>([
|
|
38
|
+
{
|
|
39
|
+
$match:
|
|
40
|
+
{
|
|
41
|
+
$and: [
|
|
42
|
+
{ 'bbcDateId': { $in: bbcDateIds } },
|
|
43
|
+
{ 'bbcDateId': { $ne: new mongoose.Types.ObjectId(bbcDateId) } },
|
|
44
|
+
],
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
$sort: { 'updatedAt': -1 },
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
$limit: 1,
|
|
52
|
+
},
|
|
53
|
+
]);
|
|
54
|
+
};
|
package/db/collaterals.db.d.ts
CHANGED
|
@@ -75,7 +75,7 @@ export declare const createQuery: (groupFields: {
|
|
|
75
75
|
};
|
|
76
76
|
};
|
|
77
77
|
itemQueries: any;
|
|
78
|
-
enumKey: "
|
|
78
|
+
enumKey: "OTHER" | "INVENTORY" | "RECEIVABLE" | "ACCOUNT_PAYABLE" | "CASH" | "LOAN_TRANSACTIONS" | "QUICKBOOKS" | "UPLOADED_BANK_TRANSACTIONS";
|
|
79
79
|
};
|
|
80
80
|
export declare const ITEMS_PAGINATION: (paginatorOptions: IPaginatorOptions) => ({
|
|
81
81
|
$skip: number;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/aggregate" />
|
|
2
|
+
/// <reference types="mongoose/types/callback" />
|
|
3
|
+
/// <reference types="mongoose/types/collection" />
|
|
4
|
+
/// <reference types="mongoose/types/connection" />
|
|
5
|
+
/// <reference types="mongoose/types/cursor" />
|
|
6
|
+
/// <reference types="mongoose/types/document" />
|
|
7
|
+
/// <reference types="mongoose/types/error" />
|
|
8
|
+
/// <reference types="mongoose/types/expressions" />
|
|
9
|
+
/// <reference types="mongoose/types/helpers" />
|
|
10
|
+
/// <reference types="mongoose/types/middlewares" />
|
|
11
|
+
/// <reference types="mongoose/types/indexes" />
|
|
12
|
+
/// <reference types="mongoose/types/models" />
|
|
13
|
+
/// <reference types="mongoose/types/mongooseoptions" />
|
|
14
|
+
/// <reference types="mongoose/types/pipelinestage" />
|
|
15
|
+
/// <reference types="mongoose/types/populate" />
|
|
16
|
+
/// <reference types="mongoose/types/query" />
|
|
17
|
+
/// <reference types="mongoose/types/schemaoptions" />
|
|
18
|
+
/// <reference types="mongoose/types/schematypes" />
|
|
19
|
+
/// <reference types="mongoose/types/session" />
|
|
20
|
+
/// <reference types="mongoose/types/types" />
|
|
21
|
+
/// <reference types="mongoose/types/utility" />
|
|
22
|
+
/// <reference types="mongoose/types/validation" />
|
|
23
|
+
/// <reference types="mongoose/types/virtuals" />
|
|
24
|
+
/// <reference types="mongoose/types/inferschematype" />
|
|
25
|
+
import mongoose from 'mongoose';
|
|
26
|
+
import { IEquipmentDoc, IEquipmentItem, IEquipmentSummary } from '../models/Equipment.model';
|
|
27
|
+
export declare const getEquipmentDates: (borrowerId: string) => Promise<IEquipmentDoc[]>;
|
|
28
|
+
export declare const getEquipment: (borrowerId: string, date: Date) => Promise<mongoose.FlattenMaps<IEquipmentDoc> & {
|
|
29
|
+
_id: mongoose.Types.ObjectId;
|
|
30
|
+
}>;
|
|
31
|
+
export declare const deleteEquipment: (borrowerId: string, date: Date) => Promise<mongoose.Document<unknown, {}, IEquipmentDoc> & IEquipmentDoc & {
|
|
32
|
+
_id: mongoose.Types.ObjectId;
|
|
33
|
+
}>;
|
|
34
|
+
export declare const getLatestEquipments: (borrowerId: string, date: Date) => Promise<IEquipmentDoc[]>;
|
|
35
|
+
export declare const saveEquipmentDoc: (borrowerId: string, date: Date, items: IEquipmentItem[], summary: IEquipmentSummary) => Promise<mongoose.FlattenMaps<IEquipmentDoc> & {
|
|
36
|
+
_id: mongoose.Types.ObjectId;
|
|
37
|
+
}>;
|
|
38
|
+
export declare const copyEquipmentWithoutSaving: (borrower: string, date: Date, items: IEquipmentItem[], summary: IEquipmentSummary) => Promise<mongoose.Document<unknown, {}, IEquipmentDoc> & IEquipmentDoc & {
|
|
39
|
+
_id: mongoose.Types.ObjectId;
|
|
40
|
+
}>;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.copyEquipmentWithoutSaving = exports.saveEquipmentDoc = exports.getLatestEquipments = exports.deleteEquipment = exports.getEquipment = exports.getEquipmentDates = void 0;
|
|
7
|
+
const mongoose_1 = __importDefault(require("mongoose"));
|
|
8
|
+
const Equipment_model_1 = __importDefault(require("../models/Equipment.model"));
|
|
9
|
+
const getEquipmentDates = async (borrowerId) => {
|
|
10
|
+
return Equipment_model_1.default.aggregate([
|
|
11
|
+
{
|
|
12
|
+
$match: {
|
|
13
|
+
'borrowerId': new mongoose_1.default.Types.ObjectId(borrowerId),
|
|
14
|
+
},
|
|
15
|
+
}, {
|
|
16
|
+
$sort: { 'date': -1 },
|
|
17
|
+
},
|
|
18
|
+
]);
|
|
19
|
+
};
|
|
20
|
+
exports.getEquipmentDates = getEquipmentDates;
|
|
21
|
+
const getEquipment = async (borrowerId, date) => {
|
|
22
|
+
return Equipment_model_1.default.findOne({ 'borrowerId': new mongoose_1.default.Types.ObjectId(borrowerId), 'date': date }).lean();
|
|
23
|
+
};
|
|
24
|
+
exports.getEquipment = getEquipment;
|
|
25
|
+
const deleteEquipment = async (borrowerId, date) => {
|
|
26
|
+
return Equipment_model_1.default.findOneAndDelete({ 'borrowerId': new mongoose_1.default.Types.ObjectId(borrowerId), 'date': date });
|
|
27
|
+
};
|
|
28
|
+
exports.deleteEquipment = deleteEquipment;
|
|
29
|
+
const getLatestEquipments = async (borrowerId, date) => {
|
|
30
|
+
return Equipment_model_1.default.aggregate([
|
|
31
|
+
{
|
|
32
|
+
$match: {
|
|
33
|
+
'borrowerId': new mongoose_1.default.Types.ObjectId(borrowerId),
|
|
34
|
+
'date': { $lte: date },
|
|
35
|
+
},
|
|
36
|
+
}, {
|
|
37
|
+
$sort: { 'date': -1 },
|
|
38
|
+
}, {
|
|
39
|
+
$limit: 1,
|
|
40
|
+
},
|
|
41
|
+
]);
|
|
42
|
+
};
|
|
43
|
+
exports.getLatestEquipments = getLatestEquipments;
|
|
44
|
+
const saveEquipmentDoc = async (borrowerId, date, items, summary) => {
|
|
45
|
+
return Equipment_model_1.default
|
|
46
|
+
.findOneAndUpdate({ borrowerId: new mongoose_1.default.Types.ObjectId(borrowerId), date }, { items, summary }, { upsert: true, new: true })
|
|
47
|
+
.lean();
|
|
48
|
+
};
|
|
49
|
+
exports.saveEquipmentDoc = saveEquipmentDoc;
|
|
50
|
+
const copyEquipmentWithoutSaving = async (borrower, date, items, summary) => {
|
|
51
|
+
const notSavedEquipment = new Equipment_model_1.default({ borrower, date, items, summary });
|
|
52
|
+
notSavedEquipment._id = null;
|
|
53
|
+
return notSavedEquipment;
|
|
54
|
+
};
|
|
55
|
+
exports.copyEquipmentWithoutSaving = copyEquipmentWithoutSaving;
|