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,30 @@
|
|
|
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 { IAccountPayableItemDoc } from '../models/AccountPayableItem.model';
|
|
27
|
+
export declare const getAllAPCustomers: (borrowerId: string) => Promise<{
|
|
28
|
+
customers: string[];
|
|
29
|
+
}[]>;
|
|
30
|
+
export declare const getBBCAPByAPPeriod: (bbcSheetsIds: mongoose.Types.ObjectId[], rangeStart: any, rangeEnd: any) => Promise<IAccountPayableItemDoc[]>;
|
|
@@ -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.getBBCAPByAPPeriod = exports.getAllAPCustomers = void 0;
|
|
7
|
+
const mongoose_1 = __importDefault(require("mongoose"));
|
|
8
|
+
const AccountPayableItem_model_1 = require("../models/AccountPayableItem.model");
|
|
9
|
+
const collaterals_db_1 = require("./collaterals.db");
|
|
10
|
+
const collaterals_enum_1 = require("../enums/collaterals.enum");
|
|
11
|
+
const getAllAPCustomers = async (borrowerId) => {
|
|
12
|
+
const bbcSheets = await (0, collaterals_db_1.getBBCSheetsForBorrowerAndType)(borrowerId, collaterals_enum_1.ECollaterals.ACCOUNT_PAYABLE);
|
|
13
|
+
return AccountPayableItem_model_1.AccountPayableItemModel.aggregate([
|
|
14
|
+
{
|
|
15
|
+
$match: {
|
|
16
|
+
'bbcSheetId': {
|
|
17
|
+
$in: bbcSheets.map((bbcSheet) => new mongoose_1.default.Types.ObjectId(String(bbcSheet._id)))
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
$group: {
|
|
23
|
+
'_id': null,
|
|
24
|
+
'customers': {
|
|
25
|
+
$addToSet: '$customerName'
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
$project: {
|
|
31
|
+
'_id': 0
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
]);
|
|
35
|
+
};
|
|
36
|
+
exports.getAllAPCustomers = getAllAPCustomers;
|
|
37
|
+
const getBBCAPByAPPeriod = async (bbcSheetsIds, rangeStart, rangeEnd) => {
|
|
38
|
+
return AccountPayableItem_model_1.AccountPayableItemModel.aggregate([
|
|
39
|
+
{
|
|
40
|
+
$match: {
|
|
41
|
+
$and: [
|
|
42
|
+
{ 'bbcSheetId': { $in: bbcSheetsIds } },
|
|
43
|
+
{ 'apDate': { $gte: new Date(rangeStart) } },
|
|
44
|
+
{ 'apDate': { $lte: new Date(rangeEnd) } },
|
|
45
|
+
]
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
$sort: {
|
|
50
|
+
'apDate': 1
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
]);
|
|
54
|
+
};
|
|
55
|
+
exports.getBBCAPByAPPeriod = getBBCAPByAPPeriod;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import mongoose from 'mongoose';
|
|
2
|
+
|
|
3
|
+
import { AccountPayableItemModel, IAccountPayableItemDoc } from '../models/AccountPayableItem.model';
|
|
4
|
+
import { getBBCSheetsForBorrowerAndType } from './collaterals.db';
|
|
5
|
+
import { ECollaterals } from '../enums/collaterals.enum';
|
|
6
|
+
|
|
7
|
+
export const getAllAPCustomers = async (borrowerId: string) => {
|
|
8
|
+
const bbcSheets = await getBBCSheetsForBorrowerAndType(borrowerId, ECollaterals.ACCOUNT_PAYABLE);
|
|
9
|
+
return AccountPayableItemModel.aggregate<{ customers: string[] }>([
|
|
10
|
+
{
|
|
11
|
+
$match: {
|
|
12
|
+
'bbcSheetId': {
|
|
13
|
+
$in: bbcSheets.map((bbcSheet) => new mongoose.Types.ObjectId(String(bbcSheet._id)))
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
$group: {
|
|
19
|
+
'_id': null,
|
|
20
|
+
'customers': {
|
|
21
|
+
$addToSet: '$customerName'
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
$project: {
|
|
27
|
+
'_id': 0
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
]);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export const getBBCAPByAPPeriod = async (bbcSheetsIds: mongoose.Types.ObjectId[], rangeStart, rangeEnd) => {
|
|
34
|
+
return AccountPayableItemModel.aggregate<IAccountPayableItemDoc>([
|
|
35
|
+
{
|
|
36
|
+
$match: {
|
|
37
|
+
$and: [
|
|
38
|
+
{ 'bbcSheetId': { $in: bbcSheetsIds } },
|
|
39
|
+
{ 'apDate': { $gte: new Date(rangeStart) } },
|
|
40
|
+
{ 'apDate': { $lte: new Date(rangeEnd) } },
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
$sort: {
|
|
46
|
+
'apDate': 1
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
]);
|
|
50
|
+
}
|
|
@@ -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 { IReserve, IReserveDoc, IReserveItem, IReserveSummary } from '../models/Reserve.model';
|
|
27
|
+
export declare const getReserveDocs: (bbcDateIds: mongoose.Types.ObjectId[]) => Promise<IReserveDoc[]>;
|
|
28
|
+
export declare const saveReserveDoc: (bbcDateId: mongoose.Types.ObjectId, reserveUpdate: Partial<IReserve>) => Promise<mongoose.FlattenMaps<IReserveDoc> & {
|
|
29
|
+
_id: mongoose.Types.ObjectId;
|
|
30
|
+
}>;
|
|
31
|
+
export declare const copyReserveWithoutSaving: (bbcDateId: mongoose.Types.ObjectId, items: IReserveItem[], summary: IReserveSummary) => Promise<mongoose.Document<unknown, {}, IReserveDoc> & IReserveDoc & {
|
|
32
|
+
_id: mongoose.Types.ObjectId;
|
|
33
|
+
}>;
|
|
34
|
+
export declare const getLastReserveDocs: (bbcDateId: string, borrowerId: string) => Promise<IReserveDoc[]>;
|
package/db/reserve.db.js
ADDED
|
@@ -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.getLastReserveDocs = exports.copyReserveWithoutSaving = exports.saveReserveDoc = exports.getReserveDocs = void 0;
|
|
7
|
+
const mongoose_1 = __importDefault(require("mongoose"));
|
|
8
|
+
const Reserve_model_1 = __importDefault(require("../models/Reserve.model"));
|
|
9
|
+
const bbcDates_db_1 = require("./bbcDates.db");
|
|
10
|
+
const getReserveDocs = async (bbcDateIds) => {
|
|
11
|
+
return Reserve_model_1.default.aggregate([
|
|
12
|
+
{
|
|
13
|
+
$match: {
|
|
14
|
+
'bbcDateId': {
|
|
15
|
+
$in: bbcDateIds
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
]);
|
|
20
|
+
};
|
|
21
|
+
exports.getReserveDocs = getReserveDocs;
|
|
22
|
+
const saveReserveDoc = async (bbcDateId, reserveUpdate) => {
|
|
23
|
+
return Reserve_model_1.default
|
|
24
|
+
.findOneAndUpdate({ bbcDateId }, reserveUpdate, { upsert: true, new: true })
|
|
25
|
+
.lean();
|
|
26
|
+
};
|
|
27
|
+
exports.saveReserveDoc = saveReserveDoc;
|
|
28
|
+
const copyReserveWithoutSaving = async (bbcDateId, items, summary) => {
|
|
29
|
+
return new Reserve_model_1.default({ bbcDateId, items, summary });
|
|
30
|
+
};
|
|
31
|
+
exports.copyReserveWithoutSaving = copyReserveWithoutSaving;
|
|
32
|
+
const getLastReserveDocs = async (bbcDateId, borrowerId) => {
|
|
33
|
+
const bbcDates = await (0, bbcDates_db_1.getBBCDatesByBorrower)(borrowerId);
|
|
34
|
+
const bbcDateIds = bbcDates.map((bbc) => bbc._id);
|
|
35
|
+
return Reserve_model_1.default.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.getLastReserveDocs = getLastReserveDocs;
|
package/db/reserve.db.ts
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import mongoose from 'mongoose';
|
|
2
|
+
|
|
3
|
+
import Reserve, { IReserve, IReserveDoc, IReserveItem, IReserveSummary } from '../models/Reserve.model';
|
|
4
|
+
import { getBBCDatesByBorrower } from './bbcDates.db';
|
|
5
|
+
|
|
6
|
+
export const getReserveDocs = async (bbcDateIds: mongoose.Types.ObjectId[]) => {
|
|
7
|
+
return Reserve.aggregate<IReserveDoc>([
|
|
8
|
+
{
|
|
9
|
+
$match: {
|
|
10
|
+
'bbcDateId': {
|
|
11
|
+
$in: bbcDateIds
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
]);
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export const saveReserveDoc = async (bbcDateId: mongoose.Types.ObjectId, reserveUpdate: Partial<IReserve>) => {
|
|
19
|
+
return Reserve
|
|
20
|
+
.findOneAndUpdate({ bbcDateId }, reserveUpdate, { upsert: true, new: true })
|
|
21
|
+
.lean();
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export const copyReserveWithoutSaving = async (bbcDateId: mongoose.Types.ObjectId, items: IReserveItem[], summary: IReserveSummary) => {
|
|
25
|
+
return new Reserve({ bbcDateId, items, summary });
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export const getLastReserveDocs = async (bbcDateId: string, borrowerId: string) => {
|
|
29
|
+
const bbcDates = await getBBCDatesByBorrower(borrowerId);
|
|
30
|
+
const bbcDateIds = bbcDates.map((bbc) => bbc._id);
|
|
31
|
+
return Reserve.aggregate<IReserveDoc>([
|
|
32
|
+
{
|
|
33
|
+
$match:
|
|
34
|
+
{
|
|
35
|
+
$and: [
|
|
36
|
+
{ 'bbcDateId': { $in: bbcDateIds } },
|
|
37
|
+
{ 'bbcDateId': { $ne: new mongoose.Types.ObjectId(bbcDateId) } },
|
|
38
|
+
],
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
$sort: { 'updatedAt': -1 }
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
$limit: 1
|
|
46
|
+
}
|
|
47
|
+
]);
|
|
48
|
+
};
|
package/db/uploads.db.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
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.getSheetWithFile = void 0;
|
|
7
|
+
const mongoose_1 = __importDefault(require("mongoose"));
|
|
8
|
+
const UploadedSheet_model_1 = __importDefault(require("../models/UploadedSheet.model"));
|
|
9
|
+
const getSheetWithFile = async (sheetId) => {
|
|
10
|
+
return UploadedSheet_model_1.default.aggregate([
|
|
11
|
+
{
|
|
12
|
+
$match: {
|
|
13
|
+
'_id': new mongoose_1.default.Types.ObjectId(sheetId)
|
|
14
|
+
}
|
|
15
|
+
}, {
|
|
16
|
+
$lookup: {
|
|
17
|
+
from: 'uploadedfiles',
|
|
18
|
+
localField: 'fileId',
|
|
19
|
+
foreignField: '_id',
|
|
20
|
+
as: 'file'
|
|
21
|
+
}
|
|
22
|
+
}, {
|
|
23
|
+
$unwind: {
|
|
24
|
+
path: '$file'
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
]);
|
|
28
|
+
};
|
|
29
|
+
exports.getSheetWithFile = getSheetWithFile;
|
package/db/uploads.db.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import mongoose from 'mongoose';
|
|
2
|
+
|
|
3
|
+
import UploadedSheetModel, { IUploadedSheetDocWithFile } from '../models/UploadedSheet.model';
|
|
4
|
+
|
|
5
|
+
export const getSheetWithFile = async (sheetId) => {
|
|
6
|
+
return UploadedSheetModel.aggregate<IUploadedSheetDocWithFile>([
|
|
7
|
+
{
|
|
8
|
+
$match: {
|
|
9
|
+
'_id': new mongoose.Types.ObjectId(sheetId)
|
|
10
|
+
}
|
|
11
|
+
}, {
|
|
12
|
+
$lookup: {
|
|
13
|
+
from: 'uploadedfiles',
|
|
14
|
+
localField: 'fileId',
|
|
15
|
+
foreignField: '_id',
|
|
16
|
+
as: 'file'
|
|
17
|
+
}
|
|
18
|
+
}, {
|
|
19
|
+
$unwind: {
|
|
20
|
+
path: '$file'
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
]);
|
|
24
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
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 Joi from 'joi';
|
|
27
|
+
export type TDictionary = Record<string, string | object>;
|
|
28
|
+
export declare const fieldsToUnset: string[];
|
|
29
|
+
export declare const removeFields: <T>(document: mongoose.Document, fieldsToUnset: string[]) => T;
|
|
30
|
+
export declare const replaceErrors: (error: Joi.ValidationError, dictionary: TDictionary) => string;
|
|
31
|
+
export declare const getUUID: () => string;
|
|
@@ -0,0 +1,63 @@
|
|
|
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.getUUID = exports.replaceErrors = exports.removeFields = exports.fieldsToUnset = void 0;
|
|
7
|
+
const mongoose_1 = __importDefault(require("mongoose"));
|
|
8
|
+
const uuid_1 = require("uuid");
|
|
9
|
+
exports.fieldsToUnset = ['__v', 'createdAt', 'updatedAt'];
|
|
10
|
+
const deepCloneAndConvertMaps = (obj) => {
|
|
11
|
+
if (obj instanceof Map) {
|
|
12
|
+
return Object.fromEntries(obj);
|
|
13
|
+
}
|
|
14
|
+
if (Array.isArray(obj)) {
|
|
15
|
+
return obj.map((item) => deepCloneAndConvertMaps(item));
|
|
16
|
+
}
|
|
17
|
+
if (Buffer.isBuffer(obj) || ArrayBuffer.isView(obj)) {
|
|
18
|
+
return obj;
|
|
19
|
+
}
|
|
20
|
+
if (mongoose_1.default.isValidObjectId(obj)) {
|
|
21
|
+
return obj.toString();
|
|
22
|
+
}
|
|
23
|
+
if (typeof obj === 'object' && obj !== null) {
|
|
24
|
+
const newObj = Object.assign({}, obj);
|
|
25
|
+
Object.keys(newObj).forEach((key) => {
|
|
26
|
+
newObj[key] = deepCloneAndConvertMaps(newObj[key]);
|
|
27
|
+
});
|
|
28
|
+
return newObj;
|
|
29
|
+
}
|
|
30
|
+
return obj;
|
|
31
|
+
};
|
|
32
|
+
const removeFields = (document, fieldsToUnset) => {
|
|
33
|
+
return document.toObject({
|
|
34
|
+
transform: (_doc, ret) => {
|
|
35
|
+
fieldsToUnset.forEach((field) => delete ret[field]);
|
|
36
|
+
return deepCloneAndConvertMaps(ret);
|
|
37
|
+
},
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
exports.removeFields = removeFields;
|
|
41
|
+
const replaceErrors = (error, dictionary) => {
|
|
42
|
+
const getValue = (d, keys) => {
|
|
43
|
+
let currentValue = d;
|
|
44
|
+
for (const part of keys) {
|
|
45
|
+
if (currentValue && currentValue[part]) {
|
|
46
|
+
currentValue = currentValue[part];
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
return part;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return currentValue;
|
|
53
|
+
};
|
|
54
|
+
const refinedErrors = error.details.map((detail) => {
|
|
55
|
+
const pathFull = detail.path.join('.');
|
|
56
|
+
const value = getValue(dictionary, detail.path);
|
|
57
|
+
return detail.message.replace(pathFull, value);
|
|
58
|
+
});
|
|
59
|
+
return refinedErrors.join(', ');
|
|
60
|
+
};
|
|
61
|
+
exports.replaceErrors = replaceErrors;
|
|
62
|
+
const getUUID = () => (0, uuid_1.v4)();
|
|
63
|
+
exports.getUUID = getUUID;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import mongoose from 'mongoose';
|
|
2
|
+
import Joi from 'joi';
|
|
3
|
+
import { v4 as uuidV4 } from 'uuid';
|
|
4
|
+
|
|
5
|
+
export type TDictionary = Record<string, string | object>;
|
|
6
|
+
|
|
7
|
+
export const fieldsToUnset = ['__v', 'createdAt', 'updatedAt'];
|
|
8
|
+
|
|
9
|
+
const deepCloneAndConvertMaps = <T>(obj: T): T => {
|
|
10
|
+
if (obj instanceof Map) {
|
|
11
|
+
return Object.fromEntries(obj) as T;
|
|
12
|
+
}
|
|
13
|
+
if (Array.isArray(obj)) {
|
|
14
|
+
return obj.map((item) => deepCloneAndConvertMaps(item)) as T;
|
|
15
|
+
}
|
|
16
|
+
if (Buffer.isBuffer(obj) || ArrayBuffer.isView(obj)) {
|
|
17
|
+
return obj;
|
|
18
|
+
}
|
|
19
|
+
if (mongoose.isValidObjectId(obj)) {
|
|
20
|
+
return obj.toString() as T;
|
|
21
|
+
}
|
|
22
|
+
if (typeof obj === 'object' && obj !== null) {
|
|
23
|
+
const newObj = Object.assign({}, obj);
|
|
24
|
+
Object.keys(newObj).forEach((key) => {
|
|
25
|
+
newObj[key] = deepCloneAndConvertMaps(newObj[key]);
|
|
26
|
+
});
|
|
27
|
+
return newObj as T;
|
|
28
|
+
}
|
|
29
|
+
return obj;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export const removeFields = <T>(document: mongoose.Document, fieldsToUnset: string[]): T => {
|
|
33
|
+
return document.toObject({
|
|
34
|
+
transform: (_doc, ret) => {
|
|
35
|
+
fieldsToUnset.forEach((field) => delete ret[field]);
|
|
36
|
+
return deepCloneAndConvertMaps(ret) as Omit<T, keyof T>;
|
|
37
|
+
},
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export const replaceErrors = (error: Joi.ValidationError, dictionary: TDictionary) => {
|
|
42
|
+
const getValue = (d: TDictionary, keys: string[]): string => {
|
|
43
|
+
let currentValue: TDictionary | string = d;
|
|
44
|
+
|
|
45
|
+
for (const part of keys) {
|
|
46
|
+
if (currentValue && currentValue[part]) {
|
|
47
|
+
currentValue = currentValue[part];
|
|
48
|
+
} else {
|
|
49
|
+
return part;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return currentValue as string;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
const refinedErrors = error.details.map((detail) => {
|
|
56
|
+
const pathFull = detail.path.join('.');
|
|
57
|
+
const value = getValue(dictionary, detail.path as string[]);
|
|
58
|
+
return detail.message.replace(pathFull, value);
|
|
59
|
+
});
|
|
60
|
+
return refinedErrors.join(', ');
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
export const getUUID = () => uuidV4();
|
|
@@ -43,10 +43,10 @@ export declare const AccountPayableItemSchema: mongoose.Schema<any, mongoose.Mod
|
|
|
43
43
|
createdAt: NativeDate;
|
|
44
44
|
updatedAt: NativeDate;
|
|
45
45
|
} & {
|
|
46
|
-
bbcSheetId: mongoose.Types.ObjectId;
|
|
47
46
|
order: number;
|
|
48
|
-
apDate: Date;
|
|
49
47
|
amount: number;
|
|
48
|
+
bbcSheetId: mongoose.Types.ObjectId;
|
|
49
|
+
apDate: Date;
|
|
50
50
|
__v?: number;
|
|
51
51
|
poNumber?: string;
|
|
52
52
|
customerName?: string;
|
|
@@ -57,10 +57,10 @@ export declare const AccountPayableItemSchema: mongoose.Schema<any, mongoose.Mod
|
|
|
57
57
|
createdAt: NativeDate;
|
|
58
58
|
updatedAt: NativeDate;
|
|
59
59
|
} & {
|
|
60
|
-
bbcSheetId: mongoose.Types.ObjectId;
|
|
61
60
|
order: number;
|
|
62
|
-
apDate: Date;
|
|
63
61
|
amount: number;
|
|
62
|
+
bbcSheetId: mongoose.Types.ObjectId;
|
|
63
|
+
apDate: Date;
|
|
64
64
|
__v?: number;
|
|
65
65
|
poNumber?: string;
|
|
66
66
|
customerName?: string;
|
|
@@ -71,10 +71,10 @@ export declare const AccountPayableItemSchema: mongoose.Schema<any, mongoose.Mod
|
|
|
71
71
|
createdAt: NativeDate;
|
|
72
72
|
updatedAt: NativeDate;
|
|
73
73
|
} & {
|
|
74
|
-
bbcSheetId: mongoose.Types.ObjectId;
|
|
75
74
|
order: number;
|
|
76
|
-
apDate: Date;
|
|
77
75
|
amount: number;
|
|
76
|
+
bbcSheetId: mongoose.Types.ObjectId;
|
|
77
|
+
apDate: Date;
|
|
78
78
|
__v?: number;
|
|
79
79
|
poNumber?: string;
|
|
80
80
|
customerName?: string;
|
|
@@ -0,0 +1,54 @@
|
|
|
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, { Model } from 'mongoose';
|
|
26
|
+
import { IUploadedBankTransactionWithInfo } from './UploadedBankTransaction.model';
|
|
27
|
+
export interface IAllocatedBankTransaction {
|
|
28
|
+
_id?: mongoose.Types.ObjectId;
|
|
29
|
+
order: number;
|
|
30
|
+
uploadedBankTransactionId: mongoose.Types.ObjectId;
|
|
31
|
+
date: Date;
|
|
32
|
+
accountNumber: string;
|
|
33
|
+
amount: number;
|
|
34
|
+
reference: string;
|
|
35
|
+
cashAllocationProductId: mongoose.Types.ObjectId;
|
|
36
|
+
accounts: {
|
|
37
|
+
[companyId: string]: {
|
|
38
|
+
accountId1: mongoose.Types.ObjectId | 'BANK';
|
|
39
|
+
accountId2: mongoose.Types.ObjectId | 'BANK';
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
class: string;
|
|
43
|
+
location: string;
|
|
44
|
+
cashAllocationReferenceId: mongoose.Types.ObjectId;
|
|
45
|
+
splitTransactionId: mongoose.Types.ObjectId;
|
|
46
|
+
memo: string;
|
|
47
|
+
}
|
|
48
|
+
type AllocatedBankTransactionModel = Model<IAllocatedBankTransaction>;
|
|
49
|
+
export type PreSplitUploadedBankTransactionWithInfo = IUploadedBankTransactionWithInfo & {
|
|
50
|
+
splitTransactionId: mongoose.Types.ObjectId;
|
|
51
|
+
splitMemo: string;
|
|
52
|
+
};
|
|
53
|
+
export declare const AllocatedBankTransaction: AllocatedBankTransactionModel;
|
|
54
|
+
export {};
|
|
@@ -0,0 +1,70 @@
|
|
|
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.AllocatedBankTransaction = void 0;
|
|
7
|
+
const mongoose_1 = __importDefault(require("mongoose"));
|
|
8
|
+
const CashAllocationProduct_model_1 = require("./CashAllocationProduct.model");
|
|
9
|
+
const _models_1 = require("./_models");
|
|
10
|
+
const AllocatedBankTransactionSchema = new mongoose_1.default.Schema({
|
|
11
|
+
uploadedBankTransactionId: {
|
|
12
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
13
|
+
ref: _models_1.MODEL_NAMES.uploadedBankTransactions,
|
|
14
|
+
required: false,
|
|
15
|
+
},
|
|
16
|
+
order: {
|
|
17
|
+
type: Number,
|
|
18
|
+
required: true,
|
|
19
|
+
},
|
|
20
|
+
date: {
|
|
21
|
+
type: Date,
|
|
22
|
+
required: true,
|
|
23
|
+
},
|
|
24
|
+
accountNumber: {
|
|
25
|
+
type: String,
|
|
26
|
+
required: false,
|
|
27
|
+
trim: true,
|
|
28
|
+
},
|
|
29
|
+
amount: {
|
|
30
|
+
type: Number,
|
|
31
|
+
required: true,
|
|
32
|
+
},
|
|
33
|
+
reference: {
|
|
34
|
+
type: String,
|
|
35
|
+
required: false,
|
|
36
|
+
trim: true,
|
|
37
|
+
},
|
|
38
|
+
class: {
|
|
39
|
+
type: String,
|
|
40
|
+
required: false,
|
|
41
|
+
trim: true,
|
|
42
|
+
},
|
|
43
|
+
location: {
|
|
44
|
+
type: String,
|
|
45
|
+
required: false,
|
|
46
|
+
trim: true,
|
|
47
|
+
},
|
|
48
|
+
cashAllocationReferenceId: {
|
|
49
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
50
|
+
ref: _models_1.MODEL_NAMES.cashAllocationReferences,
|
|
51
|
+
required: false,
|
|
52
|
+
},
|
|
53
|
+
cashAllocationProductId: {
|
|
54
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
55
|
+
ref: _models_1.MODEL_NAMES.cashAllocationProducts,
|
|
56
|
+
required: false,
|
|
57
|
+
},
|
|
58
|
+
splitTransactionId: {
|
|
59
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
60
|
+
ref: _models_1.MODEL_NAMES.cashAllocationReferences,
|
|
61
|
+
required: false,
|
|
62
|
+
},
|
|
63
|
+
memo: {
|
|
64
|
+
type: String,
|
|
65
|
+
required: false,
|
|
66
|
+
trim: true,
|
|
67
|
+
},
|
|
68
|
+
accounts: CashAllocationProduct_model_1.AccountSchema,
|
|
69
|
+
}, { timestamps: { createdAt: true, updatedAt: false } });
|
|
70
|
+
exports.AllocatedBankTransaction = mongoose_1.default.model(_models_1.MODEL_NAMES.allocatedBankTransactions, AllocatedBankTransactionSchema);
|