@servicelabsco/slabs-access-manager 2.0.8 → 2.0.11

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 (67) hide show
  1. package/dist/access/controllers/business.preference.controller.js.map +1 -1
  2. package/dist/access/controllers/menu.controller.js +1 -1
  3. package/dist/access/controllers/menu.controller.js.map +1 -1
  4. package/dist/access/dtos/add.menu.dto.d.ts +0 -1
  5. package/dist/access/dtos/add.menu.dto.js +0 -6
  6. package/dist/access/dtos/add.menu.dto.js.map +1 -1
  7. package/dist/access/entities/access.business.entity.d.ts +3 -3
  8. package/dist/access/entities/access.business.entity.js +6 -6
  9. package/dist/access/entities/access.business.entity.js.map +1 -1
  10. package/dist/access/entities/access.country.entity.d.ts +6 -0
  11. package/dist/access/entities/access.country.entity.js +31 -0
  12. package/dist/access/entities/access.country.entity.js.map +1 -0
  13. package/dist/access/entities/index.d.ts +1 -0
  14. package/dist/access/entities/index.js +1 -0
  15. package/dist/access/entities/index.js.map +1 -1
  16. package/dist/access/entities/menu.entity.d.ts +0 -3
  17. package/dist/access/entities/menu.entity.js +0 -10
  18. package/dist/access/entities/menu.entity.js.map +1 -1
  19. package/dist/access/es6.classes.d.ts +2 -1
  20. package/dist/access/es6.classes.js +2 -0
  21. package/dist/access/es6.classes.js.map +1 -1
  22. package/dist/access/libraries/process.menu.creation.js +0 -1
  23. package/dist/access/libraries/process.menu.creation.js.map +1 -1
  24. package/dist/access/libraries/process.menu.details.js +0 -4
  25. package/dist/access/libraries/process.menu.details.js.map +1 -1
  26. package/dist/access/services/access.business.service.js +2 -2
  27. package/dist/access/services/access.business.service.js.map +1 -1
  28. package/dist/access/services/currency.service.js +1 -1
  29. package/dist/access/services/currency.service.js.map +1 -1
  30. package/dist/access/services/developer.mode.access.service.js +1 -1
  31. package/dist/access/services/developer.mode.access.service.js.map +1 -1
  32. package/dist/accessUtility/es6.classes.d.ts +1 -2
  33. package/dist/accessUtility/es6.classes.js +0 -2
  34. package/dist/accessUtility/es6.classes.js.map +1 -1
  35. package/dist/accessUtility/libraries/index.d.ts +0 -1
  36. package/dist/accessUtility/libraries/index.js +0 -1
  37. package/dist/accessUtility/libraries/index.js.map +1 -1
  38. package/dist/accessWorkflow/jobs/workflow.user.job.js +13 -1
  39. package/dist/accessWorkflow/jobs/workflow.user.job.js.map +1 -1
  40. package/dist/accessWorkflow/libraries/process.approval.rule.data.js +1 -2
  41. package/dist/accessWorkflow/libraries/process.approval.rule.data.js.map +1 -1
  42. package/dist/auth.controller.js +1 -2
  43. package/dist/auth.controller.js.map +1 -1
  44. package/dist/mcp/admin/tools/menu/menu.create.tool.d.ts +10 -12
  45. package/dist/mcp/admin/tools/menu/menu.create.tool.js +11 -6
  46. package/dist/mcp/admin/tools/menu/menu.create.tool.js.map +1 -1
  47. package/dist/mcp/admin/tools/menu/menu.list.tool.js +1 -1
  48. package/dist/mcp/admin/tools/menu/menu.list.tool.js.map +1 -1
  49. package/dist/mcp/admin/tools/menu/menu.update.tool.d.ts +2 -4
  50. package/dist/mcp/admin/tools/menu/menu.update.tool.js +1 -2
  51. package/dist/mcp/admin/tools/menu/menu.update.tool.js.map +1 -1
  52. package/dist/migrations/1790712151132-AddCountryBzBusinessDetailsTable.d.ts +5 -0
  53. package/dist/migrations/1790712151132-AddCountryBzBusinessDetailsTable.js +15 -0
  54. package/dist/migrations/1790712151132-AddCountryBzBusinessDetailsTable.js.map +1 -0
  55. package/dist/migrations/1790712152132-AddCurrencySysCountriesTable.d.ts +5 -0
  56. package/dist/migrations/1790712152132-AddCurrencySysCountriesTable.js +15 -0
  57. package/dist/migrations/1790712152132-AddCurrencySysCountriesTable.js.map +1 -0
  58. package/dist/migrations/1790712234280-DropCurrencyBzBusinessDetailsTable.d.ts +5 -0
  59. package/dist/migrations/1790712234280-DropCurrencyBzBusinessDetailsTable.js +15 -0
  60. package/dist/migrations/1790712234280-DropCurrencyBzBusinessDetailsTable.js.map +1 -0
  61. package/dist/migrations/1791318291326-DropBusinessIdUtlMenuDetailsTable.d.ts +5 -0
  62. package/dist/migrations/1791318291326-DropBusinessIdUtlMenuDetailsTable.js +15 -0
  63. package/dist/migrations/1791318291326-DropBusinessIdUtlMenuDetailsTable.js.map +1 -0
  64. package/package.json +2 -2
  65. package/dist/accessUtility/libraries/json.evaluator.d.ts +0 -13
  66. package/dist/accessUtility/libraries/json.evaluator.js +0 -309
  67. package/dist/accessUtility/libraries/json.evaluator.js.map +0 -1
