@tomei/sso 0.37.4 → 0.38.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. package/__tests__/unit/components/group-object-privilege/group-object-privilege.spec.ts +4 -4
  2. package/__tests__/unit/components/group-privilege/group-privilege.spec.ts +3 -3
  3. package/__tests__/unit/components/user-object-privilege/user-object-privilege.spec.ts +3 -3
  4. package/__tests__/unit/components/user-privilege/user-privilege.spec.ts +3 -3
  5. package/dist/__tests__/unit/components/group-object-privilege/group-object-privilege.spec.js +4 -4
  6. package/dist/__tests__/unit/components/group-object-privilege/group-object-privilege.spec.js.map +1 -1
  7. package/dist/__tests__/unit/components/group-privilege/group-privilege.spec.js +3 -3
  8. package/dist/__tests__/unit/components/group-privilege/group-privilege.spec.js.map +1 -1
  9. package/dist/__tests__/unit/components/user-object-privilege/user-object-privilege.spec.js +3 -3
  10. package/dist/__tests__/unit/components/user-object-privilege/user-object-privilege.spec.js.map +1 -1
  11. package/dist/__tests__/unit/components/user-privilege/user-privilege.spec.js +3 -3
  12. package/dist/__tests__/unit/components/user-privilege/user-privilege.spec.js.map +1 -1
  13. package/dist/src/components/group/group.d.ts +24 -12
  14. package/dist/src/components/group/group.js +194 -42
  15. package/dist/src/components/group/group.js.map +1 -1
  16. package/dist/src/components/group-object-privilege/group-object-privilege.d.ts +1 -1
  17. package/dist/src/components/group-object-privilege/group-object-privilege.js +7 -7
  18. package/dist/src/components/group-object-privilege/group-object-privilege.js.map +1 -1
  19. package/dist/src/components/group-privilege/group-privilege.d.ts +1 -1
  20. package/dist/src/components/group-privilege/group-privilege.js +2 -2
  21. package/dist/src/components/group-privilege/group-privilege.js.map +1 -1
  22. package/dist/src/components/group-privilege/group-privilege.repository.d.ts +1 -1
  23. package/dist/src/components/group-privilege/group-privilege.repository.js +11 -3
  24. package/dist/src/components/group-privilege/group-privilege.repository.js.map +1 -1
  25. package/dist/src/components/login-user/login-user.js.map +1 -1
  26. package/dist/src/components/login-user/user.js +2 -2
  27. package/dist/src/components/login-user/user.js.map +1 -1
  28. package/dist/src/components/system/system.js +1 -1
  29. package/dist/src/components/system/system.js.map +1 -1
  30. package/dist/src/components/system-privilege/system-privilege.d.ts +4 -3
  31. package/dist/src/components/system-privilege/system-privilege.js +18 -11
  32. package/dist/src/components/system-privilege/system-privilege.js.map +1 -1
  33. package/dist/src/components/user-group/user-group.js +1 -1
  34. package/dist/src/components/user-group/user-group.js.map +1 -1
  35. package/dist/src/components/user-object-privilege/user-object-privilege.d.ts +1 -1
  36. package/dist/src/components/user-object-privilege/user-object-privilege.js +1 -1
  37. package/dist/src/components/user-object-privilege/user-object-privilege.js.map +1 -1
  38. package/dist/src/components/user-privilege/user-privilege.d.ts +1 -1
  39. package/dist/src/components/user-privilege/user-privilege.js +1 -1
  40. package/dist/src/components/user-privilege/user-privilege.js.map +1 -1
  41. package/dist/src/interfaces/group-object-privilege.interface.d.ts +1 -1
  42. package/dist/src/interfaces/group-privilege.interface.d.ts +1 -1
  43. package/dist/src/interfaces/group.interface.d.ts +1 -0
  44. package/dist/src/interfaces/system-privilege.interface.d.ts +1 -0
  45. package/dist/src/interfaces/user-object-privilege.interface.d.ts +1 -1
  46. package/dist/src/interfaces/user-privilege.interface.d.ts +1 -1
  47. package/dist/src/models/group-object-privilege.entity.d.ts +1 -1
  48. package/dist/src/models/group-object-privilege.entity.js +1 -1
  49. package/dist/src/models/group-object-privilege.entity.js.map +1 -1
  50. package/dist/src/models/group-privilege.entity.d.ts +1 -1
  51. package/dist/src/models/group-privilege.entity.js +1 -1
  52. package/dist/src/models/group-privilege.entity.js.map +1 -1
  53. package/dist/src/models/group.entity.d.ts +1 -0
  54. package/dist/src/models/group.entity.js +7 -0
  55. package/dist/src/models/group.entity.js.map +1 -1
  56. package/dist/src/models/system-privilege.entity.d.ts +1 -0
  57. package/dist/src/models/system-privilege.entity.js +8 -0
  58. package/dist/src/models/system-privilege.entity.js.map +1 -1
  59. package/dist/src/models/user-object-privilege.entity.d.ts +1 -1
  60. package/dist/src/models/user-object-privilege.entity.js +1 -1
  61. package/dist/src/models/user-object-privilege.entity.js.map +1 -1
  62. package/dist/src/models/user-privilege.entity.d.ts +1 -1
  63. package/dist/src/models/user-privilege.entity.js +1 -1
  64. package/dist/src/models/user-privilege.entity.js.map +1 -1
  65. package/dist/tsconfig.tsbuildinfo +1 -1
  66. package/migrations/20240527064926-create-system-privilege-table.js +66 -62
  67. package/migrations/20240527065342-create-group-table.js +4 -0
  68. package/migrations/20240528032229-user-privilege-table.js +2 -2
  69. package/migrations/20240528063003-create-group-privilege-table.js +12 -2
  70. package/migrations/20240528063051-create-group-object-privilege-table.js +2 -2
  71. package/migrations/20240528063107-create-user-object-privilege-table.js +2 -2
  72. package/package.json +8 -8
  73. package/src/components/group/group.ts +231 -60
  74. package/src/components/group-object-privilege/group-object-privilege.ts +9 -9
  75. package/src/components/group-privilege/group-privilege.repository.ts +16 -3
  76. package/src/components/group-privilege/group-privilege.ts +3 -3
  77. package/src/components/login-user/login-user.ts +0 -58
  78. package/src/components/login-user/user.ts +2 -4
  79. package/src/components/system/system.ts +1 -1
  80. package/src/components/system-privilege/system-privilege.ts +20 -12
  81. package/src/components/user-group/user-group.ts +1 -1
  82. package/src/components/user-object-privilege/user-object-privilege.ts +2 -2
  83. package/src/components/user-privilege/user-privilege.ts +2 -2
  84. package/src/interfaces/group-object-privilege.interface.ts +1 -1
  85. package/src/interfaces/group-privilege.interface.ts +1 -1
  86. package/src/interfaces/group.interface.ts +1 -0
  87. package/src/interfaces/system-privilege.interface.ts +1 -0
  88. package/src/interfaces/user-object-privilege.interface.ts +1 -1
  89. package/src/interfaces/user-privilege.interface.ts +1 -1
  90. package/src/models/group-object-privilege.entity.ts +1 -1
  91. package/src/models/group-privilege.entity.ts +1 -1
  92. package/src/models/group.entity.ts +6 -0
  93. package/src/models/system-privilege.entity.ts +7 -0
  94. package/src/models/user-object-privilege.entity.ts +1 -1
  95. package/src/models/user-privilege.entity.ts +1 -1
