identity-admin 1.26.10 → 1.26.12

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.
@@ -236,7 +236,7 @@ let DashboardController = DashboardController_1 = class DashboardController {
236
236
  });
237
237
  }
238
238
  create(req, res) {
239
- var _a, _b, _c, _d, _e, _f;
239
+ var _a, _b, _c, _d, _e, _f, _g, _h;
240
240
  return __awaiter(this, void 0, void 0, function* () {
241
241
  if (!this.validateRequest(req, res)) {
242
242
  return;
@@ -272,7 +272,7 @@ let DashboardController = DashboardController_1 = class DashboardController {
272
272
  const validation = crudOperations.create.validators[index];
273
273
  const result = yield validation.run(req);
274
274
  if (!result.isEmpty()) {
275
- return ResponseUtils_1.default.unprocessable(res, 'Invalid data', result.array());
275
+ return ResponseUtils_1.default.unprocessable(res, (_f = (result.array() && ((_e = result.array()[0]) === null || _e === void 0 ? void 0 : _e.msg))) !== null && _f !== void 0 ? _f : 'Invalid data', result.array());
276
276
  }
277
277
  }
278
278
  }
@@ -289,11 +289,11 @@ let DashboardController = DashboardController_1 = class DashboardController {
289
289
  if (!record.isValid() || !record.document) {
290
290
  return ResponseUtils_1.default.unprocessable(res, 'Invalid Data', record.getErrors());
291
291
  }
292
- if ((_e = resource.properties) === null || _e === void 0 ? void 0 : _e.enableLog) {
292
+ if ((_g = resource.properties) === null || _g === void 0 ? void 0 : _g.enableLog) {
293
293
  const newRecord = yield repository.findById(record.getDocument()._id);
294
294
  const userActionsLog = new UserActionsLog_1.default({
295
295
  action: IUserActionsLog_1.UserActions.CREATE,
296
- modelName: (_f = resource === null || resource === void 0 ? void 0 : resource.properties) === null || _f === void 0 ? void 0 : _f.modelName,
296
+ modelName: (_h = resource === null || resource === void 0 ? void 0 : resource.properties) === null || _h === void 0 ? void 0 : _h.modelName,
297
297
  userId: req.user._id,
298
298
  dataAfter: JSON.stringify(newRecord),
299
299
  resourceId: newRecord === null || newRecord === void 0 ? void 0 : newRecord._id,
@@ -309,7 +309,7 @@ let DashboardController = DashboardController_1 = class DashboardController {
309
309
  });
310
310
  }
311
311
  update(req, res) {
312
- var _a, _b, _c, _d, _e, _f, _g;
312
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
313
313
  return __awaiter(this, void 0, void 0, function* () {
314
314
  if (!this.validateRequest(req, res)) {
315
315
  return;
@@ -349,12 +349,12 @@ let DashboardController = DashboardController_1 = class DashboardController {
349
349
  const validation = crudOperations.update.validators[index];
350
350
  const result = yield validation.run(req);
351
351
  if (!result.isEmpty()) {
352
- return ResponseUtils_1.default.unprocessable(res, 'Invalid data', result.array());
352
+ return ResponseUtils_1.default.unprocessable(res, (_f = (result.array() && ((_e = result.array()[0]) === null || _e === void 0 ? void 0 : _e.msg))) !== null && _f !== void 0 ? _f : 'Invalid data', result.array());
353
353
  }
354
354
  }
355
355
  }
356
356
  var recordSaveResult = {};
357
- if ((_e = crudOperations === null || crudOperations === void 0 ? void 0 : crudOperations.update) === null || _e === void 0 ? void 0 : _e.update) {
357
+ if ((_g = crudOperations === null || crudOperations === void 0 ? void 0 : crudOperations.update) === null || _g === void 0 ? void 0 : _g.update) {
358
358
  recordSaveResult = yield crudOperations.update.update(req, record, recordParams, currentUser);
359
359
  }
360
360
  else {
@@ -366,11 +366,11 @@ let DashboardController = DashboardController_1 = class DashboardController {
366
366
  // if (resource.properties.modelName === ModelNames.Settings) {
367
367
  // await AppSettings.run()
368
368
  // }
369
- if ((_f = resource.properties) === null || _f === void 0 ? void 0 : _f.enableLog) {
369
+ if ((_h = resource.properties) === null || _h === void 0 ? void 0 : _h.enableLog) {
370
370
  const newRecord = yield repository.findById(record._id);
371
371
  const userActionsLog = new UserActionsLog_1.default({
372
372
  action: IUserActionsLog_1.UserActions.EDIT,
373
- modelName: (_g = resource === null || resource === void 0 ? void 0 : resource.properties) === null || _g === void 0 ? void 0 : _g.modelName,
373
+ modelName: (_j = resource === null || resource === void 0 ? void 0 : resource.properties) === null || _j === void 0 ? void 0 : _j.modelName,
374
374
  userId: req.user._id,
375
375
  dataBefore: JSON.stringify(record),
376
376
  dataAfter: JSON.stringify(newRecord),
@@ -1,7 +1,8 @@
1
- import { Model } from "mongoose";
1
+ import { Model } from 'mongoose';
2
2
  export declare class PermissionFetcher {
3
3
  private permissionGroupId?;
4
4
  private Permission;
5
- constructor(Permission: Model<any, any>, permissionGroupId?: string);
5
+ private userPermissionGroupId?;
6
+ constructor(Permission: Model<any, any>, permissionGroupId?: string, userPermissionGroupId?: string);
6
7
  fetch(): Promise<import("./types").IPermissions[]>;
7
8
  }
@@ -16,39 +16,56 @@ exports.PermissionFetcher = void 0;
16
16
  const mongoose_1 = __importDefault(require("mongoose"));
17
17
  const PermissionMapper_1 = require("./PermissionMapper");
18
18
  class PermissionFetcher {
19
- constructor(Permission, permissionGroupId) {
19
+ constructor(Permission, permissionGroupId, userPermissionGroupId) {
20
20
  this.permissionGroupId = permissionGroupId;
21
21
  this.Permission = Permission;
22
+ this.userPermissionGroupId = userPermissionGroupId;
22
23
  }
23
24
  fetch() {
24
25
  return __awaiter(this, void 0, void 0, function* () {
25
26
  const ObjectId = mongoose_1.default.Types.ObjectId;
26
- const pipeline = [
27
- {
28
- $sort: {
29
- modelName: 1,
30
- },
31
- },
32
- {
33
- $group: {
34
- _id: "$modelName",
35
- documents: { $push: "$$ROOT" },
27
+ const pipeline = [];
28
+ if (this.userPermissionGroupId) {
29
+ pipeline.push({
30
+ $lookup: {
31
+ from: 'adminpermissions',
32
+ localField: '_id',
33
+ foreignField: 'permissionId',
34
+ as: 'adminPermissionDetails',
35
+ pipeline: [
36
+ {
37
+ $match: {
38
+ permissionGroupId: new ObjectId(this.userPermissionGroupId),
39
+ },
40
+ },
41
+ ],
36
42
  },
43
+ }, {
44
+ $unwind: '$adminPermissionDetails',
45
+ });
46
+ }
47
+ // Sorting and grouping stages
48
+ pipeline.push({
49
+ $sort: {
50
+ modelName: 1,
37
51
  },
38
- {
39
- $unwind: "$documents",
40
- },
41
- {
42
- $sort: { order: 1 },
52
+ }, {
53
+ $group: {
54
+ _id: '$modelName',
55
+ documents: { $push: '$$ROOT' },
43
56
  },
44
- ];
57
+ }, {
58
+ $unwind: '$documents',
59
+ }, {
60
+ $sort: { 'documents.order': 1 },
61
+ });
45
62
  if (this.permissionGroupId) {
46
63
  pipeline.push({
47
64
  $lookup: {
48
- from: "adminpermissions",
49
- localField: "documents._id",
50
- foreignField: "permissionId",
51
- as: "checkedPermissions",
65
+ from: 'adminpermissions',
66
+ localField: 'documents._id',
67
+ foreignField: 'permissionId',
68
+ as: 'checkedPermissions',
52
69
  pipeline: [
53
70
  {
54
71
  $match: {
@@ -61,9 +78,9 @@ class PermissionFetcher {
61
78
  }
62
79
  pipeline.push({
63
80
  $group: {
64
- _id: "$_id",
65
- documents: { $push: "$documents" },
66
- checkedPermissions: { $push: "$checkedPermissions" },
81
+ _id: '$_id',
82
+ documents: { $push: '$documents' },
83
+ checkedPermissions: { $push: '$checkedPermissions' },
67
84
  },
68
85
  }, {
69
86
  $sort: { _id: 1 },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "identity-admin",
3
- "version": "1.26.10",
3
+ "version": "1.26.12",
4
4
  "description": "",
5
5
  "main": "lib/Dashboard.js",
6
6
  "types": "lib/Dashbord.d.ts",