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,57 @@
|
|
|
1
|
+
import mongoose, { Document } from 'mongoose';
|
|
2
|
+
|
|
3
|
+
import { EUploadTypes } from '../enums/upload-types.enum';
|
|
4
|
+
import { MODEL_NAMES } from './_models';
|
|
5
|
+
|
|
6
|
+
const mongooseLeanId = require('../plugins/id.plugin');
|
|
7
|
+
|
|
8
|
+
export interface IUploadedFile {
|
|
9
|
+
filename: string;
|
|
10
|
+
originalName: string;
|
|
11
|
+
borrowerId: mongoose.Types.ObjectId;
|
|
12
|
+
userId: mongoose.Types.ObjectId;
|
|
13
|
+
converted?: boolean;
|
|
14
|
+
type: EUploadTypes;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface IUploadedFileDoc extends IUploadedFile, Document {
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const UploadedFileSchema = new mongoose.Schema(
|
|
21
|
+
{
|
|
22
|
+
filename: {
|
|
23
|
+
type: String,
|
|
24
|
+
required: false,
|
|
25
|
+
trim: false,
|
|
26
|
+
},
|
|
27
|
+
originalName: {
|
|
28
|
+
type: String,
|
|
29
|
+
required: false,
|
|
30
|
+
trim: false,
|
|
31
|
+
},
|
|
32
|
+
borrowerId: {
|
|
33
|
+
type: mongoose.Schema.Types.ObjectId,
|
|
34
|
+
ref: MODEL_NAMES.borrowers,
|
|
35
|
+
required: false,
|
|
36
|
+
},
|
|
37
|
+
userId: {
|
|
38
|
+
type: mongoose.Schema.Types.ObjectId,
|
|
39
|
+
ref: MODEL_NAMES.users,
|
|
40
|
+
required: false,
|
|
41
|
+
},
|
|
42
|
+
converted: {
|
|
43
|
+
type: Boolean,
|
|
44
|
+
default: false,
|
|
45
|
+
},
|
|
46
|
+
type: {
|
|
47
|
+
type: String,
|
|
48
|
+
required: true,
|
|
49
|
+
},
|
|
50
|
+
__v: { type: Number, select: false },
|
|
51
|
+
},
|
|
52
|
+
{ timestamps: true }
|
|
53
|
+
);
|
|
54
|
+
|
|
55
|
+
UploadedFileSchema.plugin(mongooseLeanId);
|
|
56
|
+
|
|
57
|
+
export default mongoose.model<IUploadedFileDoc>(MODEL_NAMES.uploadedFile, UploadedFileSchema);
|
|
@@ -0,0 +1,46 @@
|
|
|
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, { Document } from 'mongoose';
|
|
26
|
+
import { IUploadedFileDoc } from './UploadedFile.model';
|
|
27
|
+
export interface IUploadedSheetView {
|
|
28
|
+
_id: mongoose.Types.ObjectId;
|
|
29
|
+
fileId: mongoose.Types.ObjectId;
|
|
30
|
+
sheetName: string;
|
|
31
|
+
fileName: string;
|
|
32
|
+
}
|
|
33
|
+
export interface IUploadedSheet {
|
|
34
|
+
fileId: mongoose.Types.ObjectId;
|
|
35
|
+
sheetName: string;
|
|
36
|
+
total: number;
|
|
37
|
+
}
|
|
38
|
+
export interface IUploadedSheetDoc extends IUploadedSheet, Document {
|
|
39
|
+
}
|
|
40
|
+
export interface IUploadedSheetDocWithFile extends IUploadedSheetDoc {
|
|
41
|
+
file: IUploadedFileDoc;
|
|
42
|
+
}
|
|
43
|
+
declare const _default: mongoose.Model<IUploadedSheetDoc, {}, {}, {}, mongoose.Document<unknown, {}, IUploadedSheetDoc> & IUploadedSheetDoc & {
|
|
44
|
+
_id: mongoose.Types.ObjectId;
|
|
45
|
+
}, any>;
|
|
46
|
+
export default _default;
|
|
@@ -0,0 +1,27 @@
|
|
|
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
|
+
const mongoose_1 = __importDefault(require("mongoose"));
|
|
7
|
+
const _models_1 = require("./_models");
|
|
8
|
+
const mongooseLeanId = require('../plugins/id.plugin');
|
|
9
|
+
const UploadedSheetSchema = new mongoose_1.default.Schema({
|
|
10
|
+
fileId: {
|
|
11
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
12
|
+
ref: _models_1.MODEL_NAMES.uploadedFile,
|
|
13
|
+
required: true,
|
|
14
|
+
},
|
|
15
|
+
sheetName: {
|
|
16
|
+
type: String,
|
|
17
|
+
required: true,
|
|
18
|
+
trim: true,
|
|
19
|
+
},
|
|
20
|
+
total: {
|
|
21
|
+
type: Number,
|
|
22
|
+
required: true,
|
|
23
|
+
},
|
|
24
|
+
__v: { type: Number, select: false },
|
|
25
|
+
}, { timestamps: true });
|
|
26
|
+
UploadedSheetSchema.plugin(mongooseLeanId);
|
|
27
|
+
exports.default = mongoose_1.default.model(_models_1.MODEL_NAMES.uploadedSheets, UploadedSheetSchema);
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import mongoose, { Document } from 'mongoose';
|
|
2
|
+
|
|
3
|
+
import { IUploadedFileDoc } from './UploadedFile.model';
|
|
4
|
+
import { MODEL_NAMES } from './_models';
|
|
5
|
+
|
|
6
|
+
const mongooseLeanId = require('../plugins/id.plugin');
|
|
7
|
+
|
|
8
|
+
export interface IUploadedSheetView {
|
|
9
|
+
_id: mongoose.Types.ObjectId;
|
|
10
|
+
fileId: mongoose.Types.ObjectId;
|
|
11
|
+
sheetName: string;
|
|
12
|
+
fileName: string;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface IUploadedSheet {
|
|
16
|
+
fileId: mongoose.Types.ObjectId;
|
|
17
|
+
sheetName: string;
|
|
18
|
+
total: number;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface IUploadedSheetDoc extends IUploadedSheet, Document {
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface IUploadedSheetDocWithFile extends IUploadedSheetDoc {
|
|
25
|
+
file: IUploadedFileDoc;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const UploadedSheetSchema = new mongoose.Schema(
|
|
29
|
+
{
|
|
30
|
+
fileId: {
|
|
31
|
+
type: mongoose.Schema.Types.ObjectId,
|
|
32
|
+
ref: MODEL_NAMES.uploadedFile,
|
|
33
|
+
required: true,
|
|
34
|
+
},
|
|
35
|
+
sheetName: {
|
|
36
|
+
type: String,
|
|
37
|
+
required: true,
|
|
38
|
+
trim: true,
|
|
39
|
+
},
|
|
40
|
+
total: {
|
|
41
|
+
type: Number,
|
|
42
|
+
required: true,
|
|
43
|
+
},
|
|
44
|
+
__v: { type: Number, select: false },
|
|
45
|
+
},
|
|
46
|
+
{ timestamps: true }
|
|
47
|
+
);
|
|
48
|
+
|
|
49
|
+
UploadedSheetSchema.plugin(mongooseLeanId);
|
|
50
|
+
|
|
51
|
+
export default mongoose.model<IUploadedSheetDoc>(MODEL_NAMES.uploadedSheets, UploadedSheetSchema);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gemcap-be-common",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
"author": "Nick Elovsky",
|
|
11
11
|
"license": "ISC",
|
|
12
12
|
"dependencies": {
|
|
13
|
+
"@sentry/node": "^8.55.0",
|
|
14
|
+
"aws-sdk": "^2.1691.0",
|
|
13
15
|
"class-transformer": "^0.5.1",
|
|
14
16
|
"dayjs": "^1.11.13",
|
|
15
17
|
"decimal.js": "^10.4.3",
|
|
@@ -20,6 +22,10 @@
|
|
|
20
22
|
"keycloak-connect": "^24.0.5",
|
|
21
23
|
"lodash": "^4.17.21",
|
|
22
24
|
"mongoose": "^8.3.1",
|
|
25
|
+
"nodemailer": "^6.9.15",
|
|
26
|
+
"pdfmake": "^0.2.12",
|
|
27
|
+
"redis": "^4.7.0",
|
|
28
|
+
"uuid": "^10.0.0",
|
|
23
29
|
"xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz",
|
|
24
30
|
"xlsx-js-style": "^1.2.0"
|
|
25
31
|
},
|
|
@@ -27,6 +33,9 @@
|
|
|
27
33
|
"@types/express": "^4.17.21",
|
|
28
34
|
"@types/joi": "^17.2.3",
|
|
29
35
|
"@types/lodash": "^4.17.10",
|
|
36
|
+
"@types/nodemailer": "^6.4.17",
|
|
37
|
+
"@types/pdfmake": "^0.2.9",
|
|
38
|
+
"@types/uuid": "^10.0.0",
|
|
30
39
|
"typescript": "^5.3.3"
|
|
31
40
|
}
|
|
32
41
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GlobalsRepository = void 0;
|
|
4
|
+
const Globals_model_1 = require("../models/Globals.model");
|
|
5
|
+
class GlobalsRepository {
|
|
6
|
+
async update(setting, userId) {
|
|
7
|
+
await Promise.all(Object.entries(setting).map(async ([setting, value]) => {
|
|
8
|
+
if (!!userId) {
|
|
9
|
+
await Globals_model_1.GlobalsModel.findOneAndUpdate({ setting }, { value, userId }, { upsert: true });
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
await Globals_model_1.GlobalsModel.findOneAndUpdate({ setting }, { value }, { upsert: true });
|
|
13
|
+
}
|
|
14
|
+
}));
|
|
15
|
+
}
|
|
16
|
+
async getSetting(setting) {
|
|
17
|
+
const settingsValues = await Globals_model_1.GlobalsModel.findOne({ setting }).lean();
|
|
18
|
+
if (!settingsValues) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
return { [setting]: settingsValues.value };
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.GlobalsRepository = GlobalsRepository;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { GlobalsModel } from '../models/Globals.model';
|
|
2
|
+
|
|
3
|
+
export class GlobalsRepository {
|
|
4
|
+
async update(setting: { [key: string]: any }, userId?: string) {
|
|
5
|
+
await Promise.all(Object.entries(setting).map(async ([setting, value]) => {
|
|
6
|
+
if (!!userId) {
|
|
7
|
+
await GlobalsModel.findOneAndUpdate({ setting }, { value, userId }, { upsert: true });
|
|
8
|
+
} else {
|
|
9
|
+
await GlobalsModel.findOneAndUpdate({ setting }, { value }, { upsert: true });
|
|
10
|
+
}
|
|
11
|
+
}));
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
async getSetting(setting: string) {
|
|
15
|
+
const settingsValues = await GlobalsModel.findOne({ setting }).lean();
|
|
16
|
+
if (!settingsValues) {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
return { [setting]: settingsValues.value };
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
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 AWS from 'aws-sdk';
|
|
27
|
+
import { ITransactionAttachedFileDoc } from '../models/TransactionAttachedFile.Model';
|
|
28
|
+
interface IAttachedFilesServiceDependencies {
|
|
29
|
+
saveFilesToAws: boolean;
|
|
30
|
+
rootDir: string;
|
|
31
|
+
s3Read: AWS.S3;
|
|
32
|
+
bucketName: string;
|
|
33
|
+
}
|
|
34
|
+
export declare class AttachedFilesService {
|
|
35
|
+
private readonly saveFilesToAws;
|
|
36
|
+
private readonly rootDir;
|
|
37
|
+
private readonly s3Read;
|
|
38
|
+
private readonly bucketName;
|
|
39
|
+
constructor(deps: IAttachedFilesServiceDependencies);
|
|
40
|
+
downloadAttachedFile(fileId: string): Promise<ITransactionAttachedFileDoc>;
|
|
41
|
+
getEffectiveDateList(borrowerId: string): Promise<string[]>;
|
|
42
|
+
getLatestEffectiveDate(borrowerId: string): Promise<string>;
|
|
43
|
+
getAttachedFilesByEffectiveDate(effectiveDate: string): Promise<(mongoose.Document<unknown, {}, ITransactionAttachedFileDoc> & ITransactionAttachedFileDoc & {
|
|
44
|
+
_id: mongoose.Types.ObjectId;
|
|
45
|
+
})[]>;
|
|
46
|
+
getAttachedFilesByEffectiveDatAndBorrowerId(effectiveDate: string, borrowerId: string): Promise<(mongoose.Document<unknown, {}, ITransactionAttachedFileDoc> & ITransactionAttachedFileDoc & {
|
|
47
|
+
_id: mongoose.Types.ObjectId;
|
|
48
|
+
})[]>;
|
|
49
|
+
createAttachedFile(file: {
|
|
50
|
+
filename: string;
|
|
51
|
+
originalName: string;
|
|
52
|
+
}, userId: string, effectiveDate: string, borrowerId: string): Promise<mongoose.Document<unknown, {}, ITransactionAttachedFileDoc> & ITransactionAttachedFileDoc & {
|
|
53
|
+
_id: mongoose.Types.ObjectId;
|
|
54
|
+
}>;
|
|
55
|
+
getAttachedRealFilesByTransactionFileId(borrowerId: string, effectiveDate: string): Promise<any[]>;
|
|
56
|
+
}
|
|
57
|
+
export {};
|
|
@@ -0,0 +1,103 @@
|
|
|
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.AttachedFilesService = void 0;
|
|
7
|
+
const mongoose_1 = __importDefault(require("mongoose"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const TransactionAttachedFile_Model_1 = require("../models/TransactionAttachedFile.Model");
|
|
10
|
+
class AttachedFilesService {
|
|
11
|
+
saveFilesToAws;
|
|
12
|
+
rootDir;
|
|
13
|
+
s3Read;
|
|
14
|
+
bucketName;
|
|
15
|
+
constructor(deps) {
|
|
16
|
+
this.saveFilesToAws = deps.saveFilesToAws;
|
|
17
|
+
this.rootDir = deps.rootDir;
|
|
18
|
+
this.s3Read = deps.s3Read;
|
|
19
|
+
this.bucketName = deps.bucketName;
|
|
20
|
+
}
|
|
21
|
+
async downloadAttachedFile(fileId) {
|
|
22
|
+
const DBFile = await TransactionAttachedFile_Model_1.TransactionAttachedFileModel.findById(fileId).lean();
|
|
23
|
+
if (!DBFile) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
return DBFile;
|
|
27
|
+
}
|
|
28
|
+
async getEffectiveDateList(borrowerId) {
|
|
29
|
+
const result = await TransactionAttachedFile_Model_1.TransactionAttachedFileModel.aggregate([
|
|
30
|
+
{
|
|
31
|
+
$match: {
|
|
32
|
+
borrowerId: new mongoose_1.default.Types.ObjectId(borrowerId),
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
$group: {
|
|
37
|
+
_id: null,
|
|
38
|
+
effectiveDates: { $addToSet: '$effectiveDate' },
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
$unwind: '$effectiveDates',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
$sort: { 'effectiveDates': -1 },
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
$group: {
|
|
49
|
+
_id: null,
|
|
50
|
+
effectiveDates: { $push: '$effectiveDates' },
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
]);
|
|
54
|
+
return result.reduce((acc, item) => [...acc, ...item.effectiveDates], []);
|
|
55
|
+
}
|
|
56
|
+
async getLatestEffectiveDate(borrowerId) {
|
|
57
|
+
const latsEffectiveDateDoc = await TransactionAttachedFile_Model_1.TransactionAttachedFileModel.find({ borrowerId }).sort({ effectiveDate: -1 }).limit(1).lean();
|
|
58
|
+
if (!latsEffectiveDateDoc.length) {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
return latsEffectiveDateDoc[0].effectiveDate;
|
|
62
|
+
}
|
|
63
|
+
async getAttachedFilesByEffectiveDate(effectiveDate) {
|
|
64
|
+
return TransactionAttachedFile_Model_1.TransactionAttachedFileModel.find({ effectiveDate }).sort({ originalName: 1 });
|
|
65
|
+
}
|
|
66
|
+
async getAttachedFilesByEffectiveDatAndBorrowerId(effectiveDate, borrowerId) {
|
|
67
|
+
return TransactionAttachedFile_Model_1.TransactionAttachedFileModel.find({ effectiveDate, borrowerId }).sort({ originalName: 1 });
|
|
68
|
+
}
|
|
69
|
+
async createAttachedFile(file, userId, effectiveDate, borrowerId) {
|
|
70
|
+
const newFile = {
|
|
71
|
+
userId: new mongoose_1.default.Types.ObjectId(userId),
|
|
72
|
+
filename: file.filename,
|
|
73
|
+
originalName: file.originalName,
|
|
74
|
+
effectiveDate,
|
|
75
|
+
borrowerId: new mongoose_1.default.Types.ObjectId(borrowerId),
|
|
76
|
+
};
|
|
77
|
+
return await TransactionAttachedFile_Model_1.TransactionAttachedFileModel.create(newFile);
|
|
78
|
+
}
|
|
79
|
+
async getAttachedRealFilesByTransactionFileId(borrowerId, effectiveDate) {
|
|
80
|
+
const DBFiles = await TransactionAttachedFile_Model_1.TransactionAttachedFileModel.find({ effectiveDate, borrowerId }).lean();
|
|
81
|
+
if (this.saveFilesToAws) {
|
|
82
|
+
const downloadedFiles = [];
|
|
83
|
+
await Promise.all(DBFiles.map(async (file) => {
|
|
84
|
+
const fileData = await this.s3Read.getObject({
|
|
85
|
+
Bucket: this.bucketName,
|
|
86
|
+
Key: file.filename,
|
|
87
|
+
}).promise();
|
|
88
|
+
downloadedFiles.push({
|
|
89
|
+
filename: file.originalName,
|
|
90
|
+
content: fileData.Body,
|
|
91
|
+
});
|
|
92
|
+
}));
|
|
93
|
+
return downloadedFiles;
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
return DBFiles.map((file) => ({
|
|
97
|
+
filename: file.originalName,
|
|
98
|
+
path: path_1.default.resolve(this.rootDir, file.filename),
|
|
99
|
+
}));
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
exports.AttachedFilesService = AttachedFilesService;
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import mongoose from 'mongoose';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import AWS from 'aws-sdk';
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
ITransactionAttachedFile,
|
|
7
|
+
ITransactionAttachedFileDoc,
|
|
8
|
+
TransactionAttachedFileModel,
|
|
9
|
+
} from '../models/TransactionAttachedFile.Model';
|
|
10
|
+
|
|
11
|
+
interface IAttachedFilesServiceDependencies {
|
|
12
|
+
saveFilesToAws: boolean;
|
|
13
|
+
rootDir: string;
|
|
14
|
+
s3Read: AWS.S3;
|
|
15
|
+
bucketName: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export class AttachedFilesService {
|
|
19
|
+
private readonly saveFilesToAws: boolean;
|
|
20
|
+
private readonly rootDir: string;
|
|
21
|
+
private readonly s3Read: AWS.S3;
|
|
22
|
+
private readonly bucketName: string;
|
|
23
|
+
|
|
24
|
+
constructor(
|
|
25
|
+
deps: IAttachedFilesServiceDependencies,
|
|
26
|
+
) {
|
|
27
|
+
this.saveFilesToAws = deps.saveFilesToAws;
|
|
28
|
+
this.rootDir = deps.rootDir;
|
|
29
|
+
this.s3Read = deps.s3Read;
|
|
30
|
+
this.bucketName = deps.bucketName;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
async downloadAttachedFile(fileId: string) {
|
|
35
|
+
const DBFile: ITransactionAttachedFileDoc = await TransactionAttachedFileModel.findById(fileId).lean();
|
|
36
|
+
if (!DBFile) {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
return DBFile;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
async getEffectiveDateList(borrowerId: string) {
|
|
43
|
+
const result = await TransactionAttachedFileModel.aggregate<{ _id: null, effectiveDates: string[] }>([
|
|
44
|
+
{
|
|
45
|
+
$match: {
|
|
46
|
+
borrowerId: new mongoose.Types.ObjectId(borrowerId),
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
$group: {
|
|
51
|
+
_id: null,
|
|
52
|
+
effectiveDates: { $addToSet: '$effectiveDate' },
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
$unwind: '$effectiveDates',
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
$sort: { 'effectiveDates': -1 },
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
$group: {
|
|
63
|
+
_id: null,
|
|
64
|
+
effectiveDates: { $push: '$effectiveDates' },
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
]);
|
|
68
|
+
return result.reduce((acc, item) => [...acc, ...item.effectiveDates], <string[]>[]);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
async getLatestEffectiveDate(borrowerId: string) {
|
|
72
|
+
const latsEffectiveDateDoc = await TransactionAttachedFileModel.find({ borrowerId }).sort({ effectiveDate: -1 }).limit(1).lean();
|
|
73
|
+
if (!latsEffectiveDateDoc.length) {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
return latsEffectiveDateDoc[0].effectiveDate;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
async getAttachedFilesByEffectiveDate(effectiveDate: string) {
|
|
80
|
+
return TransactionAttachedFileModel.find({ effectiveDate }).sort({ originalName: 1 });
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
async getAttachedFilesByEffectiveDatAndBorrowerId(effectiveDate: string, borrowerId: string) {
|
|
84
|
+
return TransactionAttachedFileModel.find({ effectiveDate, borrowerId }).sort({ originalName: 1 });
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
async createAttachedFile(file: {
|
|
88
|
+
filename: string,
|
|
89
|
+
originalName: string
|
|
90
|
+
}, userId: string, effectiveDate: string, borrowerId: string) {
|
|
91
|
+
const newFile: ITransactionAttachedFile = {
|
|
92
|
+
userId: new mongoose.Types.ObjectId(userId),
|
|
93
|
+
filename: file.filename,
|
|
94
|
+
originalName: file.originalName,
|
|
95
|
+
effectiveDate,
|
|
96
|
+
borrowerId: new mongoose.Types.ObjectId(borrowerId),
|
|
97
|
+
};
|
|
98
|
+
return await TransactionAttachedFileModel.create(newFile);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
async getAttachedRealFilesByTransactionFileId(borrowerId: string, effectiveDate: string) {
|
|
102
|
+
const DBFiles = await TransactionAttachedFileModel.find({ effectiveDate, borrowerId }).lean();
|
|
103
|
+
if (this.saveFilesToAws) {
|
|
104
|
+
const downloadedFiles = [];
|
|
105
|
+
await Promise.all(DBFiles.map(async (file) => {
|
|
106
|
+
const fileData = await this.s3Read.getObject({
|
|
107
|
+
Bucket: this.bucketName,
|
|
108
|
+
Key: file.filename,
|
|
109
|
+
}).promise();
|
|
110
|
+
downloadedFiles.push({
|
|
111
|
+
filename: file.originalName,
|
|
112
|
+
content: fileData.Body,
|
|
113
|
+
});
|
|
114
|
+
}));
|
|
115
|
+
return downloadedFiles;
|
|
116
|
+
} else {
|
|
117
|
+
return DBFiles.map((file) => ({
|
|
118
|
+
filename: file.originalName,
|
|
119
|
+
path: path.resolve(this.rootDir, file.filename),
|
|
120
|
+
}));
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { ELimitSettings, IReceivableAvailability, IAvailabilityLimits, IAvailabilitySettings, IAvailabilitySummary, IReceivableAvailabilityView } from '../models/ReceivableAvailability.model';
|
|
2
|
+
import { IUserDocument } from '../models/User.model';
|
|
3
|
+
import { IReceivableAvailabilityItemView } from '../models/ReceivableAvailabilityItem.model';
|
|
4
|
+
import { IPaginatorOptions } from '../interfaces/collaterals.interface';
|
|
5
|
+
import { IInventoryAvailabilitySummary, InventoryAvailabilityPaginators } from '../models/InventoryAvailability.model';
|
|
6
|
+
import { IReserveSummary } from '../models/Reserve.model';
|
|
7
|
+
import { IEquipmentSummary } from '../models/Equipment.model';
|
|
8
|
+
import { ICollateralAdjustmentSummary } from '../models/CollateralAdjustment.model';
|
|
9
|
+
import { CollateralAdjustmentsService } from './collateral-adjustments.service';
|
|
10
|
+
import { CollateralsService } from './collaterals.service';
|
|
11
|
+
import { EquipmentService } from './equipment.service';
|
|
12
|
+
import { InventoryAvailabilityService } from './inventory-availability.service';
|
|
13
|
+
import { LoanStatementService } from './loan-statement.service';
|
|
14
|
+
import { LoanTransactionsService } from './loan-transactions.service';
|
|
15
|
+
import { ManualEntryService } from './manual-entry.service';
|
|
16
|
+
import { ReserveService } from './reserve.service';
|
|
17
|
+
import { SignsService } from './signs.service';
|
|
18
|
+
type IMappedSettings = {
|
|
19
|
+
[_key in ELimitSettings]: number;
|
|
20
|
+
};
|
|
21
|
+
export interface IAvailabilityFullSummary {
|
|
22
|
+
reserve: IReserveSummary;
|
|
23
|
+
equipment: IEquipmentSummary;
|
|
24
|
+
inventory: IInventoryAvailabilitySummary[];
|
|
25
|
+
receivable: IAvailabilitySummary;
|
|
26
|
+
loanBalances: {
|
|
27
|
+
TERM: number;
|
|
28
|
+
REVOLVER: number;
|
|
29
|
+
};
|
|
30
|
+
collateralAdjustment: {
|
|
31
|
+
summary: ICollateralAdjustmentSummary;
|
|
32
|
+
};
|
|
33
|
+
manualInputs: {
|
|
34
|
+
receivableAvailability: boolean;
|
|
35
|
+
inventoryAvailability: boolean;
|
|
36
|
+
};
|
|
37
|
+
accruedStatement: number;
|
|
38
|
+
}
|
|
39
|
+
export declare const START_PAGINATORS: InventoryAvailabilityPaginators;
|
|
40
|
+
export declare class AvailabilityService {
|
|
41
|
+
private readonly collateralAdjustmentsService;
|
|
42
|
+
private readonly collateralsService;
|
|
43
|
+
private readonly equipmentService;
|
|
44
|
+
private readonly inventoryAvailabilityService;
|
|
45
|
+
private readonly loanStatementService;
|
|
46
|
+
private readonly loanTransactionsService;
|
|
47
|
+
private readonly manualEntryService;
|
|
48
|
+
private readonly reserveService;
|
|
49
|
+
private readonly signsService;
|
|
50
|
+
constructor(collateralAdjustmentsService: CollateralAdjustmentsService, collateralsService: CollateralsService, equipmentService: EquipmentService, inventoryAvailabilityService: InventoryAvailabilityService, loanStatementService: LoanStatementService, loanTransactionsService: LoanTransactionsService, manualEntryService: ManualEntryService, reserveService: ReserveService, signsService: SignsService);
|
|
51
|
+
recombineGroups(calculationsSettings: IAvailabilitySettings): Promise<IMappedSettings>;
|
|
52
|
+
calculateAvailability(bbcDateId: string, paginatorOptions: IPaginatorOptions, user: IUserDocument): Promise<IReceivableAvailabilityView>;
|
|
53
|
+
getAvailability(bbcDateId: string, paginatorOptions: IPaginatorOptions, user: IUserDocument): Promise<IReceivableAvailabilityView>;
|
|
54
|
+
getAvailabilityItemsWithFilter(bbcDateId: string, itemsFilter: string): Promise<{
|
|
55
|
+
itemsFilter: any;
|
|
56
|
+
invoiceItems: any[];
|
|
57
|
+
customerItems: any[];
|
|
58
|
+
}>;
|
|
59
|
+
foundOrCreateAvailability(bbcDateId: string, paginatorOptions: IPaginatorOptions, user: IUserDocument): Promise<IReceivableAvailabilityView>;
|
|
60
|
+
findCalculatedAvailability(bbcDateId: string): Promise<IReceivableAvailabilityView>;
|
|
61
|
+
saveCalculatedAvailabilitySettings(bbcDateId: string, settings: IAvailabilitySettings): Promise<void>;
|
|
62
|
+
saveLimitSettings(bbcDateId: string, limitSettings: {
|
|
63
|
+
[limitSettingsName: string]: IAvailabilityLimits[];
|
|
64
|
+
}): Promise<void>;
|
|
65
|
+
calculateAvailabilitySummary(newCalculation: IReceivableAvailability): Promise<IAvailabilitySummary>;
|
|
66
|
+
saveCalculatedAvailability(newCalculation: IReceivableAvailability): Promise<void>;
|
|
67
|
+
getCalculationSettings(bbcDateId: string): Promise<IAvailabilitySettings>;
|
|
68
|
+
getAllSettings(bbcDateId?: string): Promise<{}>;
|
|
69
|
+
getAvailabilityItems(availabilityId: string, paginatorOptions: IPaginatorOptions): Promise<IReceivableAvailabilityItemView[]>;
|
|
70
|
+
getUniqueCustomers(availabilityId: string): Promise<{
|
|
71
|
+
customerTitle: string;
|
|
72
|
+
}[]>;
|
|
73
|
+
getAllSummaries(bbcDateId: string, user: IUserDocument): Promise<IAvailabilityFullSummary>;
|
|
74
|
+
isBBCEditable(bbcDateId: string): Promise<boolean>;
|
|
75
|
+
toggleManualReceivableAvailability(bbcDateId: string, useManualInputs: boolean): Promise<void>;
|
|
76
|
+
}
|
|
77
|
+
export {};
|