@@ -1,309 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.JsonEvaluator = void 0;
4
- const date_fns_1 = require("date-fns");
5
- const locale_1 = require("date-fns/locale");
6
- class JsonEvaluator {
7
- validate(settings, reference) {
8
- if (!(settings && Array.isArray(settings.rules)))
9
- return false;
10
- let debugStr = '';
11
- let requiredPassed = 0;
12
- let normalPassed = 0;
13
- settings.rules.map((rule, index) => {
14
- let result;
15
- if (rule.combinator) {
16
- result = this.validate(rule, reference);
17
- if (result) {
18
- if (rule.required)
19
- requiredPassed += 1;
20
- else
21
- normalPassed += 1;
22
- }
23
- return;
24
- }
25
- let error;
26
- if (!rule.field) {
27
- error = new Error(`field not specified for rule ${index}`);
28
- error.rule = rule;
29
- throw error;
30
- }
31
- let value = this.getObjectProperty(reference, rule.field);
32
- if (rule.field.includes('[]')) {
33
- const [topPath, nPath] = rule.field.split('[]');
34
- const nestedPath = nPath.substring(1);
35
- value = this.getObjectProperty(reference, topPath).map((item) => (nestedPath ? this.getObjectProperty(item, nestedPath) : item));
36
- }
37
- let targetValue = rule.value;
38
- const targetArrayValue = Array.isArray(targetValue)
39
- ? targetValue
40
- : this.toString(targetValue)
41
- .replaceAll('\\', '')
42
- .split(',')
43
- .map((item) => item.trim());
44
- if (typeof settings.transformValueFn === 'function') {
45
- targetValue = settings.transformValueFn(targetValue, reference, rule.field);
46
- }
47
- let altComparison = null;
48
- if (typeof value === 'boolean' && (typeof targetValue === 'string' || targetValue instanceof String)) {
49
- if (targetValue.toLowerCase() === 'false')
50
- altComparison = false;
51
- if (targetValue.toLowerCase() === 'true')
52
- altComparison = true;
53
- }
54
- switch (rule.operator) {
55
- case '=':
56
- result = this.looseEquals(value, targetValue);
57
- if (this.isDateLike(value)) {
58
- result = (0, date_fns_1.isEqual)(this.getDateValue(value), this.getDateValue(targetValue));
59
- }
60
- if (this.isLiteralDateColumn(targetValue) && this.isDateLike(value)) {
61
- result = (0, date_fns_1.isEqual)((0, date_fns_1.startOfDay)(this.getDateValue(value)), (0, date_fns_1.startOfDay)(this.getLiteralDateValue(targetValue, reference)));
62
- }
63
- if (altComparison !== null)
64
- result = result || value === altComparison;
65
- break;
66
- case '!=':
67
- result = !this.looseEquals(value, targetValue);
68
- if (this.isDateLike(value)) {
69
- result = !(0, date_fns_1.isEqual)(this.getDateValue(value), this.getDateValue(targetValue));
70
- }
71
- if (this.isLiteralDateColumn(targetValue) && this.isDateLike(value)) {
72
- result = !(0, date_fns_1.isEqual)((0, date_fns_1.startOfDay)(this.getDateValue(value)), (0, date_fns_1.startOfDay)(this.getLiteralDateValue(targetValue, reference)));
73
- }
74
- if (altComparison !== null)
75
- result = result && value !== altComparison;
76
- break;
77
- case '>':
78
- result = this.toComparable(value) > this.toComparable(targetValue);
79
- if (this.isDateLike(value)) {
80
- result = (0, date_fns_1.isAfter)(this.getDateValue(value), this.getDateValue(targetValue));
81
- }
82
- if (this.isLiteralDateColumn(targetValue) && this.isDateLike(value)) {
83
- result = (0, date_fns_1.isAfter)(this.getDateValue(value), this.getLiteralDateValue(targetValue, reference));
84
- }
85
- break;
86
- case '>=':
87
- result = this.toComparable(value) >= this.toComparable(targetValue);
88
- if (this.isDateLike(value)) {
89
- result =
90
- (0, date_fns_1.isAfter)(this.getDateValue(value), this.getDateValue(targetValue)) ||
91
- (0, date_fns_1.isEqual)(this.getDateValue(value), this.getDateValue(targetValue));
92
- }
93
- if (this.isLiteralDateColumn(targetValue) && this.isDateLike(value)) {
94
- result =
95
- (0, date_fns_1.isAfter)(this.getDateValue(value), this.getLiteralDateValue(targetValue, reference)) ||
96
- (0, date_fns_1.isEqual)((0, date_fns_1.startOfDay)(this.getDateValue(value)), (0, date_fns_1.startOfDay)(this.getLiteralDateValue(targetValue, reference)));
97
- }
98
- break;
99
- case '<':
100
- result = this.toComparable(value) < this.toComparable(targetValue);
101
- if (this.isDateLike(value)) {
102
- result = (0, date_fns_1.isBefore)(this.getDateValue(value), this.getDateValue(targetValue));
103
- }
104
- if (this.isLiteralDateColumn(targetValue) && this.isDateLike(value)) {
105
- result = (0, date_fns_1.isBefore)(this.getDateValue(value), this.getLiteralDateValue(targetValue, reference));
106
- }
107
- break;
108
- case '<=':
109
- result = this.toComparable(value) <= this.toComparable(targetValue);
110
- if (this.isDateLike(value)) {
111
- result =
112
- (0, date_fns_1.isBefore)(this.getDateValue(value), this.getDateValue(targetValue)) ||
113
- (0, date_fns_1.isEqual)(this.getDateValue(value), this.getDateValue(targetValue));
114
- }
115
- if (this.isLiteralDateColumn(targetValue) && this.isDateLike(value)) {
116
- result =
117
- (0, date_fns_1.isBefore)(this.getDateValue(value), this.getLiteralDateValue(targetValue, reference)) ||
118
- (0, date_fns_1.isEqual)((0, date_fns_1.startOfDay)(this.getDateValue(value)), (0, date_fns_1.startOfDay)(this.getLiteralDateValue(targetValue, reference)));
119
- }
120
- break;
121
- case 'startsWith':
122
- result = this.toString(value).startsWith(targetValue);
123
- break;
124
- case 'endsWith':
125
- result = this.toString(value).endsWith(targetValue);
126
- break;
127
- case 'like':
128
- result = this.toString(value).includes(targetValue);
129
- break;
130
- case 'not null':
131
- result = Boolean(value);
132
- break;
133
- case 'notNull':
134
- result = Boolean(value);
135
- break;
136
- case 'null':
137
- result = !value;
138
- break;
139
- case 'matches':
140
- result = value == this.getObjectProperty(reference, targetValue);
141
- break;
142
- case 'not matches':
143
- result = value != this.getObjectProperty(reference, targetValue);
144
- break;
145
- case 'contains':
146
- result = targetArrayValue.some((targetValue) => targetValue == value);
147
- break;
148
- case 'in':
149
- result = targetArrayValue.some((targetValue) => targetValue == value);
150
- break;
151
- case 'not contains':
152
- case 'notIn':
153
- result = !targetArrayValue.some((targetValue) => targetValue == value);
154
- break;
155
- case 'all':
156
- result = Array.isArray(value) && !value.find((v) => v !== targetValue);
157
- break;
158
- case 'some':
159
- result = Array.isArray(value) && value.includes(targetValue);
160
- break;
161
- case 'none':
162
- result = (Array.isArray(value) || value === null || typeof value === 'undefined') && !(value || []).includes(targetValue);
163
- break;
164
- case 'crosses': {
165
- if (typeof settings.previousValueFn !== 'function') {
166
- throw new Error('Comparison "crosses" selected, but no function supplied to return previous value');
167
- }
168
- const lastValue = settings.previousValueFn(reference, rule.field);
169
- result = targetValue > lastValue && targetValue <= value;
170
- debugStr = `(${index}) ${rule.field} was ${lastValue} and became ${value}. crossed ${targetValue}? ${result}\n`;
171
- break;
172
- }
173
- case 'between': {
174
- const between = rule.value.split(',').map((a) => Number(a));
175
- const val = this.getObjectProperty(reference, rule.field);
176
- result = val > between[0] && val < between[1];
177
- break;
178
- }
179
- case 'notBetween': {
180
- const notBetween = rule.value.split(',').map((a) => Number(a));
181
- const refVal = this.getObjectProperty(reference, rule.field);
182
- result = refVal <= notBetween[0] || refVal >= notBetween[1];
183
- break;
184
- }
185
- default:
186
- error = new Error(`Unknown comparison for rule (${rule.operator})`);
187
- error.rule = rule;
188
- throw error;
189
- }
190
- if (result) {
191
- if (rule.required)
192
- requiredPassed += 1;
193
- else
194
- normalPassed += 1;
195
- }
196
- const unary = ['absent', 'present'].includes(rule.operator);
197
- debugStr += `(${index}) ${rule.field} (${value}) ${unary ? 'is' : ''} ${rule.operator} ${unary ? '' : targetValue}? ${result}\n`;
198
- });
199
- const requiredTotal = settings.rules.reduce((total, rule) => total + (rule.required ? 1 : 0), 0);
200
- const normalTotal = settings.rules.length - requiredTotal;
201
- const combinator = settings.combinator || 'or';
202
- const requiredSatisfied = !requiredTotal || requiredTotal === requiredPassed;
203
- const normalSatisfied = !normalTotal || (combinator === 'and' ? normalPassed === normalTotal : normalPassed > 0);
204
- const outcome = normalSatisfied && requiredSatisfied;
205
- if (normalTotal > 0) {
206
- debugStr += `Passed ${normalPassed} / ${normalTotal} (need ${combinator}, ${normalSatisfied ? 'pass' : 'fail'})\n`;
207
- }
208
- if (requiredTotal > 0)
209
- debugStr += `Passed ${requiredPassed} / ${requiredTotal} required conditions (${requiredSatisfied ? 'pass' : 'fail'})\n`;
210
- debugStr += `Result: ${outcome ? 'PASS' : 'FAIL'}`;
211
- if (settings.log)
212
- settings.log(debugStr);
213
- return outcome;
214
- }
215
- getObjectProperty(object, path, defVal = undefined) {
216
- if (typeof path === 'string')
217
- path = path.split('.');
218
- if (Array.isArray(path) && path.length < 1)
219
- return object[path[0]] || defVal;
220
- return path.reduce((xs, x) => (xs && xs[x] !== undefined ? xs[x] : defVal), object);
221
- }
222
- toString(value) {
223
- return typeof value === 'string' ? value : JSON.stringify(value);
224
- }
225
- getDateValue(value) {
226
- if ((0, date_fns_1.isValid)(new Date(value)))
227
- return new Date(value);
228
- return (0, date_fns_1.parse)(value, 'P', new Date(), { locale: locale_1.enIN });
229
- }
230
- isLiteralDateColumn(value) {
231
- return Array.isArray(value) && value.length === 3;
232
- }
233
- getLiteralDateValue(value, reference) {
234
- const [days, direction, selector] = value;
235
- let date = (0, date_fns_1.startOfDay)(new Date());
236
- if (selector !== 'today') {
237
- date = this.getDateValue(this.getObjectProperty(reference, selector));
238
- }
239
- if (direction === 'before') {
240
- date = (0, date_fns_1.subDays)(date, days);
241
- }
242
- if (direction === 'after') {
243
- date = (0, date_fns_1.addDays)(date, days);
244
- }
245
- return date;
246
- }
247
- isDateLike(value) {
248
- if (value instanceof Date)
249
- return (0, date_fns_1.isValid)(value);
250
- if (typeof value !== 'string')
251
- return false;
252
- const trimmed = value.trim();
253
- if (!trimmed)
254
- return false;
255
- if (!Number.isNaN(Number(trimmed)))
256
- return false;
257
- if (!/\d{4}/.test(trimmed))
258
- return false;
259
- return (0, date_fns_1.isValid)(this.getDateValue(trimmed));
260
- }
261
- toComparable(value) {
262
- if (typeof value === 'number')
263
- return value;
264
- if (typeof value !== 'string')
265
- return value;
266
- const trimmed = value.trim();
267
- if (!trimmed)
268
- return value;
269
- const numeric = Number(trimmed);
270
- return Number.isNaN(numeric) ? value : numeric;
271
- }
272
- looseEquals(value, targetValue) {
273
- if (value === targetValue)
274
- return true;
275
- if (value === null || value === undefined)
276
- return false;
277
- if (targetValue === null || targetValue === undefined)
278
- return false;
279
- return this.toComparable(value) === this.toComparable(targetValue);
280
- }
281
- }
282
- exports.JsonEvaluator = JsonEvaluator;
283
- JsonEvaluator.OPERATORS = [
284
- '=',
285
- '!=',
286
- '>',
287
- '>=',
288
- '<',
289
- '<=',
290
- 'startsWith',
291
- 'endsWith',
292
- 'like',
293
- 'not null',
294
- 'notNull',
295
- 'null',
296
- 'matches',
297
- 'not matches',
298
- 'contains',
299
- 'in',
300
- 'not contains',
301
- 'notIn',
302
- 'all',
303
- 'some',
304
- 'none',
305
- 'crosses',
306
- 'between',
307
- 'notBetween',
308
- ];
309
- //# sourceMappingURL=json.evaluator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"json.evaluator.js","sourceRoot":"","sources":["../../../src/accessUtility/libraries/json.evaluator.ts"],"names":[],"mappings":"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"}