@@ -26,7 +26,7 @@ const group_privilege_entity_1 = require("../../models/group-privilege.entity");
26
26
  const group_object_privilege_repository_1 = require("../group-object-privilege/group-object-privilege.repository");
27
27
  const group_object_privilege_1 = require("../group-object-privilege/group-object-privilege");
28
28
  const group_privilege_1 = require("../group-privilege/group-privilege");
29
- class Group extends general_1.ObjectBase {
29
+ class Group extends general_1.TreeNodeBase {
30
30
  get GroupCode() {
31
31
  return this.ObjectId;
32
32
  }
@@ -45,9 +45,15 @@ class Group extends general_1.ObjectBase {
45
45
  get UpdatedAt() {
46
46
  return this._UpdatedAt;
47
47
  }
48
+ set Path(value) {
49
+ this._Path = value;
50
+ }
48
51
  constructor(groupAttr) {
49
52
  super();
50
53
  this.ObjectType = 'Group';
54
+ this._Path = '';
55
+ this.isChildrenLoaded = false;
56
+ this.isParentLoaded = false;
51
57
  if (groupAttr) {
52
58
  this.GroupCode = groupAttr.GroupCode;
53
59
  this.Name = groupAttr.Name;
@@ -57,6 +63,7 @@ class Group extends general_1.ObjectBase {
57
63
  this.InheritParentPrivilegeYN = groupAttr === null || groupAttr === void 0 ? void 0 : groupAttr.InheritParentPrivilegeYN;
58
64
  this.InheritParentSystemAccessYN = groupAttr === null || groupAttr === void 0 ? void 0 : groupAttr.InheritParentSystemAccessYN;
59
65
  this.Status = groupAttr === null || groupAttr === void 0 ? void 0 : groupAttr.Status;
66
+ this._Path = groupAttr === null || groupAttr === void 0 ? void 0 : groupAttr.Path;
60
67
  this._CreatedById = groupAttr.CreatedById;
61
68
  this._CreatedAt = groupAttr.CreatedAt;
62
69
  this._UpdatedById = groupAttr.UpdatedById;
@@ -85,6 +92,82 @@ class Group extends general_1.ObjectBase {
85
92
  }
86
93
  });
87
94
  }
95
+ loadChildren(dbTransaction) {
96
+ return __awaiter(this, void 0, void 0, function* () {
97
+ if (!this.GroupCode) {
98
+ throw Error('GroupCode is missing.');
99
+ }
100
+ const children = yield Group._Repo.findAll({
101
+ where: { ParentGroupCode: this.GroupCode },
102
+ order: [['CreatedAt', 'ASC']],
103
+ transaction: dbTransaction,
104
+ });
105
+ this.children = children.map((child) => {
106
+ return new Group(child.get({ plain: true }));
107
+ });
108
+ this.isChildrenLoaded = true;
109
+ });
110
+ }
111
+ loadParent(dbTransaction) {
112
+ return __awaiter(this, void 0, void 0, function* () {
113
+ if (!this.GroupCode) {
114
+ throw Error('GroupCode are missing.');
115
+ }
116
+ if (this.ParentGroupCode) {
117
+ if (this.ParentGroupCode !== this.GroupCode) {
118
+ const parent = yield Group._Repo.findByPk(this.ParentGroupCode, {
119
+ transaction: dbTransaction,
120
+ });
121
+ this.parent = new Group(parent.get({ plain: true }));
122
+ }
123
+ }
124
+ this.isParentLoaded = true;
125
+ });
126
+ }
127
+ isLeaf(dbTransaction) {
128
+ return __awaiter(this, void 0, void 0, function* () {
129
+ if (!this.isChildrenLoaded) {
130
+ yield this.loadChildren(dbTransaction);
131
+ }
132
+ return this.children.length === 0;
133
+ });
134
+ }
135
+ getPath(dbTransaction) {
136
+ return __awaiter(this, void 0, void 0, function* () {
137
+ if (!this.isParentLoaded) {
138
+ yield this.loadParent(dbTransaction);
139
+ }
140
+ if (this.parent) {
141
+ this._Path = (yield this.parent.getPath(dbTransaction)) + '/' + this.Name;
142
+ return this._Path;
143
+ }
144
+ this._Path = this.GroupCode;
145
+ return this._Path;
146
+ });
147
+ }
148
+ updatePath(dbTransaction) {
149
+ return __awaiter(this, void 0, void 0, function* () {
150
+ const path = yield this.getPath(dbTransaction);
151
+ this._Path = path;
152
+ });
153
+ }
154
+ setParent(parent, dbTransaction) {
155
+ return __awaiter(this, void 0, void 0, function* () {
156
+ this.parent = parent;
157
+ yield this.getPath(dbTransaction);
158
+ });
159
+ }
160
+ getPathDetail(dbTransaction) {
161
+ return __awaiter(this, void 0, void 0, function* () {
162
+ const path = this._Path.split('/');
163
+ const groups = [];
164
+ for (let i = 0; i < path.length; i++) {
165
+ const group = yield Group.init(dbTransaction, path[i]);
166
+ groups.push(group);
167
+ }
168
+ return groups;
169
+ });
170
+ }
88
171
  static findAll(page, row, dbTransaction, loginUser, search) {
89
172
  return __awaiter(this, void 0, void 0, function* () {
90
173
  const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
@@ -159,6 +242,7 @@ class Group extends general_1.ObjectBase {
159
242
  newGroup.Status = 'Active';
160
243
  newGroup._CreatedById = loginUser.UserId;
161
244
  newGroup._UpdatedById = loginUser.UserId;
245
+ newGroup._Path = yield newGroup.getPath(dbTransaction);
162
246
  const entityGroupAfter = {
163
247
  GroupCode: newGroup.ObjectId,
164
248
  Name: newGroup.Name,
@@ -167,6 +251,7 @@ class Group extends general_1.ObjectBase {
167
251
  ParentGroupCode: newGroup.ParentGroupCode,
168
252
  InheritParentPrivilegeYN: newGroup.InheritParentPrivilegeYN,
169
253
  InheritParentSystemAccessYN: newGroup.InheritParentSystemAccessYN,
254
+ Path: newGroup._Path,
170
255
  Status: newGroup.Status,
171
256
  CreatedById: newGroup._CreatedById,
172
257
  UpdatedById: newGroup._UpdatedById,
@@ -179,7 +264,7 @@ class Group extends general_1.ObjectBase {
179
264
  const entityValueBefore = {};
180
265
  const activity = new activity_history_1.Activity();
181
266
  activity.ActivityId = activity.createId();
182
- activity.Action = activity_history_1.ActionEnum.ADD;
267
+ activity.Action = activity_history_1.ActionEnum.CREATE;
183
268
  activity.Description = 'Create Group';
184
269
  activity.EntityType = 'Group';
185
270
  activity.EntityId = newGroup.ObjectId;
@@ -204,6 +289,33 @@ class Group extends general_1.ObjectBase {
204
289
  }
205
290
  });
206
291
  }
292
+ updateChildrenPath(oldGroupCode, dbTransaction) {
293
+ return __awaiter(this, void 0, void 0, function* () {
294
+ try {
295
+ const isLeaf = yield this.isLeaf(dbTransaction);
296
+ if (isLeaf) {
297
+ return;
298
+ }
299
+ const childrens = yield Group._Repo.findAll({
300
+ where: {
301
+ Path: {
302
+ [sequelize_1.Op.like]: `${oldGroupCode}/%`,
303
+ },
304
+ },
305
+ transaction: dbTransaction,
306
+ });
307
+ childrens.forEach((children) => __awaiter(this, void 0, void 0, function* () {
308
+ const path = children.Path.split(`${oldGroupCode}/`);
309
+ const childPath = path[path.length - 1];
310
+ children.Path = `${this.Path}/${childPath}`;
311
+ yield children.update({ Path: path }, { transaction: dbTransaction });
312
+ }));
313
+ }
314
+ catch (error) {
315
+ throw error;
316
+ }
317
+ });
318
+ }
207
319
  update(loginUser, dbTransaction, group) {
208
320
  return __awaiter(this, void 0, void 0, function* () {
209
321
  const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
@@ -216,13 +328,6 @@ class Group extends general_1.ObjectBase {
216
328
  if (group.NewGroupCode) {
217
329
  yield Group.checkDuplicateGroupCode(dbTransaction, group.NewGroupCode);
218
330
  }
219
- if (group.ParentGroupCode &&
220
- currentGroup.ParentGroupCode !== group.ParentGroupCode) {
221
- const parentGroup = yield Group.init(dbTransaction, group.ParentGroupCode);
222
- if (!parentGroup) {
223
- throw new general_1.ClassError('Group', 'GroupErrMsg08', 'Parent Group Code not found');
224
- }
225
- }
226
331
  const entityValueBefore = {
227
332
  GroupCode: currentGroup.GroupCode,
228
333
  Name: currentGroup.Name,
@@ -231,13 +336,36 @@ class Group extends general_1.ObjectBase {
231
336
  ParentGroupCode: currentGroup.ParentGroupCode,
232
337
  InheritParentPrivilegeYN: currentGroup.InheritParentPrivilegeYN,
233
338
  InheritParentSystemAccessYN: currentGroup.InheritParentSystemAccessYN,
339
+ Path: this.Path,
234
340
  Status: currentGroup.Status,
235
341
  CreatedById: currentGroup._CreatedById,
236
342
  UpdatedById: currentGroup._UpdatedById,
237
343
  CreatedAt: currentGroup._CreatedAt,
238
344
  UpdatedAt: currentGroup._UpdatedAt,
239
345
  };
240
- currentGroup.GroupCode = (group === null || group === void 0 ? void 0 : group.NewGroupCode) || currentGroup.GroupCode;
346
+ let isPathChanged = false;
347
+ const oldGroupCode = currentGroup.GroupCode;
348
+ if (group.NewGroupCode) {
349
+ currentGroup.GroupCode = group.NewGroupCode;
350
+ isPathChanged = true;
351
+ }
352
+ if ((group.ParentGroupCode &&
353
+ currentGroup.ParentGroupCode !== group.ParentGroupCode) ||
354
+ (group.ParentGroupCode && !currentGroup.ParentGroupCode)) {
355
+ const parentGroup = yield Group.init(dbTransaction, group.ParentGroupCode);
356
+ if (!parentGroup) {
357
+ throw new general_1.ClassError('Group', 'GroupErrMsg08', 'Parent Group Code not found');
358
+ }
359
+ yield currentGroup.setParent(parentGroup);
360
+ isPathChanged = true;
361
+ }
362
+ else if (!group.ParentGroupCode && currentGroup.ParentGroupCode) {
363
+ yield currentGroup.setParent(null);
364
+ isPathChanged = true;
365
+ }
366
+ if (isPathChanged) {
367
+ yield this.updateChildrenPath(oldGroupCode, dbTransaction);
368
+ }
241
369
  currentGroup.Name = (group === null || group === void 0 ? void 0 : group.Name) || currentGroup.Name;
242
370
  currentGroup.Type = (group === null || group === void 0 ? void 0 : group.Type) || currentGroup.Type;
243
371
  currentGroup.Description = (group === null || group === void 0 ? void 0 : group.Description) || currentGroup.Description;
@@ -487,7 +615,7 @@ class Group extends general_1.ObjectBase {
487
615
  });
488
616
  const activity = new activity_history_1.Activity();
489
617
  activity.ActivityId = activity.createId();
490
- activity.Action = activity_history_1.ActionEnum.ADD;
618
+ activity.Action = activity_history_1.ActionEnum.CREATE;
491
619
  activity.Description = 'Create Group System Access';
492
620
  activity.EntityType = 'GroupSystemAccess';
493
621
  activity.EntityId = (_a = systemAccess.GroupSystemAccessId) === null || _a === void 0 ? void 0 : _a.toString();
@@ -612,6 +740,11 @@ class Group extends general_1.ObjectBase {
612
740
  },
613
741
  };
614
742
  }
743
+ if (search.PrivilegeCode) {
744
+ systemPrivilegeWhere = Object.assign(Object.assign({}, systemPrivilegeWhere), { PrivilegeCode: {
745
+ [sequelize_1.Op.substring]: search.PrivilegeCode,
746
+ } });
747
+ }
615
748
  }
616
749
  const group = yield Group._Repo.findOne({
617
750
  where: where,
@@ -636,13 +769,13 @@ class Group extends general_1.ObjectBase {
636
769
  const systemWhere = {};
637
770
  if (search) {
638
771
  Object.entries(search).forEach(([key, value]) => {
639
- if (key === 'SystemCode') {
640
- systemWhere[key] = {
772
+ if (key === 'Status') {
773
+ objectWhere[key] = {
641
774
  [sequelize_1.Op.substring]: value,
642
775
  };
643
776
  }
644
777
  else {
645
- objectWhere[key] = {
778
+ systemWhere[key] = {
646
779
  [sequelize_1.Op.substring]: value,
647
780
  };
648
781
  }
@@ -673,8 +806,8 @@ class Group extends general_1.ObjectBase {
673
806
  const inheritedPrivileges = yield Group.getInheritedSystemPrivileges(dbTransaction, group.ParentGroupCode, search);
674
807
  privileges = privileges.concat(inheritedPrivileges);
675
808
  }
676
- const uniquePrivileges = Array.from(new Set(privileges.map((a) => a.PrivilegeCode))).map((PrivilegeCode) => {
677
- return privileges.find((a) => a.PrivilegeCode === PrivilegeCode);
809
+ const uniquePrivileges = Array.from(new Set(privileges.map((a) => a.SystemPrivilegeId))).map((SystemPrivilegeId) => {
810
+ return privileges.find((a) => a.SystemPrivilegeId === SystemPrivilegeId);
678
811
  });
679
812
  return uniquePrivileges;
680
813
  }
@@ -703,7 +836,7 @@ class Group extends general_1.ObjectBase {
703
836
  }
704
837
  });
705
838
  }
706
- static assignGroupObjectPrivilege(loginUser, dbTransaction, GroupCode, GroupObjectPrivileges) {
839
+ static assignGroupObjectPrivilege(loginUser, dbTransaction, GroupCode, GroupObjectPrivileges, SystemCode) {
707
840
  return __awaiter(this, void 0, void 0, function* () {
708
841
  try {
709
842
  const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
@@ -718,21 +851,21 @@ class Group extends general_1.ObjectBase {
718
851
  count: 0,
719
852
  };
720
853
  if (group.InheritParentSystemAccessYN === 'Y' && group.ParentGroupCode) {
721
- parentGroupSystemAccesses = yield Group.getSystemAccesses(loginUser, dbTransaction, group.ParentGroupCode, 1, Number.MAX_SAFE_INTEGER, {});
854
+ parentGroupSystemAccesses = yield Group.getSystemAccesses(loginUser, dbTransaction, group.ParentGroupCode, 1, Number.MAX_SAFE_INTEGER, undefined);
722
855
  }
723
856
  for (const groupObjectPrivilege of GroupObjectPrivileges) {
724
- const systemPrivilege = yield system_privilege_1.SystemPrivilege.init(dbTransaction, groupObjectPrivilege.PrivilegeCode);
857
+ const systemPrivilege = yield system_privilege_1.SystemPrivilege.init(dbTransaction, groupObjectPrivilege.SystemPrivilegeId);
725
858
  const combinedSystemAccesses = Object.assign(Object.assign({}, groupSystemAccesses.rows), parentGroupSystemAccesses.rows);
726
859
  const systemAccess = combinedSystemAccesses.find((systemAccess) => systemAccess.SystemCode === systemPrivilege.SystemCode);
727
860
  if (!systemAccess) {
728
861
  throw new general_1.ClassError('Group', 'GroupErrMsg13', 'Failed to assign privilege ' +
729
- groupObjectPrivilege.PrivilegeCode +
862
+ groupObjectPrivilege.SystemPrivilegeId +
730
863
  ' due to non-existent system access.');
731
864
  }
732
865
  const groupObjectPrivilegeData = yield Group._GroupObjectPrivilegeRepo.findOne({
733
866
  where: {
734
867
  GroupCode,
735
- PrivilegeCode: groupObjectPrivilege.PrivilegeCode,
868
+ SystemPrivilegeId: groupObjectPrivilege.SystemPrivilegeId,
736
869
  ObjectId: groupObjectPrivilege.ObjectId,
737
870
  ObjectType: groupObjectPrivilege.ObjectType,
738
871
  },
@@ -767,7 +900,7 @@ class Group extends general_1.ObjectBase {
767
900
  const systemWhere = {};
768
901
  if (search) {
769
902
  Object.entries(search).forEach(([key, value]) => {
770
- if (key === 'SystemCode') {
903
+ if (key === 'SystemCode' || key === 'PrivilegeCode') {
771
904
  systemWhere[key] = {
772
905
  [sequelize_1.Op.substring]: value,
773
906
  };
@@ -795,8 +928,8 @@ class Group extends general_1.ObjectBase {
795
928
  systemPrivilege.setAttributes(groupObjectPrivilege.Privilege.get({ plain: true }));
796
929
  privileges.push(systemPrivilege);
797
930
  }
798
- const uniquePrivileges = Array.from(new Set(privileges.map((a) => a.PrivilegeCode))).map((PrivilegeCode) => {
799
- return privileges.find((a) => a.PrivilegeCode === PrivilegeCode);
931
+ const uniquePrivileges = Array.from(new Set(privileges.map((a) => a.SystemPrivilegeId))).map((SystemPrivilegeId) => {
932
+ return privileges.find((a) => a.SystemPrivilegeId === SystemPrivilegeId);
800
933
  });
801
934
  return uniquePrivileges;
802
935
  }
@@ -805,7 +938,7 @@ class Group extends general_1.ObjectBase {
805
938
  }
806
939
  });
807
940
  }
808
- static assignGroupPrivileges(loginUser, dbTransaction, GroupCode, PrivilegeCodes) {
941
+ static assignGroupPrivileges(loginUser, dbTransaction, GroupCode, SystemPrivilegeIds) {
809
942
  return __awaiter(this, void 0, void 0, function* () {
810
943
  try {
811
944
  const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
@@ -822,8 +955,8 @@ class Group extends general_1.ObjectBase {
822
955
  if (group.InheritParentSystemAccessYN === 'Y' && group.ParentGroupCode) {
823
956
  parentGroupSystemAccesses = yield Group.getSystemAccesses(loginUser, dbTransaction, group.ParentGroupCode, 1, Number.MAX_SAFE_INTEGER, {});
824
957
  }
825
- for (const PrivilegeCode of PrivilegeCodes) {
826
- const systemPrivilege = yield system_privilege_1.SystemPrivilege.init(dbTransaction, PrivilegeCode);
958
+ for (const SystemPrivilegeId of SystemPrivilegeIds) {
959
+ const systemPrivilege = yield system_privilege_1.SystemPrivilege.init(dbTransaction, SystemPrivilegeId);
827
960
  const combinedSystemAccesses = [
828
961
  ...groupSystemAccesses.rows,
829
962
  ...parentGroupSystemAccesses.rows,
@@ -831,14 +964,19 @@ class Group extends general_1.ObjectBase {
831
964
  const systemAccess = combinedSystemAccesses.find((systemAccess) => systemAccess.SystemCode === systemPrivilege.SystemCode);
832
965
  if (!systemAccess) {
833
966
  throw new general_1.ClassError('Group', 'GroupErrMsg13', 'Failed to assign privilege ' +
834
- PrivilegeCode +
967
+ SystemPrivilegeId +
835
968
  ' due to non-existent system access.');
836
969
  }
837
970
  const groupPrivilege = yield Group._GroupPrivilegeRepo.findOne({
838
971
  where: {
839
972
  GroupCode,
840
- PrivilegeCode,
973
+ SystemPrivilegeId,
841
974
  },
975
+ include: [
976
+ {
977
+ model: system_privilege_entity_1.default,
978
+ },
979
+ ],
842
980
  transaction: dbTransaction,
843
981
  });
844
982
  if (groupPrivilege && groupPrivilege.Status === 'Active') {
@@ -846,13 +984,13 @@ class Group extends general_1.ObjectBase {
846
984
  }
847
985
  let entityValueBefore = {};
848
986
  let entityValueAfter = {};
849
- let action = activity_history_1.ActionEnum.ADD;
987
+ let action = activity_history_1.ActionEnum.CREATE;
850
988
  let description = 'Create Group Privilege';
851
989
  let entityId = null;
852
990
  if (groupPrivilege && groupPrivilege.Status !== 'Active') {
853
991
  entityValueBefore = {
854
992
  GroupCode: groupPrivilege.GroupCode,
855
- PrivilegeCode: groupPrivilege.PrivilegeCode,
993
+ SystemPrivilegeId: groupPrivilege.SystemPrivilegeId,
856
994
  Status: groupPrivilege.Status,
857
995
  CreatedById: groupPrivilege.CreatedById,
858
996
  CreatedAt: groupPrivilege.CreatedAt,
@@ -864,16 +1002,25 @@ class Group extends general_1.ObjectBase {
864
1002
  UpdatedById: loginUser.UserId,
865
1003
  UpdatedAt: new Date(),
866
1004
  };
867
- yield Group._GroupPrivilegeRepo.update(updatedPayload, {
1005
+ const data = yield Group._GroupPrivilegeRepo.findOne({
868
1006
  where: {
869
1007
  GroupCode,
870
- PrivilegeCode,
1008
+ SystemPrivilegeId,
871
1009
  },
1010
+ include: [
1011
+ {
1012
+ model: system_privilege_entity_1.default,
1013
+ },
1014
+ ],
872
1015
  transaction: dbTransaction,
873
1016
  });
1017
+ data.Status = 'Active';
1018
+ data.UpdatedById = updatedPayload.UpdatedById;
1019
+ data.UpdatedAt = updatedPayload.UpdatedAt;
1020
+ yield data.save({ transaction: dbTransaction });
874
1021
  entityValueAfter = {
875
1022
  GroupCode: groupPrivilege.GroupCode,
876
- PrivilegeCode: groupPrivilege.PrivilegeCode,
1023
+ SystemPrivilegeId: groupPrivilege.SystemPrivilegeId,
877
1024
  Status: updatedPayload.Status,
878
1025
  CreatedById: groupPrivilege.CreatedById,
879
1026
  CreatedAt: groupPrivilege.CreatedAt,
@@ -888,7 +1035,7 @@ class Group extends general_1.ObjectBase {
888
1035
  const newGroupPrivilege = yield group_privilege_1.GroupPrivilege.init(dbTransaction);
889
1036
  newGroupPrivilege.setAttributes({
890
1037
  GroupCode,
891
- PrivilegeCode,
1038
+ SystemPrivilegeId,
892
1039
  Status: 'Active',
893
1040
  CreatedById: loginUser.UserId,
894
1041
  CreatedAt: new Date(),
@@ -897,7 +1044,7 @@ class Group extends general_1.ObjectBase {
897
1044
  });
898
1045
  entityValueAfter = {
899
1046
  GroupCode: newGroupPrivilege.GroupCode,
900
- PrivilegeCode: newGroupPrivilege.PrivilegeCode,
1047
+ SystemPrivilegeId: newGroupPrivilege.SystemPrivilegeId,
901
1048
  Status: newGroupPrivilege.Status,
902
1049
  CreatedById: newGroupPrivilege.CreatedById,
903
1050
  CreatedAt: newGroupPrivilege.CreatedAt,
@@ -907,7 +1054,7 @@ class Group extends general_1.ObjectBase {
907
1054
  const groupPrivilege = yield Group._GroupPrivilegeRepo.create(entityValueAfter, {
908
1055
  transaction: dbTransaction,
909
1056
  });
910
- action = activity_history_1.ActionEnum.ADD;
1057
+ action = activity_history_1.ActionEnum.CREATE;
911
1058
  description = 'Create Group Privilege';
912
1059
  entityId = groupPrivilege.GroupPrivilegeId;
913
1060
  }
@@ -928,7 +1075,7 @@ class Group extends general_1.ObjectBase {
928
1075
  }
929
1076
  });
930
1077
  }
931
- static deleteGroupPrivilege(loginUser, dbTransaction, GroupCode, PrivilegeCodes) {
1078
+ static deleteGroupPrivilege(loginUser, dbTransaction, GroupCode, SystemPrivilegeIds) {
932
1079
  return __awaiter(this, void 0, void 0, function* () {
933
1080
  try {
934
1081
  const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
@@ -936,12 +1083,17 @@ class Group extends general_1.ObjectBase {
936
1083
  if (!isPrivileged) {
937
1084
  throw new general_1.ClassError('Group', 'GroupErrMsg06', 'You do not have the privilege to delete group privileges');
938
1085
  }
939
- for (const PrivilegeCode of PrivilegeCodes) {
1086
+ for (const SystemPrivilegeId of SystemPrivilegeIds) {
940
1087
  const groupPrivilege = yield Group._GroupPrivilegeRepo.findOne({
941
1088
  where: {
942
1089
  GroupCode,
943
- PrivilegeCode,
1090
+ SystemPrivilegeId,
944
1091
  },
1092
+ include: [
1093
+ {
1094
+ model: system_privilege_entity_1.default,
1095
+ },
1096
+ ],
945
1097
  transaction: dbTransaction,
946
1098
  });
947
1099
  if (!groupPrivilege) {
@@ -949,14 +1101,14 @@ class Group extends general_1.ObjectBase {
949
1101
  }
950
1102
  const entityValueBefore = {
951
1103
  GroupCode: groupPrivilege.GroupCode,
952
- PrivilegeCode: groupPrivilege.PrivilegeCode,
1104
+ SystemPrivilegeId: groupPrivilege.SystemPrivilegeId,
953
1105
  Status: groupPrivilege.Status,
954
1106
  CreatedById: groupPrivilege.CreatedById,
955
1107
  CreatedAt: groupPrivilege.CreatedAt,
956
1108
  UpdatedById: groupPrivilege.UpdatedById,
957
1109
  UpdatedAt: groupPrivilege.UpdatedAt,
958
1110
  };
959
- yield Group._GroupPrivilegeRepo.delete(GroupCode, PrivilegeCode, dbTransaction);
1111
+ yield Group._GroupPrivilegeRepo.delete(GroupCode, SystemPrivilegeId, dbTransaction);
960
1112
  const activity = new activity_history_1.Activity();
961
1113
  activity.ActivityId = activity.createId();
962
1114
  activity.Action = activity_history_1.ActionEnum.DELETE;
@@ -1 +1 @@
1
- {"version":3,"file":"group.js","sourceRoot":"","sources":["../../../../src/components/group/group.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"group.js","sourceRoot":"","sources":["../../../../src/components/group/group.ts"],"names":[],"mappings":"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"}