identity-admin 1.27.0 → 1.27.2

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.
@@ -287,7 +287,9 @@ let DashboardController = DashboardController_1 = class DashboardController {
287
287
  record = yield repository.save(recordParams);
288
288
  }
289
289
  if (!record.isValid() || !record.document) {
290
- return ResponseUtils_1.default.unprocessable(res, 'Invalid Data', record.getErrors());
290
+ const errors = record.getErrors();
291
+ const errorMessage = errors && errors.length > 0 ? errors[0].message : 'Invalid Data';
292
+ return ResponseUtils_1.default.unprocessable(res, errorMessage, record.getErrors());
291
293
  }
292
294
  if ((_g = resource.properties) === null || _g === void 0 ? void 0 : _g.enableLog) {
293
295
  const newRecord = yield repository.findById(record.getDocument()._id);
@@ -4,6 +4,8 @@ export interface Columns {
4
4
  label: string;
5
5
  value: string;
6
6
  type: FieldTypes;
7
+ titlePath?: string;
8
+ titleType?: FieldTypes;
7
9
  }
8
10
  export declare enum Languages {
9
11
  ARABIC = "ar",
@@ -19,4 +21,5 @@ export default class ReportsGenerator {
19
21
  static getRows(columns: Columns[], data: any[], language: Languages): any[][];
20
22
  static getFieldValue(field: Columns, row: any, language: Languages): any;
21
23
  static checkLocalizedStringExistence(columns: Columns[]): boolean;
24
+ static getReferenceValueByTitleType(rowValue: any, language: Languages, titleType?: FieldTypes): any;
22
25
  }
@@ -91,12 +91,16 @@ class ReportsGenerator {
91
91
  return rows;
92
92
  }
93
93
  static getFieldValue(field, row, language) {
94
- var _a, _b;
94
+ var _a, _b, _c;
95
95
  switch (field.type) {
96
96
  case helpers_1.FieldTypes.OBJECTID:
97
97
  return (_b = (_a = (0, lodash_1.get)(row, field.value)) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : '';
98
98
  case helpers_1.FieldTypes.LOCALIZEDSTRING:
99
99
  return LocalizedStringHelper_1.default.getLocalizedValue(row, field.value, language);
100
+ case helpers_1.FieldTypes.REFERENCE:
101
+ const valuePath = (_c = field.titlePath) !== null && _c !== void 0 ? _c : field.value;
102
+ const rowValue = (0, lodash_1.get)(row, valuePath);
103
+ return rowValue ? this.getReferenceValueByTitleType(rowValue, language, field.titleType) : row[field.value] ? (0, lodash_1.get)(row, `${field.value}._id`).toString() : '-';
100
104
  default:
101
105
  return (0, lodash_1.get)(row, field.value);
102
106
  }
@@ -104,5 +108,31 @@ class ReportsGenerator {
104
108
  static checkLocalizedStringExistence(columns) {
105
109
  return columns.some((column) => column.type === helpers_1.FieldTypes.LOCALIZEDSTRING);
106
110
  }
111
+ static getReferenceValueByTitleType(rowValue, language, titleType) {
112
+ if (!titleType)
113
+ return rowValue;
114
+ switch (titleType) {
115
+ case helpers_1.FieldTypes.BOOLEAN:
116
+ case helpers_1.FieldTypes.STRING:
117
+ case helpers_1.FieldTypes.ENUM:
118
+ case helpers_1.FieldTypes.DATE:
119
+ case helpers_1.FieldTypes.OBJECTID:
120
+ case helpers_1.FieldTypes.PHONENUMBER:
121
+ case helpers_1.FieldTypes.REFERENCE:
122
+ case helpers_1.FieldTypes.COLOR:
123
+ case helpers_1.FieldTypes.TIMEPICKER:
124
+ case helpers_1.FieldTypes.LOCATION:
125
+ case helpers_1.FieldTypes.RICH_TEXT_I:
126
+ case helpers_1.FieldTypes.RICH_TEXT_II:
127
+ case helpers_1.FieldTypes.EXTERNAL_LINK:
128
+ case helpers_1.FieldTypes.NUMBER:
129
+ case helpers_1.FieldTypes.HTML:
130
+ return rowValue;
131
+ case helpers_1.FieldTypes.LOCALIZEDSTRING:
132
+ return LocalizedStringHelper_1.default.getLocalizedValue({ title: rowValue }, 'title', language);
133
+ default:
134
+ return rowValue;
135
+ }
136
+ }
107
137
  }
108
138
  exports.default = ReportsGenerator;
@@ -174,6 +174,9 @@ let Repository = Repository_1 = class Repository {
174
174
  };
175
175
  });
176
176
  }
177
+ else {
178
+ errors = [{ path: e.keyPattern, type: "", message: e.message }];
179
+ }
177
180
  }
178
181
  return new SaveResult_1.default(document, errors);
179
182
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "identity-admin",
3
- "version": "1.27.0",
3
+ "version": "1.27.2",
4
4
  "description": "",
5
5
  "main": "lib/Dashboard.js",
6
6
  "types": "lib/Dashbord.d.ts",