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.
Files changed (303) hide show
  1. package/classes/bank-transaction-item.d.ts +17 -0
  2. package/classes/bank-transaction-item.js +64 -0
  3. package/classes/bank-transaction-item.ts +66 -0
  4. package/classes/bank-uploaded-transaction.d.ts +17 -0
  5. package/classes/bank-uploaded-transaction.js +35 -0
  6. package/classes/bank-uploaded-transaction.ts +35 -0
  7. package/classes/inventory-item.d.ts +41 -0
  8. package/classes/inventory-item.js +44 -0
  9. package/classes/inventory-item.ts +63 -0
  10. package/classes/payable-account-item.d.ts +22 -0
  11. package/classes/payable-account-item.js +27 -0
  12. package/classes/payable-account-item.ts +35 -0
  13. package/classes/quickbook-item.d.ts +37 -0
  14. package/classes/quickbook-item.js +51 -0
  15. package/classes/quickbook-item.ts +59 -0
  16. package/classes/receivable-item.d.ts +26 -0
  17. package/classes/receivable-item.js +28 -0
  18. package/classes/receivable-item.ts +38 -0
  19. package/constants/date-formats.contsants.d.ts +1 -0
  20. package/constants/date-formats.contsants.js +4 -0
  21. package/constants/date-formats.contsants.ts +1 -0
  22. package/db/brokers.db.d.ts +185 -0
  23. package/db/brokers.db.js +35 -2
  24. package/db/brokers.db.ts +34 -1
  25. package/db/collateral-adjustments.db.d.ts +34 -0
  26. package/db/collateral-adjustments.db.js +52 -0
  27. package/db/collateral-adjustments.db.ts +54 -0
  28. package/db/collaterals.db.d.ts +1 -1
  29. package/db/equipment.db.d.ts +40 -0
  30. package/db/equipment.db.js +55 -0
  31. package/db/equipment.db.ts +56 -0
  32. package/db/financial-spreading.db.ts +2 -1
  33. package/db/groups.d.ts +5 -0
  34. package/db/groups.js +57 -0
  35. package/db/groups.ts +52 -0
  36. package/db/inventories.d.ts +91 -0
  37. package/db/inventories.js +449 -0
  38. package/db/inventories.ts +481 -0
  39. package/db/inventory-availability.d.ts +3 -0
  40. package/db/inventory-availability.js +103 -0
  41. package/db/inventory-availability.ts +113 -0
  42. package/db/new-summary.d.ts +31 -0
  43. package/db/new-summary.js +1295 -0
  44. package/db/new-summary.ts +1509 -0
  45. package/db/payable-accounts.d.ts +30 -0
  46. package/db/payable-accounts.js +55 -0
  47. package/db/payable-accounts.ts +50 -0
  48. package/db/reserve.db.d.ts +34 -0
  49. package/db/reserve.db.js +52 -0
  50. package/db/reserve.db.ts +48 -0
  51. package/db/uploads.db.d.ts +2 -0
  52. package/db/uploads.db.js +29 -0
  53. package/db/uploads.db.ts +24 -0
  54. package/helpers/main.helper.d.ts +31 -0
  55. package/helpers/main.helper.js +63 -0
  56. package/helpers/main.helper.ts +63 -0
  57. package/models/AccountPayableItem.model.d.ts +6 -6
  58. package/models/AllocatedBankTransaction.model.d.ts +54 -0
  59. package/models/AllocatedBankTransaction.model.js +70 -0
  60. package/models/AllocatedBankTransaction.model.ts +94 -0
  61. package/models/AllocatedData.model.d.ts +33 -0
  62. package/models/AllocatedData.model.js +19 -0
  63. package/models/AllocatedData.model.ts +24 -0
  64. package/models/BBCDate.model.d.ts +3 -3
  65. package/models/BBCSheet.model.d.ts +3 -3
  66. package/models/Banks.model.d.ts +3 -3
  67. package/models/Borrower.model.d.ts +3 -3
  68. package/models/BorrowerData.model.d.ts +3 -3
  69. package/models/BorrowerDataInsurance.model.d.ts +3 -3
  70. package/models/BorrowerDataTerm.model.d.ts +3 -3
  71. package/models/BorrowerSummary.model.js +1 -1
  72. package/models/BorrowerSummary.model.ts +1 -1
  73. package/models/CalandarDay.model.d.ts +40 -0
  74. package/models/CalandarDay.model.js +47 -0
  75. package/models/CalandarDay.model.ts +61 -0
  76. package/models/CashAllocationProduct.model.d.ts +119 -0
  77. package/models/CashAllocationProduct.model.js +102 -0
  78. package/models/CashAllocationProduct.model.ts +112 -0
  79. package/models/CashAllocationReference.model.d.ts +37 -0
  80. package/models/CashAllocationReference.model.js +27 -0
  81. package/models/CashAllocationReference.model.ts +40 -0
  82. package/models/CollateralAdjustment.model.d.ts +51 -0
  83. package/models/CollateralAdjustment.model.js +61 -0
  84. package/models/CollateralAdjustment.model.ts +98 -0
  85. package/models/Company.model.d.ts +35 -0
  86. package/models/Company.model.js +18 -0
  87. package/models/Company.model.ts +29 -0
  88. package/models/CustomerAPGroup.model.d.ts +32 -0
  89. package/models/CustomerAPGroup.model.js +24 -0
  90. package/models/CustomerAPGroup.model.ts +31 -0
  91. package/models/Equipment.model.d.ts +53 -0
  92. package/models/Equipment.model.js +140 -0
  93. package/models/Equipment.model.ts +172 -0
  94. package/models/FinancialCompliance.model.d.ts +39 -0
  95. package/models/FinancialCompliance.model.js +64 -0
  96. package/models/FinancialCompliance.model.ts +78 -0
  97. package/models/FinancialComplianceBorrower.model.d.ts +58 -0
  98. package/models/FinancialComplianceBorrower.model.js +82 -0
  99. package/models/FinancialComplianceBorrower.model.ts +118 -0
  100. package/models/FinancialIndexes.model.d.ts +36 -0
  101. package/models/FinancialIndexes.model.js +27 -0
  102. package/models/FinancialIndexes.model.ts +37 -0
  103. package/models/Inventory.model.d.ts +18 -18
  104. package/models/InventoryAvailability.model.d.ts +21 -21
  105. package/models/InventoryAvailabilityItem.model.d.ts +6 -6
  106. package/models/InventoryItem.model.d.ts +24 -24
  107. package/models/InventoryManualEntry.model.d.ts +9 -9
  108. package/models/InventorySeasonalRates.model.d.ts +3 -3
  109. package/models/LoanBroker.model.d.ts +3 -3
  110. package/models/LoanCharges.model.d.ts +12 -12
  111. package/models/LoanProducts.model.d.ts +9 -9
  112. package/models/LoanStatementStatus.model.d.ts +35 -0
  113. package/models/LoanStatementStatus.model.js +34 -0
  114. package/models/LoanStatementStatus.model.ts +45 -0
  115. package/models/LoanStatementTransaction.model.d.ts +9 -9
  116. package/models/LoanTransactionFile.model.d.ts +41 -0
  117. package/models/LoanTransactionFile.model.js +44 -0
  118. package/models/LoanTransactionFile.model.ts +61 -0
  119. package/models/MappedGroup.model.d.ts +37 -0
  120. package/models/MappedGroup.model.js +33 -0
  121. package/models/MappedGroup.model.ts +46 -0
  122. package/models/MonthEndData.Model.d.ts +41 -0
  123. package/models/MonthEndData.Model.js +42 -0
  124. package/models/MonthEndData.Model.ts +53 -0
  125. package/models/OrganizationEmails.model.d.ts +44 -0
  126. package/models/OrganizationEmails.model.js +40 -0
  127. package/models/OrganizationEmails.model.ts +54 -0
  128. package/models/ProductBroker.model.d.ts +9 -9
  129. package/models/QuickbooksAccount.model.d.ts +39 -0
  130. package/models/QuickbooksAccount.model.js +43 -0
  131. package/models/QuickbooksAccount.model.ts +57 -0
  132. package/models/Receivable.model.d.ts +12 -12
  133. package/models/ReceivableAvailability.model.d.ts +54 -54
  134. package/models/ReceivableAvailabilityItem.model.d.ts +57 -57
  135. package/models/ReceivableItem.model.d.ts +6 -6
  136. package/models/Reserve.model.d.ts +51 -0
  137. package/models/Reserve.model.js +96 -0
  138. package/models/Reserve.model.ts +125 -0
  139. package/models/TermLoan.model.d.ts +3 -3
  140. package/models/TermLoanCalculated.model.d.ts +6 -6
  141. package/models/TransactionAttachedFile.Model.d.ts +35 -0
  142. package/models/TransactionAttachedFile.Model.js +37 -0
  143. package/models/TransactionAttachedFile.Model.ts +48 -0
  144. package/models/UploadedBankTransaction.model.d.ts +56 -0
  145. package/models/UploadedBankTransaction.model.js +78 -0
  146. package/models/UploadedBankTransaction.model.ts +110 -0
  147. package/models/UploadedData.model.d.ts +36 -0
  148. package/models/UploadedData.model.js +23 -0
  149. package/models/UploadedData.model.ts +35 -0
  150. package/models/UploadedFile.model.d.ts +40 -0
  151. package/models/UploadedFile.model.js +41 -0
  152. package/models/UploadedFile.model.ts +57 -0
  153. package/models/UploadedSheet.model.d.ts +46 -0
  154. package/models/UploadedSheet.model.js +27 -0
  155. package/models/UploadedSheet.model.ts +51 -0
  156. package/package.json +10 -1
  157. package/repositories/globals.repository.d.ts +8 -0
  158. package/repositories/globals.repository.js +24 -0
  159. package/repositories/globals.repository.ts +21 -0
  160. package/services/attached-files.service.d.ts +57 -0
  161. package/services/attached-files.service.js +103 -0
  162. package/services/attached-files.service.ts +123 -0
  163. package/services/availability.service.d.ts +77 -0
  164. package/services/availability.service.js +897 -0
  165. package/services/availability.service.ts +1034 -0
  166. package/services/bank-uploaded-transactions.service.d.ts +33 -0
  167. package/services/bank-uploaded-transactions.service.js +430 -0
  168. package/services/bank-uploaded-transactions.service.ts +475 -0
  169. package/services/banks.service.d.ts +36 -0
  170. package/services/banks.service.js +91 -0
  171. package/services/banks.service.ts +95 -0
  172. package/services/borrower-summary.service.d.ts +35 -0
  173. package/services/borrower-summary.service.js +310 -0
  174. package/services/borrower-summary.service.ts +334 -0
  175. package/services/borrowers.service.d.ts +103 -0
  176. package/services/borrowers.service.js +268 -0
  177. package/services/borrowers.service.ts +302 -0
  178. package/services/brokers.service.d.ts +212 -0
  179. package/services/brokers.service.js +160 -0
  180. package/services/brokers.service.ts +200 -0
  181. package/services/calendar.service.d.ts +53 -0
  182. package/services/calendar.service.js +108 -0
  183. package/services/calendar.service.ts +128 -0
  184. package/services/cash-allocation.service.d.ts +40 -0
  185. package/services/cash-allocation.service.js +92 -0
  186. package/services/cash-allocation.service.ts +105 -0
  187. package/services/collateral-adjustments.service.d.ts +38 -0
  188. package/services/collateral-adjustments.service.js +82 -0
  189. package/services/collateral-adjustments.service.ts +95 -0
  190. package/services/collaterals.service.d.ts +69 -0
  191. package/services/collaterals.service.js +279 -0
  192. package/services/collaterals.service.ts +319 -0
  193. package/services/companies.service.d.ts +5 -0
  194. package/services/companies.service.js +21 -0
  195. package/services/companies.service.ts +23 -0
  196. package/services/compliance-borrowers.service.d.ts +152 -0
  197. package/services/compliance-borrowers.service.js +569 -0
  198. package/services/compliance-borrowers.service.ts +617 -0
  199. package/services/equipment.service.d.ts +42 -0
  200. package/services/equipment.service.js +120 -0
  201. package/services/equipment.service.ts +149 -0
  202. package/services/file-manager.service.d.ts +44 -0
  203. package/services/file-manager.service.js +120 -0
  204. package/services/file-manager.service.ts +146 -0
  205. package/services/financial-compliance.service.d.ts +58 -0
  206. package/services/financial-compliance.service.js +281 -0
  207. package/services/financial-compliance.service.ts +309 -0
  208. package/services/financial-indexes.service.d.ts +20 -0
  209. package/services/financial-indexes.service.js +241 -0
  210. package/services/financial-indexes.service.ts +257 -0
  211. package/services/financial-spreading.service.d.ts +74 -0
  212. package/services/financial-spreading.service.js +450 -0
  213. package/services/financial-spreading.service.ts +517 -0
  214. package/services/globals.service.d.ts +5 -0
  215. package/services/globals.service.js +11 -0
  216. package/services/globals.service.ts +8 -0
  217. package/services/groups.service.d.ts +39 -0
  218. package/services/groups.service.js +65 -0
  219. package/services/groups.service.ts +64 -0
  220. package/services/inventory-availability.service.d.ts +13 -0
  221. package/services/inventory-availability.service.js +170 -0
  222. package/services/inventory-availability.service.ts +187 -0
  223. package/services/inventory.service.d.ts +118 -0
  224. package/services/inventory.service.js +239 -0
  225. package/services/inventory.service.ts +276 -0
  226. package/services/loan-charges.service.d.ts +83 -0
  227. package/services/loan-charges.service.js +343 -0
  228. package/services/loan-charges.service.ts +396 -0
  229. package/services/loan-payments.service.d.ts +94 -0
  230. package/services/loan-payments.service.js +485 -0
  231. package/services/loan-payments.service.ts +541 -0
  232. package/services/loan-products.service.d.ts +12 -0
  233. package/services/loan-products.service.js +55 -0
  234. package/services/loan-products.service.ts +58 -0
  235. package/services/loan-statement-balance.service.d.ts +16 -0
  236. package/services/loan-statement-balance.service.js +106 -0
  237. package/services/loan-statement-balance.service.ts +113 -0
  238. package/services/loan-statement-effects.service.d.ts +8 -0
  239. package/services/loan-statement-effects.service.js +42 -0
  240. package/services/loan-statement-effects.service.ts +41 -0
  241. package/services/loan-statement-status.service.d.ts +208 -0
  242. package/services/loan-statement-status.service.js +159 -0
  243. package/services/loan-statement-status.service.ts +177 -0
  244. package/services/loan-statement.service.d.ts +186 -0
  245. package/services/loan-statement.service.js +935 -0
  246. package/services/loan-statement.service.ts +1040 -0
  247. package/services/loan-transactions.service.d.ts +169 -0
  248. package/services/loan-transactions.service.js +941 -0
  249. package/services/loan-transactions.service.ts +1042 -0
  250. package/services/lock.service.d.ts +6 -0
  251. package/services/lock.service.js +45 -0
  252. package/services/lock.service.ts +45 -0
  253. package/services/manual-entry.service.d.ts +20 -0
  254. package/services/manual-entry.service.js +186 -0
  255. package/services/manual-entry.service.ts +201 -0
  256. package/services/month-end-data.service.d.ts +34 -0
  257. package/services/month-end-data.service.js +30 -0
  258. package/services/month-end-data.service.ts +35 -0
  259. package/services/nodemailer.service.d.ts +96 -0
  260. package/services/nodemailer.service.js +689 -0
  261. package/services/nodemailer.service.ts +774 -0
  262. package/services/organization-emails.service.d.ts +31 -0
  263. package/services/organization-emails.service.js +10 -0
  264. package/services/organization-emails.service.ts +7 -0
  265. package/services/organizations.service.d.ts +34 -0
  266. package/services/organizations.service.js +74 -0
  267. package/services/organizations.service.ts +84 -0
  268. package/services/pdf.service.d.ts +61 -0
  269. package/services/pdf.service.js +547 -0
  270. package/services/pdf.service.ts +642 -0
  271. package/services/quickbooks.service.d.ts +99 -0
  272. package/services/quickbooks.service.js +640 -0
  273. package/services/quickbooks.service.ts +734 -0
  274. package/services/reports/investor-summary.service.d.ts +28 -0
  275. package/services/reports/investor-summary.service.js +136 -0
  276. package/services/reports/investor-summary.service.ts +159 -0
  277. package/services/reports.service.d.ts +126 -0
  278. package/services/reports.service.js +584 -0
  279. package/services/reports.service.ts +702 -0
  280. package/services/reserve.service.d.ts +37 -0
  281. package/services/reserve.service.js +76 -0
  282. package/services/reserve.service.ts +79 -0
  283. package/services/sentry.service.d.ts +11 -0
  284. package/services/sentry.service.js +49 -0
  285. package/services/sentry.service.ts +33 -0
  286. package/services/signs.service.d.ts +69 -0
  287. package/services/signs.service.js +230 -0
  288. package/services/signs.service.ts +260 -0
  289. package/services/term-loan.service.d.ts +30 -0
  290. package/services/term-loan.service.js +614 -0
  291. package/services/term-loan.service.ts +696 -0
  292. package/services/uploads.service.d.ts +134 -0
  293. package/services/uploads.service.js +587 -0
  294. package/services/uploads.service.ts +643 -0
  295. package/services/user-logs.service.d.ts +23 -0
  296. package/services/user-logs.service.js +160 -0
  297. package/services/user-logs.service.ts +177 -0
  298. package/services/users.service.d.ts +4 -4
  299. package/services/yield.service.d.ts +46 -0
  300. package/services/yield.service.js +42 -12
  301. package/services/yield.service.ts +38 -8
  302. package/tsconfig.json +5 -5
  303. package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.CashAllocationProduct = exports.AccountSchema = void 0;
