gemcap-be-common 1.4.171 → 1.4.173
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/models/ScorecardSubmission.model.d.ts +3 -0
- package/models/ScorecardSubmission.model.js +13 -0
- package/models/ScorecardSubmission.model.ts +16 -0
- package/models/ScorecardVersion.model.d.ts +2 -2
- package/models/ScorecardVersion.model.js +11 -3
- package/models/ScorecardVersion.model.ts +12 -2
- package/package.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -32,6 +32,9 @@ export interface IStorecardSubmission {
|
|
|
32
32
|
sectionScores?: Record<string, number>;
|
|
33
33
|
status: 'draft' | 'final';
|
|
34
34
|
lockedAt: Date;
|
|
35
|
+
finalResult?: string;
|
|
36
|
+
resultSource?: 'SCORE' | 'RULE';
|
|
37
|
+
resultRuleKey?: string;
|
|
35
38
|
}
|
|
36
39
|
export interface IStorecardSubmissionDoc extends IStorecardSubmission, Document {
|
|
37
40
|
_id: mongoose.Types.ObjectId;
|
|
@@ -43,6 +43,19 @@ exports.StorecardSubmissionSchema = new mongoose_1.default.Schema({
|
|
|
43
43
|
type: Date,
|
|
44
44
|
required: false,
|
|
45
45
|
},
|
|
46
|
+
finalResult: {
|
|
47
|
+
type: String,
|
|
48
|
+
required: false,
|
|
49
|
+
},
|
|
50
|
+
resultSource: {
|
|
51
|
+
type: String,
|
|
52
|
+
enum: ['SCORE', 'DECISION_RULE'],
|
|
53
|
+
required: false,
|
|
54
|
+
},
|
|
55
|
+
resultRuleKey: {
|
|
56
|
+
type: String,
|
|
57
|
+
required: false,
|
|
58
|
+
},
|
|
46
59
|
}, {
|
|
47
60
|
timestamps: { createdAt: true, updatedAt: true },
|
|
48
61
|
versionKey: false,
|
|
@@ -11,6 +11,9 @@ export interface IStorecardSubmission {
|
|
|
11
11
|
sectionScores?: Record<string, number>;
|
|
12
12
|
status: 'draft' | 'final';
|
|
13
13
|
lockedAt: Date;
|
|
14
|
+
finalResult?: string;
|
|
15
|
+
resultSource?: 'SCORE' | 'RULE';
|
|
16
|
+
resultRuleKey?: string;
|
|
14
17
|
}
|
|
15
18
|
|
|
16
19
|
export interface IStorecardSubmissionDoc extends IStorecardSubmission, Document {
|
|
@@ -72,6 +75,19 @@ export const StorecardSubmissionSchema = new mongoose.Schema<IStorecardSubmissio
|
|
|
72
75
|
type: Date,
|
|
73
76
|
required: false,
|
|
74
77
|
},
|
|
78
|
+
finalResult: {
|
|
79
|
+
type: String,
|
|
80
|
+
required: false,
|
|
81
|
+
},
|
|
82
|
+
resultSource: {
|
|
83
|
+
type: String,
|
|
84
|
+
enum: ['SCORE', 'DECISION_RULE'],
|
|
85
|
+
required: false,
|
|
86
|
+
},
|
|
87
|
+
resultRuleKey: {
|
|
88
|
+
type: String,
|
|
89
|
+
required: false,
|
|
90
|
+
},
|
|
75
91
|
},
|
|
76
92
|
{
|
|
77
93
|
timestamps: { createdAt: true, updatedAt: true },
|
|
@@ -109,8 +109,8 @@ export interface IScorecardVersionPlain extends IScorecardVersion {
|
|
|
109
109
|
}
|
|
110
110
|
export type TScorecardVersionModel = Model<IScorecardVersion>;
|
|
111
111
|
export declare const ScorecardDefinitionJoiSchema: Joi.ObjectSchema<any>;
|
|
112
|
-
export declare const
|
|
113
|
-
export declare const
|
|
112
|
+
export declare const DecisionRulesJoiSchema: Joi.ArraySchema<any[]>;
|
|
113
|
+
export declare const ScoreBandsJoiSchema: Joi.ArraySchema<any[]>;
|
|
114
114
|
export declare const ScorecardVersionSchema: mongoose.Schema<IScorecardVersion, TScorecardVersionModel, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, IScorecardVersion, mongoose.Document<unknown, {}, mongoose.FlatRecord<IScorecardVersion>> & mongoose.FlatRecord<IScorecardVersion> & {
|
|
115
115
|
_id: mongoose.Types.ObjectId;
|
|
116
116
|
}>;
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ScorecardVersion = exports.ScorecardVersionSchema = exports.
|
|
6
|
+
exports.ScorecardVersion = exports.ScorecardVersionSchema = exports.ScoreBandsJoiSchema = exports.DecisionRulesJoiSchema = exports.ScorecardDefinitionJoiSchema = exports.RISK_RATINGS = exports.SCORECARD_VERSION_STATUS = exports.SCORECARD_VERSION_STATUSES = exports.SCORECARD_CRITERION_TYPE = exports.SCORECARD_CRITERION_TYPES = void 0;
|
|
7
7
|
const joi_1 = __importDefault(require("joi"));
|
|
8
8
|
const mongoose_1 = __importDefault(require("mongoose"));
|
|
9
9
|
const _models_1 = require("./_models");
|
|
@@ -106,7 +106,7 @@ exports.ScorecardDefinitionJoiSchema = joi_1.default.object({
|
|
|
106
106
|
.min(1)
|
|
107
107
|
.required(),
|
|
108
108
|
}).required();
|
|
109
|
-
|
|
109
|
+
const DecisionRuleJoiSchema = joi_1.default.object({
|
|
110
110
|
when: joi_1.default.object({
|
|
111
111
|
key: joi_1.default.string().required(),
|
|
112
112
|
equals: joi_1.default.alternatives(joi_1.default.string(), joi_1.default.number(), joi_1.default.boolean()).required(),
|
|
@@ -116,13 +116,21 @@ exports.DecisionRuleJoiSchema = joi_1.default.object({
|
|
|
116
116
|
.required(),
|
|
117
117
|
priority: joi_1.default.number().integer().min(1).required(),
|
|
118
118
|
});
|
|
119
|
-
exports.
|
|
119
|
+
exports.DecisionRulesJoiSchema = joi_1.default.array()
|
|
120
|
+
.items(DecisionRuleJoiSchema)
|
|
121
|
+
.min(0)
|
|
122
|
+
.required();
|
|
123
|
+
const ScoreBandJoiSchema = joi_1.default.object({
|
|
120
124
|
min: joi_1.default.number().required(),
|
|
121
125
|
max: joi_1.default.number().optional(),
|
|
122
126
|
result: joi_1.default.string()
|
|
123
127
|
.valid(...exports.RISK_RATINGS)
|
|
124
128
|
.required(),
|
|
125
129
|
});
|
|
130
|
+
exports.ScoreBandsJoiSchema = joi_1.default.array()
|
|
131
|
+
.items(ScoreBandJoiSchema)
|
|
132
|
+
.min(1)
|
|
133
|
+
.required();
|
|
126
134
|
const DecisionRuleSchema = new mongoose_1.default.Schema({
|
|
127
135
|
when: {
|
|
128
136
|
key: { type: String, required: true },
|
|
@@ -204,7 +204,7 @@ export const ScorecardDefinitionJoiSchema = Joi.object({
|
|
|
204
204
|
.required(),
|
|
205
205
|
}).required();
|
|
206
206
|
|
|
207
|
-
|
|
207
|
+
const DecisionRuleJoiSchema = Joi.object({
|
|
208
208
|
when: Joi.object({
|
|
209
209
|
key: Joi.string().required(),
|
|
210
210
|
equals: Joi.alternatives(
|
|
@@ -221,7 +221,12 @@ export const DecisionRuleJoiSchema = Joi.object({
|
|
|
221
221
|
priority: Joi.number().integer().min(1).required(),
|
|
222
222
|
});
|
|
223
223
|
|
|
224
|
-
export const
|
|
224
|
+
export const DecisionRulesJoiSchema = Joi.array()
|
|
225
|
+
.items(DecisionRuleJoiSchema)
|
|
226
|
+
.min(0)
|
|
227
|
+
.required();
|
|
228
|
+
|
|
229
|
+
const ScoreBandJoiSchema = Joi.object({
|
|
225
230
|
min: Joi.number().required(),
|
|
226
231
|
max: Joi.number().optional(),
|
|
227
232
|
result: Joi.string()
|
|
@@ -229,6 +234,11 @@ export const ScoreBandJoiSchema = Joi.object({
|
|
|
229
234
|
.required(),
|
|
230
235
|
});
|
|
231
236
|
|
|
237
|
+
export const ScoreBandsJoiSchema = Joi.array()
|
|
238
|
+
.items(ScoreBandJoiSchema)
|
|
239
|
+
.min(1)
|
|
240
|
+
.required();
|
|
241
|
+
|
|
232
242
|
const DecisionRuleSchema = new mongoose.Schema<IDecisionRule>(
|
|
233
243
|
{
|
|
234
244
|
when: {
|