gemcap-be-common 1.2.64 → 1.2.66

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 (41) hide show
  1. package/enums/microservice-task.enum.d.ts +2 -1
  2. package/enums/microservice-task.enum.js +1 -0
  3. package/enums/microservice-task.enum.ts +1 -0
  4. package/models/BorrowerData.model.d.ts +41 -0
  5. package/models/BorrowerData.model.js +35 -0
  6. package/models/BorrowerData.model.ts +56 -0
  7. package/models/BorrowerDataBank.model.d.ts +35 -0
  8. package/models/BorrowerDataBank.model.js +28 -0
  9. package/models/BorrowerDataBank.model.ts +38 -0
  10. package/models/BorrowerDataBootCollateral.model.d.ts +32 -0
  11. package/models/BorrowerDataBootCollateral.model.js +18 -0
  12. package/models/BorrowerDataBootCollateral.model.ts +25 -0
  13. package/models/BorrowerDataContact.model.d.ts +34 -0
  14. package/models/BorrowerDataContact.model.js +24 -0
  15. package/models/BorrowerDataContact.model.ts +33 -0
  16. package/models/BorrowerDataGuarantee.model.d.ts +32 -0
  17. package/models/BorrowerDataGuarantee.model.js +18 -0
  18. package/models/BorrowerDataGuarantee.model.ts +25 -0
  19. package/models/BorrowerDataInsurance.model.d.ts +35 -0
  20. package/models/BorrowerDataInsurance.model.js +28 -0
  21. package/models/BorrowerDataInsurance.model.ts +38 -0
  22. package/models/BorrowerDataInventory.model.d.ts +32 -0
  23. package/models/BorrowerDataInventory.model.js +18 -0
  24. package/models/BorrowerDataInventory.model.ts +25 -0
  25. package/models/BorrowerDataLocation.model.d.ts +33 -0
  26. package/models/BorrowerDataLocation.model.js +21 -0
  27. package/models/BorrowerDataLocation.model.ts +29 -0
  28. package/models/BorrowerDataReceivable.model.d.ts +33 -0
  29. package/models/BorrowerDataReceivable.model.js +21 -0
  30. package/models/BorrowerDataReceivable.model.ts +29 -0
  31. package/models/BorrowerDataTerm.model.d.ts +33 -0
  32. package/models/BorrowerDataTerm.model.js +21 -0
  33. package/models/BorrowerDataTerm.model.ts +29 -0
  34. package/models/BorrowerSettings.model.d.ts +71 -0
  35. package/models/BorrowerSettings.model.js +81 -0
  36. package/models/BorrowerSettings.model.ts +127 -0
  37. package/models/_models.d.ts +11 -0
  38. package/models/_models.js +11 -0
  39. package/models/_models.ts +11 -0
  40. package/package.json +1 -1
  41. package/tsconfig.tsbuildinfo +1 -1