27
+ const mongoose_1 = __importStar(require("mongoose"));
28
+ const _models_1 = require("./_models");
29
+ exports.AccountSchema = {
30
+ type: Map,
31
+ of: new mongoose_1.Schema({
32
+ accountId1: {
33
+ type: mongoose_1.Schema.Types.Mixed,
34
+ required: true,
35
+ validate: {
36
+ validator: function (value) {
37
+ return mongoose_1.default.isValidObjectId(value) || value === 'BANK';
38
+ },
39
+ message: (props) => `${props.value} is not a valid ObjectId or "BANK"`,
40
+ },
41
+ },
42
+ accountId2: {
43
+ type: mongoose_1.Schema.Types.Mixed,
44
+ required: true,
45
+ validate: {
46
+ validator: function (value) {
47
+ return mongoose_1.default.isValidObjectId(value) || value === 'BANK';
48
+ },
49
+ message: (props) => `${props.value} is not a valid ObjectId or "BANK"`,
50
+ },
51
+ },
52
+ }),
53
+ default: {},
54
+ };
55
+ const CashAllocationProductSchema = new mongoose_1.default.Schema({
56
+ order: {
57
+ type: Number,
58
+ required: true,
59
+ },
60
+ isProduct: {
61
+ type: Boolean,
62
+ required: true,
63
+ },
64
+ isCommonSplit: {
65
+ type: Boolean,
66
+ required: false,
67
+ },
68
+ productId: {
69
+ type: mongoose_1.default.Schema.Types.ObjectId,
70
+ ref: _models_1.MODEL_NAMES.loanProducts,
71
+ required: false,
72
+ },
73
+ nonProductName: {
74
+ type: String,
75
+ required: false,
76
+ trim: true,
77
+ },
78
+ accounts: exports.AccountSchema,
79
+ class: {
80
+ type: String,
81
+ required: false,
82
+ trim: true,
83
+ },
84
+ location: {
85
+ type: String,
86
+ required: false,
87
+ trim: true,
88
+ },
89
+ DRMemo: {
90
+ type: String,
91
+ required: false,
92
+ trim: true,
93
+ },
94
+ CRMemo: {
95
+ type: String,
96
+ required: false,
97
+ trim: true,
98
+ },
99
+ }, {
100
+ timestamps: { createdAt: true, updatedAt: false },
101
+ });
102
+ exports.CashAllocationProduct = mongoose_1.default.model(_models_1.MODEL_NAMES.cashAllocationProducts, CashAllocationProductSchema);
@@ -0,0 +1,112 @@
1
+ import mongoose, { Model, Schema } from 'mongoose';
2
+
3
+ import { MODEL_NAMES } from './_models';
4
+
5
+ export interface ICashAllocationProduct {
6
+ _id?: mongoose.Types.ObjectId;
7
+ isProduct: boolean;
8
+ isCommonSplit: boolean;
9
+ order: number;
10
+ productId: mongoose.Types.ObjectId;
11
+ nonProductName: string;
12
+ accounts: {
13
+ [companyId: string]: {
14
+ accountId1: mongoose.Types.ObjectId | 'BANK';
15
+ accountId2: mongoose.Types.ObjectId | 'BANK';
16
+ };
17
+ };
18
+ class: string;
19
+ location: string;
20
+ DRMemo: string;
21
+ CRMemo: string;
22
+ }
23
+
24
+ export type ICashAllocationProductStringified = {
25
+ [K in keyof ICashAllocationProduct]: K extends '_id' | 'productId' ? string : ICashAllocationProduct[K];
26
+ };
27
+
28
+ type CashAllocationProductModel = Model<ICashAllocationProduct>;
29
+
30
+ export const AccountSchema = {
31
+ type: Map,
32
+ of: new Schema({
33
+ accountId1: {
34
+ type: Schema.Types.Mixed,
35
+ required: true,
36
+ validate: {
37
+ validator: function(value: Schema.Types.ObjectId | 'BANK') {
38
+ return mongoose.isValidObjectId(value) || value === 'BANK';
39
+ },
40
+ message: (props: {
41
+ value: mongoose.Types.ObjectId | 'BANK'
42
+ }) => `${props.value} is not a valid ObjectId or "BANK"`,
43
+ },
44
+ },
45
+ accountId2: {
46
+ type: Schema.Types.Mixed,
47
+ required: true,
48
+ validate: {
49
+ validator: function(value: Schema.Types.ObjectId | 'BANK') {
50
+ return mongoose.isValidObjectId(value) || value === 'BANK';
51
+ },
52
+ message: (props: {
53
+ value: mongoose.Types.ObjectId | 'BANK'
54
+ }) => `${props.value} is not a valid ObjectId or "BANK"`,
55
+ },
56
+ },
57
+ }),
58
+ default: {},
59
+ };
60
+
61
+ const CashAllocationProductSchema = new mongoose.Schema<ICashAllocationProduct, CashAllocationProductModel>(
62
+ {
63
+ order: {
64
+ type: Number,
65
+ required: true,
66
+ },
67
+ isProduct: {
68
+ type: Boolean,
69
+ required: true,
70
+ },
71
+ isCommonSplit: {
72
+ type: Boolean,
73
+ required: false,
74
+ },
75
+ productId: {
76
+ type: mongoose.Schema.Types.ObjectId,
77
+ ref: MODEL_NAMES.loanProducts,
78
+ required: false,
79
+ },
80
+ nonProductName: {
81
+ type: String,
82
+ required: false,
83
+ trim: true,
84
+ },
85
+ accounts: AccountSchema,
86
+ class: {
87
+ type: String,
88
+ required: false,
89
+ trim: true,
90
+ },
91
+ location: {
92
+ type: String,
93
+ required: false,
94
+ trim: true,
95
+ },
96
+ DRMemo: {
97
+ type: String,
98
+ required: false,
99
+ trim: true,
100
+ },
101
+ CRMemo: {
102
+ type: String,
103
+ required: false,
104
+ trim: true,
105
+ },
106
+ },
107
+ {
108
+ timestamps: { createdAt: true, updatedAt: false },
109
+ },
110
+ );
111
+
112
+ export const CashAllocationProduct = mongoose.model<ICashAllocationProduct, CashAllocationProductModel>(MODEL_NAMES.cashAllocationProducts, CashAllocationProductSchema);
@@ -0,0 +1,37 @@
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
+ export interface ICashAllocationReference {
27
+ _id?: mongoose.Types.ObjectId;
28
+ order: number;
29
+ reference: string;
30
+ cashAllocationProductId: mongoose.Types.ObjectId;
31
+ }
32
+ export type ICashAllocationReferenceStringified = {
33
+ [K in keyof ICashAllocationReference]: K extends '_id' | 'cashAllocationProductId' ? string : ICashAllocationReference[K];
34
+ };
35
+ type CashAllocationReferenceModel = Model<ICashAllocationReference>;
36
+ export declare const CashAllocationReference: CashAllocationReferenceModel;
37
+ export {};
@@ -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
+ exports.CashAllocationReference = void 0;
7
+ const mongoose_1 = __importDefault(require("mongoose"));
8
+ const _models_1 = require("./_models");
9
+ const CashAllocationReferenceSchema = new mongoose_1.default.Schema({
10
+ order: {
11
+ type: Number,
12
+ required: true,
13
+ },
14
+ reference: {
15
+ type: String,
16
+ required: false,
17
+ trim: true,
18
+ },
19
+ cashAllocationProductId: {
20
+ type: mongoose_1.default.Schema.Types.ObjectId,
21
+ ref: _models_1.MODEL_NAMES.cashAllocationProducts,
22
+ required: false,
23
+ },
24
+ }, {
25
+ timestamps: { createdAt: true, updatedAt: false },
26
+ });
27
+ exports.CashAllocationReference = mongoose_1.default.model(_models_1.MODEL_NAMES.cashAllocationReferences, CashAllocationReferenceSchema);
@@ -0,0 +1,40 @@
1
+ import mongoose, { Model } from 'mongoose';
2
+
3
+ import { MODEL_NAMES } from './_models';
4
+
5
+ export interface ICashAllocationReference {
6
+ _id?: mongoose.Types.ObjectId;
7
+ order: number;
8
+ reference: string;
9
+ cashAllocationProductId: mongoose.Types.ObjectId;
10
+ }
11
+
12
+ export type ICashAllocationReferenceStringified = {
13
+ [K in keyof ICashAllocationReference]: K extends '_id' | 'cashAllocationProductId' ? string : ICashAllocationReference[K];
14
+ };
15
+
16
+ type CashAllocationReferenceModel = Model<ICashAllocationReference>;
17
+
18
+ const CashAllocationReferenceSchema = new mongoose.Schema<ICashAllocationReference, CashAllocationReferenceModel>(
19
+ {
20
+ order: {
21
+ type: Number,
22
+ required: true,
23
+ },
24
+ reference: {
25
+ type: String,
26
+ required: false,
27
+ trim: true,
28
+ },
29
+ cashAllocationProductId: {
30
+ type: mongoose.Schema.Types.ObjectId,
31
+ ref: MODEL_NAMES.cashAllocationProducts,
32
+ required: false,
33
+ },
34
+ },
35
+ {
36
+ timestamps: { createdAt: true, updatedAt: false },
37
+ },
38
+ );
39
+
40
+ export const CashAllocationReference = mongoose.model<ICashAllocationReference, CashAllocationReferenceModel>(MODEL_NAMES.cashAllocationReferences, CashAllocationReferenceSchema);
@@ -0,0 +1,51 @@
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, Model } from 'mongoose';
26
+ import { ECollaterals } from '../enums/collaterals.enum';
27
+ export interface ICollateralAdjustmentSummaryItem {
28
+ amount: number;
29
+ }
30
+ export interface ICollateralAdjustmentSummary {
31
+ [summaryField: string]: ICollateralAdjustmentSummaryItem;
32
+ }
33
+ export interface ICollateralAdjustmentItem {
34
+ active: boolean;
35
+ name: string;
36
+ type: allowedCollateralTypes;
37
+ amount: number;
38
+ }
39
+ export interface ICollateralAdjustment {
40
+ bbcDateId: mongoose.Types.ObjectId;
41
+ summary: ICollateralAdjustmentSummary;
42
+ items: ICollateralAdjustmentItem[];
43
+ notes: string;
44
+ }
45
+ export interface ICollateralAdjustmentDoc extends ICollateralAdjustment, Document {
46
+ }
47
+ type allowedCollateralTypes = ECollaterals.RECEIVABLE | ECollaterals.INVENTORY | ECollaterals.OTHER;
48
+ export declare const allowedCollateralTypeValues: Array<keyof typeof ECollaterals>;
49
+ type CollateralAdjustmentModel = Model<ICollateralAdjustment, {}, {}>;
50
+ export declare const CollateralAdjustment: CollateralAdjustmentModel;
51
+ export {};
@@ -0,0 +1,61 @@
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.CollateralAdjustment = exports.allowedCollateralTypeValues = void 0;
7
+ const mongoose_1 = __importDefault(require("mongoose"));
8
+ const collaterals_enum_1 = require("../enums/collaterals.enum");
9
+ const _models_1 = require("./_models");
10
+ const allowedCollateralSubset = {
11
+ [collaterals_enum_1.ECollaterals.RECEIVABLE]: true,
12
+ [collaterals_enum_1.ECollaterals.INVENTORY]: true,
13
+ [collaterals_enum_1.ECollaterals.OTHER]: true,
14
+ };
15
+ exports.allowedCollateralTypeValues = Object.keys(allowedCollateralSubset).filter((key) => allowedCollateralSubset[key]);
16
+ let collateralAdjustmentSummary = {};
17
+ exports.allowedCollateralTypeValues.forEach(collateralType => {
18
+ collateralAdjustmentSummary[collateralType] = {
19
+ amount: {
20
+ type: Number,
21
+ required: true,
22
+ },
23
+ };
24
+ });
25
+ const CollateralAdjustmentSchema = new mongoose_1.default.Schema({
26
+ bbcDateId: {
27
+ type: mongoose_1.default.Schema.Types.ObjectId,
28
+ ref: _models_1.MODEL_NAMES.BBCDates,
29
+ required: true,
30
+ },
31
+ summary: collateralAdjustmentSummary,
32
+ items: [
33
+ {
34
+ active: {
35
+ type: Boolean,
36
+ required: true,
37
+ },
38
+ name: {
39
+ type: String,
40
+ trim: true,
41
+ required: true,
42
+ },
43
+ type: {
44
+ type: String,
45
+ enum: exports.allowedCollateralTypeValues,
46
+ required: true,
47
+ trim: true,
48
+ },
49
+ amount: {
50
+ type: Number,
51
+ required: true,
52
+ },
53
+ },
54
+ ],
55
+ notes: {
56
+ type: String,
57
+ required: false,
58
+ trim: true,
59
+ },
60
+ }, { timestamps: true });
61
+ exports.CollateralAdjustment = mongoose_1.default.model(_models_1.MODEL_NAMES.collateralAdjustments, CollateralAdjustmentSchema);
@@ -0,0 +1,98 @@
1
+ import mongoose, { Document, Model } from 'mongoose';
2
+
3
+ import { ECollaterals } from '../enums/collaterals.enum';
4
+ import { MODEL_NAMES } from './_models';
5
+
6
+ export interface ICollateralAdjustmentSummaryItem {
7
+ amount: number;
8
+ }
9
+
10
+ export interface ICollateralAdjustmentSummary {
11
+ [summaryField: string]: ICollateralAdjustmentSummaryItem;
12
+ }
13
+
14
+ export interface ICollateralAdjustmentItem {
15
+ active: boolean;
16
+ name: string;
17
+ type: allowedCollateralTypes;
18
+ amount: number;
19
+ }
20
+
21
+ export interface ICollateralAdjustment {
22
+ bbcDateId: mongoose.Types.ObjectId;
23
+ summary: ICollateralAdjustmentSummary;
24
+ items: ICollateralAdjustmentItem[];
25
+ notes: string;
26
+ }
27
+
28
+ export interface ICollateralAdjustmentDoc extends ICollateralAdjustment, Document {
29
+ }
30
+
31
+ type allowedCollateralTypes = ECollaterals.RECEIVABLE | ECollaterals.INVENTORY | ECollaterals.OTHER;
32
+
33
+ type AllowedCollateralSubset = {
34
+ [key in ECollaterals]: boolean;
35
+ };
36
+
37
+ const allowedCollateralSubset: Partial<AllowedCollateralSubset> = {
38
+ [ECollaterals.RECEIVABLE]: true,
39
+ [ECollaterals.INVENTORY]: true,
40
+ [ECollaterals.OTHER]: true,
41
+ };
42
+
43
+ export const allowedCollateralTypeValues: Array<keyof typeof ECollaterals> = Object.keys(allowedCollateralSubset).filter((key) => allowedCollateralSubset[key as ECollaterals]) as Array<keyof typeof ECollaterals>;
44
+
45
+ type CollateralAdjustmentModel = Model<ICollateralAdjustment, {}, {}>;
46
+
47
+ let collateralAdjustmentSummary = {};
48
+
49
+ allowedCollateralTypeValues.forEach(collateralType => {
50
+ collateralAdjustmentSummary[collateralType] = {
51
+ amount: {
52
+ type: Number,
53
+ required: true,
54
+ },
55
+ };
56
+ });
57
+
58
+ const CollateralAdjustmentSchema = new mongoose.Schema<ICollateralAdjustment, CollateralAdjustmentModel>(
59
+ {
60
+ bbcDateId: {
61
+ type: mongoose.Schema.Types.ObjectId,
62
+ ref: MODEL_NAMES.BBCDates,
63
+ required: true,
64
+ },
65
+ summary: collateralAdjustmentSummary,
66
+ items: [
67
+ {
68
+ active: {
69
+ type: Boolean,
70
+ required: true,
71
+ },
72
+ name: {
73
+ type: String,
74
+ trim: true,
75
+ required: true,
76
+ },
77
+ type: {
78
+ type: String,
79
+ enum: allowedCollateralTypeValues,
80
+ required: true,
81
+ trim: true,
82
+ },
83
+ amount: {
84
+ type: Number,
85
+ required: true,
86
+ },
87
+ },
88
+ ],
89
+ notes: {
90
+ type: String,
91
+ required: false,
92
+ trim: true,
93
+ },
94
+ },
95
+ { timestamps: true },
96
+ );
97
+
98
+ export const CollateralAdjustment = mongoose.model<ICollateralAdjustment, CollateralAdjustmentModel>(MODEL_NAMES.collateralAdjustments, CollateralAdjustmentSchema);
@@ -0,0 +1,35 @@
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
+ export interface ICompany {
27
+ _id?: mongoose.Types.ObjectId;
28
+ name: string;
29
+ }
30
+ export type ICompanyStringified = {
31
+ [K in keyof ICompany]: K extends '_id' | 'productId' ? string : ICompany[K];
32
+ };
33
+ type CompanyModel = Model<ICompany>;
34
+ export declare const Company: CompanyModel;
35
+ export {};
@@ -0,0 +1,18 @@
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.Company = void 0;
7
+ const mongoose_1 = __importDefault(require("mongoose"));
8
+ const _models_1 = require("./_models");
9
+ const CompanySchema = new mongoose_1.default.Schema({
10
+ name: {
11
+ type: String,
12
+ required: true,
13
+ trim: true,
14
+ },
15
+ }, {
16
+ timestamps: { createdAt: true, updatedAt: false },
17
+ });
18
+ exports.Company = mongoose_1.default.model(_models_1.MODEL_NAMES.companies, CompanySchema);
@@ -0,0 +1,29 @@
1
+ import mongoose, { Model } from 'mongoose';
2
+
3
+ import { MODEL_NAMES } from './_models';
4
+
5
+ export interface ICompany {
6
+ _id?: mongoose.Types.ObjectId;
7
+ name: string;
8
+ }
9
+
10
+ export type ICompanyStringified = {
11
+ [K in keyof ICompany]: K extends '_id' | 'productId' ? string : ICompany[K];
12
+ };
13
+
14
+ type CompanyModel = Model<ICompany>;
15
+
16
+ const CompanySchema = new mongoose.Schema<ICompany, CompanyModel>(
17
+ {
18
+ name: {
19
+ type: String,
20
+ required: true,
21
+ trim: true,
22
+ },
23
+ },
24
+ {
25
+ timestamps: { createdAt: true, updatedAt: false },
26
+ },
27
+ );
28
+
29
+ export const Company = mongoose.model<ICompany, CompanyModel>(MODEL_NAMES.companies, CompanySchema);
@@ -0,0 +1,32 @@
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 { IBorrowerGroup } from '../interfaces/group.interface';
27
+ interface ICustomerAPGroupDocument extends IBorrowerGroup, Document {
28
+ }
29
+ declare const _default: mongoose.Model<ICustomerAPGroupDocument, {}, {}, {}, mongoose.Document<unknown, {}, ICustomerAPGroupDocument> & ICustomerAPGroupDocument & {
30
+ _id: mongoose.Types.ObjectId;
31
+ }, any>;
32
+ export default _default;
@@ -0,0 +1,24 @@
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 CustomerAPGroupSchema = new mongoose_1.default.Schema({
10
+ groupName: {
11
+ type: String,
12
+ trim: true,
13
+ required: true,
14
+ },
15
+ borrowerId: {
16
+ type: mongoose_1.default.Schema.Types.ObjectId,
17
+ ref: _models_1.MODEL_NAMES.complianceItems,
18
+ required: true,
19
+ },
20
+ items: [String],
21
+ __v: { type: Number, select: false },
22
+ }, { timestamps: true });
23
+ CustomerAPGroupSchema.plugin(mongooseLeanId);
24
+ exports.default = mongoose_1.default.model(_models_1.MODEL_NAMES.customerAPGroups, CustomerAPGroupSchema);