@tomei/sso 0.34.1 → 0.34.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -14,9 +14,7 @@ const login_user_1 = require("../../../../src/components/login-user/login-user")
14
14
  const config_1 = require("@tomei/config");
15
15
  const user_repository_1 = require("../../../../src/components/login-user/user.repository");
16
16
  const general_1 = require("@tomei/general");
17
- const activity_history_1 = require("@tomei/activity-history");
18
17
  const user_status_enum_1 = require("../../../../src/enum/user-status.enum");
19
- const yn_enum_1 = require("../../../../src/enum/yn.enum");
20
18
  const system_privilege_entity_1 = require("../../../../src/models/system-privilege.entity");
21
19
  const group_system_access_repository_1 = require("../../../../src/components/group-system-access/group-system-access.repository");
22
20
  const group_repository_1 = require("../../../../src/components/group/group.repository");
@@ -114,42 +112,6 @@ describe('LoginUser', () => {
114
112
  });
115
113
  }));
116
114
  });
117
- describe('checkSession', () => {
118
- it('should throw an error if session expired', () => __awaiter(void 0, void 0, void 0, function* () {
119
- const systemCode = 'EZC';
120
- const sessionId = 'ckymxuh8t000137t011w89zgk';
121
- const userId = '755';
122
- const sessionService = yield session_service_1.SessionService.init();
123
- const loginUser = yield login_user_1.LoginUser.init(sessionService);
124
- const checkSessionPromise = loginUser.checkSession(systemCode, sessionId, userId);
125
- yield expect(checkSessionPromise).rejects.toThrow('Session expired.');
126
- }));
127
- it('should refresh the session duration if session is valid', () => __awaiter(void 0, void 0, void 0, function* () {
128
- const systemCode = 'EZC';
129
- const sessionId = 'ckymxuh8t000137t011w89zgk';
130
- const userId = '755';
131
- const sessionService = yield session_service_1.SessionService.init();
132
- const loginUser = yield login_user_1.LoginUser.init(sessionService);
133
- loginUser['_SessionService'].retrieveUserSession = jest.fn().mockResolvedValue({
134
- systemLogins: [
135
- {
136
- code: systemCode,
137
- sessionId: sessionId,
138
- privileges: [],
139
- },
140
- ],
141
- });
142
- loginUser['_SessionService'].refreshDuration = jest.fn();
143
- const systemLogin = yield loginUser.checkSession(systemCode, sessionId, userId);
144
- expect(loginUser['_SessionService'].retrieveUserSession).toHaveBeenCalledWith(userId);
145
- expect(loginUser['_SessionService'].refreshDuration).toHaveBeenCalledWith(userId);
146
- expect(systemLogin).toEqual({
147
- code: systemCode,
148
- sessionId: sessionId,
149
- privileges: [],
150
- });
151
- }));
152
- });
153
115
  describe('shouldReleaseLock', () => {
154
116
  const minuteToAutoRelease = 5;
155
117
  const autoReleaseYN = 'Y';
@@ -187,7 +149,9 @@ describe('LoginUser', () => {
187
149
  it('should release the lock for a user', () => __awaiter(void 0, void 0, void 0, function* () {
188
150
  const UserId = 1;
189
151
  const dbTransaction = null;
190
- const updateMock = jest.spyOn(login_user_1.LoginUser['_Repository'], 'update').mockImplementationOnce(() => Promise.resolve({}));
152
+ const updateMock = jest
153
+ .spyOn(login_user_1.LoginUser['_Repository'], 'update')
154
+ .mockImplementationOnce(() => Promise.resolve({}));
191
155
  login_user_1.LoginUser['releaseLock'](UserId, dbTransaction);
192
156
  expect(updateMock).toHaveBeenCalledTimes(1);
193
157
  expect(updateMock).toHaveBeenCalledWith({
@@ -210,7 +174,9 @@ describe('LoginUser', () => {
210
174
  IdNo: '123456789',
211
175
  ContactNo: '1234567890',
212
176
  };
213
- jest.spyOn(login_user_1.LoginUser['_Repository'], 'findAll').mockResolvedValueOnce([{ id: 1 }]);
177
+ jest
178
+ .spyOn(login_user_1.LoginUser['_Repository'], 'findAll')
179
+ .mockResolvedValueOnce([{ id: 1 }]);
214
180
  yield expect(login_user_1.LoginUser['checkUserInfoDuplicated'](dbTransaction, query)).rejects.toThrowError();
215
181
  }));
216
182
  it('should not throw an error if duplicate user info is not found', () => __awaiter(void 0, void 0, void 0, function* () {
@@ -235,7 +201,9 @@ describe('LoginUser', () => {
235
201
  numOfSpecialChars: 1,
236
202
  };
237
203
  beforeEach(() => {
238
- jest.spyOn(config_1.ComponentConfig, 'getComponentConfigValue').mockImplementation((componentName, configKey) => {
204
+ jest
205
+ .spyOn(config_1.ComponentConfig, 'getComponentConfigValue')
206
+ .mockImplementation((componentName, configKey) => {
239
207
  if (configKey === 'passwordPolicy') {
240
208
  return passwordPolicy;
241
209
  }
@@ -261,7 +229,7 @@ describe('LoginUser', () => {
261
229
  it('should generate a default password without any non-acceptable characters', () => {
262
230
  const password = login_user_1.LoginUser['generateDefaultPassword']();
263
231
  const nonAcceptableChars = ['i', 'l', 'o'];
264
- expect(nonAcceptableChars.some(char => password.includes(char))).toBe(false);
232
+ expect(nonAcceptableChars.some((char) => password.includes(char))).toBe(false);
265
233
  });
266
234
  });
267
235
  describe('setPassword', () => {
@@ -274,7 +242,9 @@ describe('LoginUser', () => {
274
242
  numOfSpecialChars: 1,
275
243
  };
276
244
  beforeEach(() => {
277
- jest.spyOn(config_1.ComponentConfig, 'getComponentConfigValue').mockImplementation((componentName, configKey) => {
245
+ jest
246
+ .spyOn(config_1.ComponentConfig, 'getComponentConfigValue')
247
+ .mockImplementation((componentName, configKey) => {
278
248
  if (configKey === 'passwordPolicy') {
279
249
  return passwordPolicy;
280
250
  }
@@ -298,160 +268,6 @@ describe('LoginUser', () => {
298
268
  yield expect(login_user_1.LoginUser['setPassword'](dbTransaction, user, password)).rejects.toThrow();
299
269
  }));
300
270
  });
301
- describe('create', () => {
302
- let loginUser;
303
- let dbTransaction;
304
- let user;
305
- let newUser;
306
- beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
307
- const sessionService = yield session_service_1.SessionService.init();
308
- loginUser = yield login_user_1.LoginUser.init(sessionService);
309
- dbTransaction = null;
310
- newUser = {
311
- UserId: 1,
312
- FullName: 'John Doe',
313
- Email: 'john.doe@example.com',
314
- Password: 'password',
315
- Status: 'Active',
316
- DefaultPasswordChangedYN: 'N',
317
- FirstLoginAt: null,
318
- LastLoginAt: null,
319
- MFAEnabled: null,
320
- MFAConfig: null,
321
- RecoveryEmail: null,
322
- FailedLoginAttemptCount: 0,
323
- LastFailedLoginAt: null,
324
- LastPasswordChangedAt: new Date(),
325
- NeedToChangePasswordYN: 'N',
326
- CreatedById: 1,
327
- CreatedAt: new Date(),
328
- UpdatedById: 1,
329
- UpdatedAt: new Date(),
330
- Staff: {
331
- FullName: 'John Doe',
332
- IdNo: '1234567890',
333
- Mobile: '1234567890',
334
- },
335
- };
336
- user = new login_user_1.LoginUser(sessionService, null, newUser);
337
- }));
338
- afterEach(() => {
339
- jest.clearAllMocks();
340
- });
341
- it('should create a new user record', () => __awaiter(void 0, void 0, void 0, function* () {
342
- const checkPrivilegesMock = jest
343
- .spyOn(loginUser, 'checkPrivileges')
344
- .mockResolvedValueOnce(true);
345
- const checkUserInfoDuplicatedMock = jest
346
- .spyOn(login_user_1.LoginUser, 'checkUserInfoDuplicated')
347
- .mockResolvedValueOnce(undefined);
348
- const generateDefaultPasswordMock = jest
349
- .spyOn(login_user_1.LoginUser, 'generateDefaultPassword')
350
- .mockReturnValueOnce('defaultPassword');
351
- const setPasswordMock = jest
352
- .spyOn(login_user_1.LoginUser, 'setPassword')
353
- .mockResolvedValueOnce(user);
354
- const createMock = jest
355
- .spyOn(login_user_1.LoginUser['_Repository'], 'create')
356
- .mockResolvedValueOnce(Object.assign(Object.assign({}, newUser), { get: () => newUser }));
357
- const activityCreateMock = jest
358
- .spyOn(activity_history_1.Activity.prototype, 'create')
359
- .mockResolvedValueOnce(undefined);
360
- jest.spyOn(config_1.ApplicationConfig, 'getComponentConfigValue').mockImplementation((configKey) => {
361
- if (configKey === 'system-code') {
362
- return 'SC';
363
- }
364
- });
365
- const result = yield login_user_1.LoginUser.create(loginUser, dbTransaction, user);
366
- expect(checkPrivilegesMock).toHaveBeenCalledTimes(1);
367
- expect(checkPrivilegesMock).toHaveBeenCalledWith(config_1.ApplicationConfig.getComponentConfigValue('system-code'), 'User - Create');
368
- expect(checkUserInfoDuplicatedMock).toHaveBeenCalledTimes(1);
369
- expect(checkUserInfoDuplicatedMock).toHaveBeenCalledWith(dbTransaction, {
370
- Email: user.Email,
371
- IdType: user.IDType,
372
- IdNo: user.IDNo,
373
- ContactNo: user.ContactNo,
374
- });
375
- expect(generateDefaultPasswordMock).toHaveBeenCalledTimes(1);
376
- expect(setPasswordMock).toHaveBeenCalledTimes(1);
377
- expect(setPasswordMock).toHaveBeenCalledWith(dbTransaction, user, 'defaultPassword');
378
- expect(createMock).toHaveBeenCalledTimes(1);
379
- const userInfo = {
380
- FullName: user.FullName,
381
- IDNo: user.IDNo,
382
- Email: user.Email,
383
- ContactNo: user.ContactNo,
384
- Password: user.Password,
385
- Status: user_status_enum_1.UserStatus.ACTIVE,
386
- FirstLoginAt: null,
387
- LastLoginAt: null,
388
- MFAEnabled: null,
389
- MFAConfig: null,
390
- RecoveryEmail: null,
391
- FailedLoginAttemptCount: 0,
392
- LastFailedLoginAt: null,
393
- LastPasswordChangedAt: null,
394
- DefaultPasswordChangedYN: yn_enum_1.YN.No,
395
- NeedToChangePasswordYN: yn_enum_1.YN.Yes,
396
- CreatedById: loginUser.UserId,
397
- CreatedAt: new Date(),
398
- UpdatedById: loginUser.UserId,
399
- UpdatedAt: new Date(),
400
- UserId: null,
401
- };
402
- expect(createMock).toHaveBeenCalledWith({
403
- Email: userInfo.Email,
404
- Password: userInfo.Password,
405
- Status: userInfo.Status,
406
- DefaultPasswordChangedYN: userInfo.DefaultPasswordChangedYN,
407
- FirstLoginAt: userInfo.FirstLoginAt,
408
- LastLoginAt: userInfo.LastLoginAt,
409
- MFAEnabled: userInfo.MFAEnabled,
410
- MFAConfig: userInfo.MFAConfig,
411
- RecoveryEmail: userInfo.RecoveryEmail,
412
- FailedLoginAttemptCount: userInfo.FailedLoginAttemptCount,
413
- LastFailedLoginAt: userInfo.LastFailedLoginAt,
414
- LastPasswordChangedAt: userInfo.LastPasswordChangedAt,
415
- NeedToChangePasswordYN: userInfo.NeedToChangePasswordYN,
416
- CreatedById: userInfo.CreatedById,
417
- CreatedAt: expect.any(Date),
418
- UpdatedById: userInfo.UpdatedById,
419
- UpdatedAt: expect.any(Date),
420
- }, {
421
- transaction: dbTransaction,
422
- });
423
- expect(activityCreateMock).toHaveBeenCalledTimes(1);
424
- expect(result).toBeInstanceOf(login_user_1.LoginUser);
425
- expect(result.Email).toBe(userInfo.Email);
426
- expect(result.Password).toBe(userInfo.Password);
427
- expect(result.Status).toBe(userInfo.Status);
428
- expect(result.DefaultPasswordChangedYN).toBe(userInfo.DefaultPasswordChangedYN);
429
- expect(result.FirstLoginAt).toBe(null);
430
- expect(result.LastLoginAt).toBe(null);
431
- expect(result.MFAEnabled).toBe(userInfo.MFAEnabled);
432
- expect(result.MFAConfig).toBe(userInfo.MFAConfig);
433
- expect(result.RecoveryEmail).toBe(userInfo.RecoveryEmail);
434
- expect(result.FailedLoginAttemptCount).toBe(userInfo.FailedLoginAttemptCount);
435
- expect(result.LastFailedLoginAt).toBe(userInfo.LastFailedLoginAt);
436
- expect(result.LastPasswordChangedAt).toBe(userInfo.LastPasswordChangedAt);
437
- expect(result.NeedToChangePasswordYN).toBe(userInfo.NeedToChangePasswordYN);
438
- expect(result.CreatedById).toBe(userInfo.CreatedById);
439
- expect(result.UpdatedById).toBe(userInfo.UpdatedById);
440
- }));
441
- it('should throw an error if user dont have the privilege to create new user', () => __awaiter(void 0, void 0, void 0, function* () {
442
- jest
443
- .spyOn(loginUser, 'checkPrivileges')
444
- .mockResolvedValueOnce(false);
445
- yield expect(login_user_1.LoginUser.create(loginUser, dbTransaction, user)).rejects.toThrow(general_1.ClassError);
446
- }));
447
- it('should throw an error if user email is missing', () => __awaiter(void 0, void 0, void 0, function* () {
448
- user.Email = undefined;
449
- jest
450
- .spyOn(loginUser, 'checkPrivileges')
451
- .mockResolvedValueOnce(true);
452
- yield expect(login_user_1.LoginUser.create(loginUser, dbTransaction, user)).rejects.toThrow(general_1.ClassError);
453
- }));
454
- });
455
271
  describe('incrementFailedLoginAttemptCount', () => {
456
272
  afterAll(() => {
457
273
  jest.restoreAllMocks();
@@ -463,8 +279,12 @@ describe('LoginUser', () => {
463
279
  loginUser['LastFailedLoginAt'] = new Date();
464
280
  loginUser['Status'] = user_status_enum_1.UserStatus.ACTIVE;
465
281
  const dbTransaction = null;
466
- jest.spyOn(login_user_1.LoginUser['_Repository'], 'update').mockReturnValueOnce(null);
467
- jest.spyOn(config_1.ComponentConfig, 'getComponentConfigValue').mockImplementation((componentName, configKey) => {
282
+ jest
283
+ .spyOn(login_user_1.LoginUser['_Repository'], 'update')
284
+ .mockReturnValueOnce(null);
285
+ jest
286
+ .spyOn(config_1.ComponentConfig, 'getComponentConfigValue')
287
+ .mockImplementation((componentName, configKey) => {
468
288
  if (configKey === 'maxFailedLoginAttempts') {
469
289
  return 3;
470
290
  }
@@ -491,8 +311,12 @@ describe('LoginUser', () => {
491
311
  loginUser['LastFailedLoginAt'] = new Date();
492
312
  loginUser['Status'] = user_status_enum_1.UserStatus.ACTIVE;
493
313
  const dbTransaction = null;
494
- jest.spyOn(login_user_1.LoginUser['_Repository'], 'update').mockReturnValueOnce(null);
495
- jest.spyOn(config_1.ComponentConfig, 'getComponentConfigValue').mockImplementationOnce((componentName, configKey) => {
314
+ jest
315
+ .spyOn(login_user_1.LoginUser['_Repository'], 'update')
316
+ .mockReturnValueOnce(null);
317
+ jest
318
+ .spyOn(config_1.ComponentConfig, 'getComponentConfigValue')
319
+ .mockImplementationOnce((componentName, configKey) => {
496
320
  if (configKey === 'maxFailedLoginAttempts') {
497
321
  return undefined;
498
322
  }
@@ -509,8 +333,12 @@ describe('LoginUser', () => {
509
333
  loginUser['LastFailedLoginAt'] = new Date();
510
334
  loginUser['Status'] = user_status_enum_1.UserStatus.ACTIVE;
511
335
  const dbTransaction = null;
512
- jest.spyOn(login_user_1.LoginUser['_Repository'], 'update').mockReturnValueOnce(null);
513
- jest.spyOn(config_1.ComponentConfig, 'getComponentConfigValue').mockImplementation((componentName, configKey) => {
336
+ jest
337
+ .spyOn(login_user_1.LoginUser['_Repository'], 'update')
338
+ .mockReturnValueOnce(null);
339
+ jest
340
+ .spyOn(config_1.ComponentConfig, 'getComponentConfigValue')
341
+ .mockImplementation((componentName, configKey) => {
514
342
  if (configKey === 'maxFailedLoginAttempts') {
515
343
  return 3;
516
344
  }
@@ -544,8 +372,12 @@ describe('LoginUser', () => {
544
372
  loginUser['LastFailedLoginAt'] = new Date();
545
373
  loginUser['Status'] = user_status_enum_1.UserStatus.ACTIVE;
546
374
  const dbTransaction = null;
547
- jest.spyOn(login_user_1.LoginUser['_Repository'], 'update').mockReturnValueOnce(null);
548
- jest.spyOn(config_1.ComponentConfig, 'getComponentConfigValue').mockImplementation((componentName, configKey) => {
375
+ jest
376
+ .spyOn(login_user_1.LoginUser['_Repository'], 'update')
377
+ .mockReturnValueOnce(null);
378
+ jest
379
+ .spyOn(config_1.ComponentConfig, 'getComponentConfigValue')
380
+ .mockImplementation((componentName, configKey) => {
549
381
  if (configKey === 'maxFailedLoginAttempts') {
550
382
  return 3;
551
383
  }
@@ -582,13 +414,15 @@ describe('LoginUser', () => {
582
414
  { InheritParentSystemAccessYN: true },
583
415
  { InheritParentSystemAccessYN: false },
584
416
  ];
585
- jest.spyOn(login_user_1.LoginUser, 'getInheritedSystemAccess').mockResolvedValueOnce([
417
+ jest
418
+ .spyOn(login_user_1.LoginUser, 'getInheritedSystemAccess')
419
+ .mockResolvedValueOnce([
586
420
  { SystemCode: 'system1' },
587
421
  { SystemCode: 'system2' },
588
422
  ]);
589
- jest.spyOn(login_user_1.LoginUser['_UserSystemAccessRepo'], 'findAll').mockResolvedValueOnce([
590
- { SystemCode: 'system3' },
591
- ]);
423
+ jest
424
+ .spyOn(login_user_1.LoginUser['_UserSystemAccessRepo'], 'findAll')
425
+ .mockResolvedValueOnce([{ SystemCode: 'system3' }]);
592
426
  const result = yield login_user_1.LoginUser['combineSystemAccess'](loginUser, dbTransaction, groups);
593
427
  expect(result).toEqual([
594
428
  { SystemCode: 'system3' },
@@ -604,7 +438,9 @@ describe('LoginUser', () => {
604
438
  const sessionService = yield session_service_1.SessionService.init();
605
439
  const loginUser = yield login_user_1.LoginUser.init(sessionService);
606
440
  loginUser.ObjectId = '1';
607
- const rus = jest.spyOn(session_service_1.SessionService.prototype, 'retrieveUserSession').mockResolvedValueOnce({
441
+ const rus = jest
442
+ .spyOn(session_service_1.SessionService.prototype, 'retrieveUserSession')
443
+ .mockResolvedValueOnce({
608
444
  systemLogins: [
609
445
  {
610
446
  id: '1',
@@ -624,7 +460,9 @@ describe('LoginUser', () => {
624
460
  const sessionService = yield session_service_1.SessionService.init();
625
461
  const loginUser = yield login_user_1.LoginUser.init(sessionService);
626
462
  loginUser.ObjectId = '1';
627
- const rus = jest.spyOn(session_service_1.SessionService.prototype, 'retrieveUserSession').mockResolvedValueOnce({
463
+ const rus = jest
464
+ .spyOn(session_service_1.SessionService.prototype, 'retrieveUserSession')
465
+ .mockResolvedValueOnce({
628
466
  systemLogins: [
629
467
  {
630
468
  id: '1',
@@ -694,7 +532,9 @@ describe('LoginUser', () => {
694
532
  const dbTransaction = null;
695
533
  const sessionService = yield session_service_1.SessionService.init();
696
534
  const loginUser = yield login_user_1.LoginUser.init(sessionService);
697
- jest.spyOn(login_user_1.LoginUser['_UserObjectPrivilegeRepo'], 'findAll').mockRejectedValue(new Error('Database error'));
535
+ jest
536
+ .spyOn(login_user_1.LoginUser['_UserObjectPrivilegeRepo'], 'findAll')
537
+ .mockRejectedValue(new Error('Database error'));
698
538
  yield expect(loginUser['getObjectPrivileges'](systemCode, dbTransaction)).rejects.toThrow(Error);
699
539
  }));
700
540
  });
@@ -766,11 +606,23 @@ describe('LoginUser', () => {
766
606
  ParentGroupCode: null,
767
607
  };
768
608
  const systemAccess = [
769
- { SystemCode: 'system1', GroupCode: 'group1', System: { SystemCode: 'system1' } },
770
- { SystemCode: 'system2', GroupCode: 'group1', System: { SystemCode: 'system1' } },
609
+ {
610
+ SystemCode: 'system1',
611
+ GroupCode: 'group1',
612
+ System: { SystemCode: 'system1' },
613
+ },
614
+ {
615
+ SystemCode: 'system2',
616
+ GroupCode: 'group1',
617
+ System: { SystemCode: 'system1' },
618
+ },
771
619
  ];
772
620
  const parentSystemAccess = [
773
- { SystemCode: 'system3', GroupCode: 'parentGroup', System: { SystemCode: 'system3' } },
621
+ {
622
+ SystemCode: 'system3',
623
+ GroupCode: 'parentGroup',
624
+ System: { SystemCode: 'system3' },
625
+ },
774
626
  ];
775
627
  const groupFindByPkMock = jest
776
628
  .spyOn(group_repository_1.GroupRepository.prototype, 'findByPk')
@@ -791,18 +643,18 @@ describe('LoginUser', () => {
791
643
  {
792
644
  SystemCode: 'system1',
793
645
  GroupCode: 'group1',
794
- System: { SystemCode: 'system1' }
646
+ System: { SystemCode: 'system1' },
795
647
  },
796
648
  {
797
649
  SystemCode: 'system2',
798
650
  GroupCode: 'group1',
799
- System: { SystemCode: 'system1' }
651
+ System: { SystemCode: 'system1' },
800
652
  },
801
653
  {
802
654
  SystemCode: 'system3',
803
655
  GroupCode: 'parentGroup',
804
- System: { SystemCode: 'system3' }
805
- }
656
+ System: { SystemCode: 'system3' },
657
+ },
806
658
  ]);
807
659
  expect(groupFindByPkMock).toHaveBeenCalledWith(group.ParentGroupCode, dbTransaction);
808
660
  expect(systemAccessFindAllMock).toHaveBeenCalledTimes(2);
@@ -1 +1 @@
1
- {"version":3,"file":"login.spec.js","sourceRoot":"","sources":["../../../../../__tests__/unit/components/login-user/login.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.spec.js","sourceRoot":"","sources":["../../../../../__tests__/unit/components/login-user/login.spec.ts"],"names":[],"mappings":"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"}
@@ -51,12 +51,15 @@ export declare class Group extends ObjectBase {
51
51
  InheritParentSystemAccessYN?: string;
52
52
  Status?: string;
53
53
  }): Promise<Group>;
54
+ static delete(loginUser: LoginUser, dbTransaction: any, GroupCode: string): Promise<{
55
+ Message: string;
56
+ }>;
54
57
  static getSystemAccesses(loginUser: LoginUser, dbTransaction: any, GroupCode: string, Page: number, Rows: number, Search: {
55
58
  SystemCode?: string;
56
59
  Status?: string;
57
60
  }): Promise<any>;
58
61
  private static getInheritedSystemAccess;
59
- static checkParentHierarchy(dbTransaction: any, GroupCode: string, ListGroupCode?: string[]): Promise<boolean>;
62
+ static isGroupCodeInHierarchy(dbTransaction: any, GroupCode: string, ListGroupCode?: string[]): Promise<boolean>;
60
63
  static getParentSystemAccesses(loginUser: LoginUser, dbTransaction: any, GroupCode: string): Promise<any[]>;
61
64
  static addSystemAccesses(loginUser: LoginUser, dbTransaction: any, GroupCode: string, SystemCodes: string[]): Promise<{
62
65
  Message: string;
@@ -299,6 +299,58 @@ class Group extends general_1.ObjectBase {
299
299
  }
300
300
  });
301
301
  }
302
+ static delete(loginUser, dbTransaction, GroupCode) {
303
+ return __awaiter(this, void 0, void 0, function* () {
304
+ const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
305
+ const isPrivileged = yield loginUser.checkPrivileges(systemCode, 'GROUP_DELETE');
306
+ if (!isPrivileged) {
307
+ throw new general_1.ClassError('Group', 'GroupErrMsg03', 'You do not have the privilege to delete groups records.');
308
+ }
309
+ try {
310
+ const group = yield Group.init(dbTransaction, GroupCode);
311
+ if (group.Status === 'Active') {
312
+ throw new general_1.ClassError('Group', 'GroupErrMsg03', 'Active Group cant be deleted');
313
+ }
314
+ const relatedGroup = yield Group.findAll(1, Number.MAX_SAFE_INTEGER, dbTransaction, loginUser, {
315
+ ParentGroupCode: GroupCode,
316
+ });
317
+ if (relatedGroup.Count > 0) {
318
+ const listOfRelatedGroup = relatedGroup.Groups.map((group) => {
319
+ return group.GroupCode;
320
+ });
321
+ throw new general_1.ClassError('Group', 'GroupErrMsg03', `Group still has associated user group ${listOfRelatedGroup}`);
322
+ }
323
+ yield Group._Repo.delete(GroupCode, dbTransaction);
324
+ const EntityValueBefore = {
325
+ GroupCode: group.GroupCode,
326
+ Name: group.Name,
327
+ Type: group.Type,
328
+ Description: group.Description,
329
+ ParentGroupCode: group.ParentGroupCode,
330
+ InheritParentPrivilegeYN: group.InheritParentPrivilegeYN,
331
+ InheritParentSystemAccessYN: group.InheritParentSystemAccessYN,
332
+ Status: group.Status,
333
+ CreatedById: group._CreatedById,
334
+ UpdatedById: group._UpdatedById,
335
+ CreatedAt: group._CreatedAt,
336
+ UpdatedAt: group._UpdatedAt,
337
+ };
338
+ const activity = new activity_history_1.Activity();
339
+ activity.ActivityId = activity.createId();
340
+ activity.Action = activity_history_1.ActionEnum.DELETE;
341
+ activity.Description = 'Delete Group';
342
+ activity.EntityType = 'Group';
343
+ activity.EntityId = group.ObjectId;
344
+ activity.EntityValueBefore = JSON.stringify(EntityValueBefore);
345
+ activity.EntityValueAfter = JSON.stringify({});
346
+ yield activity.create(loginUser.ObjectId, dbTransaction);
347
+ return { Message: 'Group removed.' };
348
+ }
349
+ catch (error) {
350
+ throw error;
351
+ }
352
+ });
353
+ }
302
354
  static getSystemAccesses(loginUser, dbTransaction, GroupCode, Page, Rows, Search) {
303
355
  return __awaiter(this, void 0, void 0, function* () {
304
356
  const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
@@ -353,7 +405,7 @@ class Group extends general_1.ObjectBase {
353
405
  return systemAccess;
354
406
  });
355
407
  }
356
- static checkParentHierarchy(dbTransaction, GroupCode, ListGroupCode = []) {
408
+ static isGroupCodeInHierarchy(dbTransaction, GroupCode, ListGroupCode = []) {
357
409
  return __awaiter(this, void 0, void 0, function* () {
358
410
  ListGroupCode.push(GroupCode);
359
411
  const group = yield Group._Repo.findOne({
@@ -363,7 +415,7 @@ class Group extends general_1.ObjectBase {
363
415
  if (group === null || group === void 0 ? void 0 : group.ParentGroupCode) {
364
416
  const isGroupCodeExist = ListGroupCode.includes(group.ParentGroupCode);
365
417
  if (!isGroupCodeExist) {
366
- yield this.checkParentHierarchy(dbTransaction, group.ParentGroupCode, ListGroupCode);
418
+ yield this.isGroupCodeInHierarchy(dbTransaction, group.ParentGroupCode, ListGroupCode);
367
419
  }
368
420
  {
369
421
  return false;