@@ -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.BorrowerDataInventoryModel = void 0;
7
+ const mongoose_1 = __importDefault(require("mongoose"));
8
+ const _models_1 = require("./_models");
9
+ const BorrowerDataInventorySchema = new mongoose_1.default.Schema({
10
+ description: {
11
+ type: String,
12
+ required: true,
13
+ },
14
+ advanceRate: {
15
+ type: Number,
16
+ },
17
+ }, { timestamps: false, versionKey: false });
18
+ exports.BorrowerDataInventoryModel = mongoose_1.default.model(_models_1.MODEL_NAMES.borrowerDataInventories, BorrowerDataInventorySchema);
@@ -0,0 +1,25 @@
1
+ import mongoose, { Document } from 'mongoose';
2
+ import { MODEL_NAMES } from './_models';
3
+
4
+ export interface IBorrowerDataInventory {
5
+ description: string;
6
+ advanceRate: number;
7
+ }
8
+
9
+ export interface IBorrowerDataInventoryDoc extends IBorrowerDataInventory, Document {
10
+ }
11
+
12
+ const BorrowerDataInventorySchema = new mongoose.Schema(
13
+ {
14
+ description: {
15
+ type: String,
16
+ required: true,
17
+ },
18
+ advanceRate: {
19
+ type: Number,
20
+ },
21
+ },
22
+ { timestamps: false, versionKey: false },
23
+ );
24
+
25
+ export const BorrowerDataInventoryModel: mongoose.Model<IBorrowerDataInventoryDoc> = mongoose.model<IBorrowerDataInventoryDoc>(MODEL_NAMES.borrowerDataInventories, BorrowerDataInventorySchema);
@@ -0,0 +1,33 @@
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
+ export interface IBorrowerDataLocation {
27
+ address: string;
28
+ landlordWaiver: boolean;
29
+ keyDetails: string;
30
+ }
31
+ export interface IBorrowerDataLocationDoc extends IBorrowerDataLocation, Document {
32
+ }
33
+ export declare const BorrowerDataLocationModel: mongoose.Model<IBorrowerDataLocationDoc>;
@@ -0,0 +1,21 @@
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.BorrowerDataLocationModel = void 0;
7
+ const mongoose_1 = __importDefault(require("mongoose"));
8
+ const _models_1 = require("./_models");
9
+ const BorrowerDataLocationSchema = new mongoose_1.default.Schema({
10
+ address: {
11
+ type: String,
12
+ required: true,
13
+ },
14
+ landlordWaiver: {
15
+ type: Boolean,
16
+ },
17
+ keyDetails: {
18
+ type: String,
19
+ },
20
+ }, { timestamps: false, versionKey: false });
21
+ exports.BorrowerDataLocationModel = mongoose_1.default.model(_models_1.MODEL_NAMES.borrowerDataLocations, BorrowerDataLocationSchema);
@@ -0,0 +1,29 @@
1
+ import mongoose, { Document } from 'mongoose';
2
+ import { MODEL_NAMES } from './_models';
3
+
4
+ export interface IBorrowerDataLocation {
5
+ address: string;
6
+ landlordWaiver: boolean;
7
+ keyDetails: string;
8
+ }
9
+
10
+ export interface IBorrowerDataLocationDoc extends IBorrowerDataLocation, Document {
11
+ }
12
+
13
+ const BorrowerDataLocationSchema = new mongoose.Schema(
14
+ {
15
+ address: {
16
+ type: String,
17
+ required: true,
18
+ },
19
+ landlordWaiver: {
20
+ type: Boolean,
21
+ },
22
+ keyDetails: {
23
+ type: String,
24
+ },
25
+ },
26
+ { timestamps: false, versionKey: false },
27
+ );
28
+
29
+ export const BorrowerDataLocationModel: mongoose.Model<IBorrowerDataLocationDoc> = mongoose.model<IBorrowerDataLocationDoc>(MODEL_NAMES.borrowerDataLocations, BorrowerDataLocationSchema);
@@ -0,0 +1,33 @@
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
+ export interface IBorrowerDataReceivable {
27
+ description: string;
28
+ advanceRate: number;
29
+ creditInsurance: boolean;
30
+ }
31
+ export interface IBorrowerDataReceivableDoc extends IBorrowerDataReceivable, Document {
32
+ }
33
+ export declare const BorrowerDataReceivableModel: mongoose.Model<IBorrowerDataReceivableDoc>;
@@ -0,0 +1,21 @@
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.BorrowerDataReceivableModel = void 0;
7
+ const mongoose_1 = __importDefault(require("mongoose"));
8
+ const _models_1 = require("./_models");
9
+ const BorrowerDataReceivableSchema = new mongoose_1.default.Schema({
10
+ description: {
11
+ type: String,
12
+ required: true,
13
+ },
14
+ advanceRate: {
15
+ type: Number,
16
+ },
17
+ creditInsurance: {
18
+ type: Boolean,
19
+ },
20
+ }, { timestamps: false, versionKey: false });
21
+ exports.BorrowerDataReceivableModel = mongoose_1.default.model(_models_1.MODEL_NAMES.borrowerDataReceivables, BorrowerDataReceivableSchema);
@@ -0,0 +1,29 @@
1
+ import mongoose, { Document } from 'mongoose';
2
+ import { MODEL_NAMES } from './_models';
3
+
4
+ export interface IBorrowerDataReceivable {
5
+ description: string;
6
+ advanceRate: number;
7
+ creditInsurance: boolean;
8
+ }
9
+
10
+ export interface IBorrowerDataReceivableDoc extends IBorrowerDataReceivable, Document {
11
+ }
12
+
13
+ const BorrowerDataReceivableSchema = new mongoose.Schema(
14
+ {
15
+ description: {
16
+ type: String,
17
+ required: true,
18
+ },
19
+ advanceRate: {
20
+ type: Number,
21
+ },
22
+ creditInsurance: {
23
+ type: Boolean,
24
+ },
25
+ },
26
+ { timestamps: false, versionKey: false },
27
+ );
28
+
29
+ export const BorrowerDataReceivableModel: mongoose.Model<IBorrowerDataReceivableDoc> = mongoose.model<IBorrowerDataReceivableDoc>(MODEL_NAMES.borrowerDataReceivables, BorrowerDataReceivableSchema);
@@ -0,0 +1,33 @@
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
+ export interface IBorrowerDataTerm {
27
+ description: string;
28
+ advanceRate: number;
29
+ appraisedValue: number;
30
+ }
31
+ export interface IBorrowerDataTermDoc extends IBorrowerDataTerm, Document {
32
+ }
33
+ export declare const BorrowerDataTermModel: mongoose.Model<IBorrowerDataTermDoc>;
@@ -0,0 +1,21 @@
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.BorrowerDataTermModel = void 0;
7
+ const mongoose_1 = __importDefault(require("mongoose"));
8
+ const _models_1 = require("./_models");
9
+ const BorrowerDataTermSchema = new mongoose_1.default.Schema({
10
+ description: {
11
+ type: String,
12
+ required: true,
13
+ },
14
+ appraisedValue: {
15
+ type: Number,
16
+ },
17
+ advanceRate: {
18
+ type: Number,
19
+ },
20
+ }, { timestamps: false, versionKey: false });
21
+ exports.BorrowerDataTermModel = mongoose_1.default.model(_models_1.MODEL_NAMES.borrowerDataTerms, BorrowerDataTermSchema);
@@ -0,0 +1,29 @@
1
+ import mongoose, { Document } from 'mongoose';
2
+ import { MODEL_NAMES } from './_models';
3
+
4
+ export interface IBorrowerDataTerm {
5
+ description: string;
6
+ advanceRate: number;
7
+ appraisedValue: number;
8
+ }
9
+
10
+ export interface IBorrowerDataTermDoc extends IBorrowerDataTerm, Document {
11
+ }
12
+
13
+ const BorrowerDataTermSchema = new mongoose.Schema(
14
+ {
15
+ description: {
16
+ type: String,
17
+ required: true,
18
+ },
19
+ appraisedValue: {
20
+ type: Number,
21
+ },
22
+ advanceRate: {
23
+ type: Number,
24
+ },
25
+ },
26
+ { timestamps: false, versionKey: false },
27
+ );
28
+
29
+ export const BorrowerDataTermModel: mongoose.Model<IBorrowerDataTermDoc> = mongoose.model<IBorrowerDataTermDoc>(MODEL_NAMES.borrowerDataTerms, BorrowerDataTermSchema);
@@ -0,0 +1,71 @@
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 { IBorrowerDataDoc } from './BorrowerData.model';
27
+ import { IBorrowerDataContactDoc } from './BorrowerDataContact.model';
28
+ import { IBorrowerDataGuaranteeDoc } from './BorrowerDataGuarantee.model';
29
+ import { IBorrowerDataLocationDoc } from './BorrowerDataLocation.model';
30
+ import { IBorrowerDataBankDoc } from './BorrowerDataBank.model';
31
+ import { IBorrowerDataInsuranceDoc } from './BorrowerDataInsurance.model';
32
+ import { IBorrowerDataReceivableDoc } from './BorrowerDataReceivable.model';
33
+ import { IBorrowerDataInventoryDoc } from './BorrowerDataInventory.model';
34
+ import { IBorrowerDataTermDoc } from './BorrowerDataTerm.model';
35
+ import { IBorrowerDataBootCollateralDoc } from './BorrowerDataBootCollateral.model';
36
+ export interface IBorrowerSettings {
37
+ borrower: string;
38
+ queries: {
39
+ [group: string]: {
40
+ [queryName: string]: {
41
+ isCalculateOnUpload: boolean;
42
+ };
43
+ };
44
+ };
45
+ dataTypes: {
46
+ [group: string]: string[];
47
+ };
48
+ dataAvailability: {
49
+ [key in 'receivables' | 'inventories']: boolean;
50
+ };
51
+ data: {
52
+ [key in 'options' | 'receivables' | 'inventories' | 'contacts' | 'guarantees' | 'locations' | 'banks' | 'insurance' | 'terms' | 'bootCollaterals']: mongoose.Schema.Types.ObjectId[];
53
+ };
54
+ }
55
+ export interface IBorrowerSettingsDoc extends IBorrowerSettings, Document {
56
+ }
57
+ export interface IBorrowerSettingsDocPopulated extends Omit<IBorrowerSettings, 'data'> {
58
+ data: {
59
+ options: IBorrowerDataDoc[];
60
+ receivables: IBorrowerDataReceivableDoc[];
61
+ inventories: IBorrowerDataInventoryDoc[];
62
+ terms: IBorrowerDataTermDoc[];
63
+ bootCollaterals: IBorrowerDataBootCollateralDoc[];
64
+ contacts: IBorrowerDataContactDoc[];
65
+ guarantees: IBorrowerDataGuaranteeDoc[];
66
+ locations: IBorrowerDataLocationDoc[];
67
+ banks: IBorrowerDataBankDoc[];
68
+ insurance: IBorrowerDataInsuranceDoc[];
69
+ };
70
+ }
71
+ export declare const BorrowerSettingsModel: mongoose.Model<IBorrowerSettingsDoc>;
@@ -0,0 +1,81 @@
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.BorrowerSettingsModel = void 0;
7
+ const mongoose_1 = __importDefault(require("mongoose"));
8
+ const _models_1 = require("./_models");
9
+ const dataAvailabilitySchema = new mongoose_1.default.Schema({
10
+ receivables: {
11
+ type: Boolean,
12
+ default: false,
13
+ },
14
+ inventories: {
15
+ type: Boolean,
16
+ default: false,
17
+ },
18
+ }, { _id: false, timestamps: false, versionKey: false });
19
+ const dataSchema = new mongoose_1.default.Schema({
20
+ options: [{
21
+ type: mongoose_1.default.Schema.Types.ObjectId,
22
+ ref: _models_1.MODEL_NAMES.borrowerData,
23
+ }],
24
+ receivables: [{
25
+ type: mongoose_1.default.Schema.Types.ObjectId,
26
+ ref: _models_1.MODEL_NAMES.borrowerDataReceivables,
27
+ }],
28
+ inventories: [{
29
+ type: mongoose_1.default.Schema.Types.ObjectId,
30
+ ref: _models_1.MODEL_NAMES.borrowerDataInventories,
31
+ }],
32
+ terms: [{
33
+ type: mongoose_1.default.Schema.Types.ObjectId,
34
+ ref: _models_1.MODEL_NAMES.borrowerDataTerms,
35
+ }],
36
+ bootCollaterals: [{
37
+ type: mongoose_1.default.Schema.Types.ObjectId,
38
+ ref: _models_1.MODEL_NAMES.borrowerDataBootCollaterals,
39
+ }],
40
+ contacts: [{
41
+ type: mongoose_1.default.Schema.Types.ObjectId,
42
+ ref: _models_1.MODEL_NAMES.borrowerDataContacts,
43
+ }],
44
+ guarantees: [{
45
+ type: mongoose_1.default.Schema.Types.ObjectId,
46
+ ref: _models_1.MODEL_NAMES.borrowerDataGuarantees,
47
+ }],
48
+ locations: [{
49
+ type: mongoose_1.default.Schema.Types.ObjectId,
50
+ ref: _models_1.MODEL_NAMES.borrowerDataLocations,
51
+ }],
52
+ banks: [{
53
+ type: mongoose_1.default.Schema.Types.ObjectId,
54
+ ref: _models_1.MODEL_NAMES.borrowerDataBanks,
55
+ }],
56
+ insurance: [{
57
+ type: mongoose_1.default.Schema.Types.ObjectId,
58
+ ref: _models_1.MODEL_NAMES.borrowerDataInsurances,
59
+ }],
60
+ }, { _id: false, timestamps: false, versionKey: false });
61
+ const BorrowerSettingsSchema = new mongoose_1.default.Schema({
62
+ borrower: {
63
+ type: mongoose_1.default.Schema.Types.ObjectId,
64
+ ref: _models_1.MODEL_NAMES.borrowers,
65
+ required: true,
66
+ },
67
+ queries: {
68
+ required: false,
69
+ type: Object,
70
+ default: {},
71
+ },
72
+ dataTypes: {
73
+ required: false,
74
+ type: Object,
75
+ default: {},
76
+ },
77
+ dataAvailability: dataAvailabilitySchema,
78
+ data: dataSchema,
79
+ __v: { type: Number, select: false },
80
+ }, { timestamps: true });
81
+ exports.BorrowerSettingsModel = mongoose_1.default.model(_models_1.MODEL_NAMES.borrowerSettings, BorrowerSettingsSchema);
@@ -0,0 +1,127 @@
1
+ import mongoose, { Document } from 'mongoose';
2
+
3
+ import { IBorrowerDataDoc } from './BorrowerData.model';
4
+ import { IBorrowerDataContactDoc } from './BorrowerDataContact.model';
5
+ import { IBorrowerDataGuaranteeDoc } from './BorrowerDataGuarantee.model';
6
+ import { IBorrowerDataLocationDoc } from './BorrowerDataLocation.model';
7
+ import { IBorrowerDataBankDoc } from './BorrowerDataBank.model';
8
+ import { IBorrowerDataInsuranceDoc } from './BorrowerDataInsurance.model';
9
+ import { IBorrowerDataReceivableDoc } from './BorrowerDataReceivable.model';
10
+ import { IBorrowerDataInventoryDoc } from './BorrowerDataInventory.model';
11
+ import { IBorrowerDataTermDoc } from './BorrowerDataTerm.model';
12
+ import { IBorrowerDataBootCollateralDoc } from './BorrowerDataBootCollateral.model';
13
+ import { MODEL_NAMES } from './_models';
14
+
15
+ export interface IBorrowerSettings {
16
+ borrower: string;
17
+ queries: { [group: string]: { [queryName: string]: { isCalculateOnUpload: boolean } } };
18
+ dataTypes: { [group: string]: string[] };
19
+ dataAvailability: {
20
+ [key in 'receivables' | 'inventories']: boolean;
21
+ }
22
+ data: {
23
+ [key in 'options' | 'receivables' | 'inventories' | 'contacts' | 'guarantees' | 'locations' | 'banks' | 'insurance' | 'terms' | 'bootCollaterals']: mongoose.Schema.Types.ObjectId[];
24
+ },
25
+ }
26
+
27
+ export interface IBorrowerSettingsDoc extends IBorrowerSettings, Document {
28
+ }
29
+
30
+ export interface IBorrowerSettingsDocPopulated extends Omit<IBorrowerSettings, 'data'> {
31
+ data: {
32
+ options: IBorrowerDataDoc[];
33
+ receivables: IBorrowerDataReceivableDoc[];
34
+ inventories: IBorrowerDataInventoryDoc[];
35
+ terms: IBorrowerDataTermDoc[];
36
+ bootCollaterals: IBorrowerDataBootCollateralDoc[];
37
+ contacts: IBorrowerDataContactDoc[];
38
+ guarantees: IBorrowerDataGuaranteeDoc[];
39
+ locations: IBorrowerDataLocationDoc[];
40
+ banks: IBorrowerDataBankDoc[];
41
+ insurance: IBorrowerDataInsuranceDoc[];
42
+ };
43
+ }
44
+
45
+ const dataAvailabilitySchema = new mongoose.Schema(
46
+ {
47
+ receivables: {
48
+ type: Boolean,
49
+ default: false,
50
+ },
51
+ inventories: {
52
+ type: Boolean,
53
+ default: false,
54
+ },
55
+ },
56
+ { _id: false, timestamps: false, versionKey: false });
57
+
58
+ const dataSchema = new mongoose.Schema(
59
+ {
60
+ options: [{
61
+ type: mongoose.Schema.Types.ObjectId,
62
+ ref: MODEL_NAMES.borrowerData,
63
+ }],
64
+ receivables: [{
65
+ type: mongoose.Schema.Types.ObjectId,
66
+ ref: MODEL_NAMES.borrowerDataReceivables,
67
+ }],
68
+ inventories: [{
69
+ type: mongoose.Schema.Types.ObjectId,
70
+ ref: MODEL_NAMES.borrowerDataInventories,
71
+ }],
72
+ terms: [{
73
+ type: mongoose.Schema.Types.ObjectId,
74
+ ref: MODEL_NAMES.borrowerDataTerms,
75
+ }],
76
+ bootCollaterals: [{
77
+ type: mongoose.Schema.Types.ObjectId,
78
+ ref: MODEL_NAMES.borrowerDataBootCollaterals,
79
+ }],
80
+ contacts: [{
81
+ type: mongoose.Schema.Types.ObjectId,
82
+ ref: MODEL_NAMES.borrowerDataContacts,
83
+ }],
84
+ guarantees: [{
85
+ type: mongoose.Schema.Types.ObjectId,
86
+ ref: MODEL_NAMES.borrowerDataGuarantees,
87
+ }],
88
+ locations: [{
89
+ type: mongoose.Schema.Types.ObjectId,
90
+ ref: MODEL_NAMES.borrowerDataLocations,
91
+ }],
92
+ banks: [{
93
+ type: mongoose.Schema.Types.ObjectId,
94
+ ref: MODEL_NAMES.borrowerDataBanks,
95
+ }],
96
+ insurance: [{
97
+ type: mongoose.Schema.Types.ObjectId,
98
+ ref: MODEL_NAMES.borrowerDataInsurances,
99
+ }],
100
+ },
101
+ { _id: false, timestamps: false, versionKey: false });
102
+
103
+ const BorrowerSettingsSchema = new mongoose.Schema(
104
+ {
105
+ borrower: {
106
+ type: mongoose.Schema.Types.ObjectId,
107
+ ref: MODEL_NAMES.borrowers,
108
+ required: true,
109
+ },
110
+ queries: {
111
+ required: false,
112
+ type: Object,
113
+ default: {},
114
+ },
115
+ dataTypes: {
116
+ required: false,
117
+ type: Object,
118
+ default: {},
119
+ },
120
+ dataAvailability: dataAvailabilitySchema,
121
+ data: dataSchema,
122
+ __v: { type: Number, select: false },
123
+ },
124
+ { timestamps: true },
125
+ );
126
+
127
+ export const BorrowerSettingsModel: mongoose.Model<IBorrowerSettingsDoc> = mongoose.model<IBorrowerSettingsDoc>(MODEL_NAMES.borrowerSettings, BorrowerSettingsSchema);
@@ -9,6 +9,17 @@ export declare const MODEL_NAMES: {
9
9
  BBCDates: string;
10
10
  BBCSheets: string;
11
11
  borrowers: string;
12
+ borrowerData: string;
13
+ borrowerDataBanks: string;
14
+ borrowerDataBootCollaterals: string;
15
+ borrowerDataContacts: string;
16
+ borrowerDataGuarantees: string;
17
+ borrowerDataInsurances: string;
18
+ borrowerDataInventories: string;
19
+ borrowerDataLocations: string;
20
+ borrowerDataReceivables: string;
21
+ borrowerDataTerms: string;
22
+ borrowerSettings: string;
12
23
  borrowerSummaries: string;
13
24
  complianceItems: string;
14
25
  customerGroups: string;
package/models/_models.js CHANGED
@@ -12,6 +12,17 @@ exports.MODEL_NAMES = {
12
12
  BBCDates: 'bbcdates',
13
13
  BBCSheets: 'bbcsheets',
14
14
  borrowers: 'borrowers',
15
+ borrowerData: 'borrower_data',
16
+ borrowerDataBanks: 'borrower_data_banks',
17
+ borrowerDataBootCollaterals: 'borrower_data_boot_collaterals',
18
+ borrowerDataContacts: 'borrower_data_contacts',
19
+ borrowerDataGuarantees: 'borrower_data_guarantees',
20
+ borrowerDataInsurances: 'borrower_data_insurances',
21
+ borrowerDataInventories: 'borrower_data_inventories',
22
+ borrowerDataLocations: 'borrower_data_locations',
23
+ borrowerDataReceivables: 'borrower_data_receivables',
24
+ borrowerDataTerms: 'borrower_data_terms',
25
+ borrowerSettings: 'borrowerSettings',
15
26
  borrowerSummaries: 'borrower_summaries',
16
27
  complianceItems: 'complianceItems',
17
28
  customerGroups: 'customerGroups',
package/models/_models.ts CHANGED
@@ -9,6 +9,17 @@ export const MODEL_NAMES = {
9
9
  BBCDates: 'bbcdates',
10
10
  BBCSheets: 'bbcsheets',
11
11
  borrowers: 'borrowers',
12
+ borrowerData: 'borrower_data',
13
+ borrowerDataBanks: 'borrower_data_banks',
14
+ borrowerDataBootCollaterals: 'borrower_data_boot_collaterals',
15
+ borrowerDataContacts: 'borrower_data_contacts',
16
+ borrowerDataGuarantees: 'borrower_data_guarantees',
17
+ borrowerDataInsurances: 'borrower_data_insurances',
18
+ borrowerDataInventories: 'borrower_data_inventories',
19
+ borrowerDataLocations: 'borrower_data_locations',
20
+ borrowerDataReceivables: 'borrower_data_receivables',
21
+ borrowerDataTerms: 'borrower_data_terms',
22
+ borrowerSettings: 'borrowerSettings',
12
23
  borrowerSummaries: 'borrower_summaries',
13
24
  complianceItems: 'complianceItems',
14
25
  customerGroups: 'customerGroups',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gemcap-be-common",
3
- "version": "1.2.64",
3
+ "version": "1.2.66",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {