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.
@@ -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 DecisionRuleJoiSchema: Joi.ObjectSchema<any>;
113
- export declare const ScoreBandJoiSchema: Joi.ObjectSchema<any>;
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.ScoreBandJoiSchema = exports.DecisionRuleJoiSchema = exports.ScorecardDefinitionJoiSchema = exports.RISK_RATINGS = exports.SCORECARD_VERSION_STATUS = exports.SCORECARD_VERSION_STATUSES = exports.SCORECARD_CRITERION_TYPE = exports.SCORECARD_CRITERION_TYPES = void 0;
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
- exports.DecisionRuleJoiSchema = joi_1.default.object({
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.ScoreBandJoiSchema = joi_1.default.object({
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
- export const DecisionRuleJoiSchema = Joi.object({
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 ScoreBandJoiSchema = Joi.object({
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: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gemcap-be-common",
3
- "version": "1.4.171",
3
+ "version": "1.4.173",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {