@tomei/sso 0.46.8 → 0.46.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,5 @@
1
1
  import { ObjectBase } from '@tomei/general';
2
+ import { User as UserClass } from '../login-user/user';
2
3
  export declare class UserPrivilege extends ObjectBase {
3
4
  TableName: string;
4
5
  ObjectType: string;
@@ -17,6 +18,33 @@ export declare class UserPrivilege extends ObjectBase {
17
18
  get CreatedAt(): Date;
18
19
  get UpdatedAt(): Date;
19
20
  private static _Repository;
21
+ private static _UserGroupRepository;
22
+ private static _GroupPrivilegeRepository;
20
23
  private constructor();
21
24
  static init(dbTransaction?: any, UserPrivilegeId?: number): Promise<UserPrivilege>;
25
+ static findAll(loginUser: UserClass, dbTransaction: any, whereOption: {
26
+ UserId: number;
27
+ SystemCode?: string;
28
+ }, pagination: {
29
+ page: number;
30
+ limit: number;
31
+ }): Promise<{
32
+ records: {
33
+ UserPrivilegeId: number;
34
+ SystemPrivilegeId: string;
35
+ PrivilegeCode: string;
36
+ SystemName: string;
37
+ Status: string;
38
+ CreatedBy: string;
39
+ CreatedAt: Date;
40
+ UpdatedBy: string;
41
+ UpdatedAt: Date;
42
+ }[];
43
+ pagination: {
44
+ currentPage: number;
45
+ pageSize: number;
46
+ totalRecords: number;
47
+ };
48
+ }>;
49
+ static findAllInheritedPrivileges(UserId: number, loginUser: UserClass, dbTransaction: any): Promise<any[]>;
22
50
  }
@@ -12,6 +12,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.UserPrivilege = void 0;
13
13
  const general_1 = require("@tomei/general");
14
14
  const user_privilege_repository_1 = require("./user-privilege.repository");
15
+ const config_1 = require("@tomei/config");
16
+ const system_privilege_entity_1 = require("../../models/system-privilege.entity");
17
+ const system_entity_1 = require("../../models/system.entity");
18
+ const user_group_repository_1 = require("../user-group/user-group.repository");
19
+ const group_entity_1 = require("../../models/group.entity");
20
+ const user_entity_1 = require("../../models/user.entity");
21
+ const group_privilege_repository_1 = require("../group-privilege/group-privilege.repository");
15
22
  class UserPrivilege extends general_1.ObjectBase {
16
23
  get CreatedById() {
17
24
  return this._CreatedById;
@@ -63,7 +70,173 @@ class UserPrivilege extends general_1.ObjectBase {
63
70
  }
64
71
  });
65
72
  }
73
+ static findAll(loginUser, dbTransaction, whereOption, pagination) {
74
+ return __awaiter(this, void 0, void 0, function* () {
75
+ try {
76
+ const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
77
+ const privilegeCode = 'USER_PRIVILEGE_LIST';
78
+ const isPrivileged = yield loginUser.checkPrivileges(systemCode, privilegeCode);
79
+ if (!isPrivileged) {
80
+ throw new general_1.ClassError('UserPrivilege', 'UserPrivilegeErrMsg01', 'You do not have permission to access this resource.');
81
+ }
82
+ const options = {
83
+ where: {
84
+ UserId: whereOption.UserId,
85
+ },
86
+ offset: (pagination.page - 1) * pagination.limit,
87
+ limit: pagination.limit,
88
+ transaction: dbTransaction,
89
+ include: [
90
+ {
91
+ model: system_privilege_entity_1.default,
92
+ attributes: ['PrivilegeCode'],
93
+ include: [
94
+ {
95
+ model: system_entity_1.default,
96
+ attributes: ['Name'],
97
+ },
98
+ ],
99
+ },
100
+ {
101
+ model: user_entity_1.default,
102
+ as: 'CreatedByUser',
103
+ attributes: ['FullName'],
104
+ },
105
+ {
106
+ model: user_entity_1.default,
107
+ as: 'UpdatedByUser',
108
+ attributes: ['FullName'],
109
+ },
110
+ ],
111
+ };
112
+ const { count, rows } = yield this._Repository.findAllWithPagination(options);
113
+ return {
114
+ records: rows.map((record) => {
115
+ return {
116
+ UserPrivilegeId: record.UserPrivilegeId,
117
+ SystemPrivilegeId: record.SystemPrivilegeId,
118
+ PrivilegeCode: record.Privilege.PrivilegeCode,
119
+ SystemName: record.Privilege.System.Name,
120
+ Status: record.Status,
121
+ CreatedBy: record.CreatedByUser.FullName,
122
+ CreatedAt: record.CreatedAt,
123
+ UpdatedBy: record.UpdatedByUser.FullName,
124
+ UpdatedAt: record.UpdatedAt,
125
+ };
126
+ }),
127
+ pagination: {
128
+ currentPage: pagination.page,
129
+ pageSize: pagination.limit,
130
+ totalRecords: count,
131
+ },
132
+ };
133
+ }
134
+ catch (error) {
135
+ throw error;
136
+ }
137
+ });
138
+ }
139
+ static findAllInheritedPrivileges(UserId, loginUser, dbTransaction) {
140
+ return __awaiter(this, void 0, void 0, function* () {
141
+ try {
142
+ const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
143
+ const privilegeCode = 'USER_PRIVILEGE_LIST';
144
+ const isPrivileged = yield loginUser.checkPrivileges(systemCode, privilegeCode);
145
+ if (!isPrivileged) {
146
+ throw new general_1.ClassError('UserPrivilege', 'UserPrivilegeErrMsg01', 'You do not have permission to access this resource.');
147
+ }
148
+ const userGroups = yield UserPrivilege._UserGroupRepository.findAll({
149
+ where: {
150
+ UserId,
151
+ },
152
+ include: [
153
+ {
154
+ model: group_entity_1.default,
155
+ attributes: ['GroupCode', 'Name', 'InheritParentPrivilegeYN'],
156
+ },
157
+ ],
158
+ transaction: dbTransaction,
159
+ });
160
+ const listOfGroups = userGroups.map((groups) => {
161
+ let inheritPrivilegeYN = groups.InheritGroupPrivilegeYN;
162
+ if (inheritPrivilegeYN !== 'Y') {
163
+ inheritPrivilegeYN = 'N';
164
+ }
165
+ return {
166
+ GroupCode: groups.GroupCode,
167
+ GroupName: groups.Group.Name,
168
+ InheritPrivilegeYN: inheritPrivilegeYN,
169
+ Status: groups.Status,
170
+ };
171
+ });
172
+ const userGroupPrivilege = [];
173
+ for (let i = 0; i < listOfGroups.length; i++) {
174
+ const group = yield listOfGroups[i];
175
+ const data = {
176
+ GroupCode: group.GroupCode,
177
+ GroupName: group.GroupName,
178
+ InheritPrivilegeYN: group.InheritPrivilegeYN,
179
+ systems: [],
180
+ };
181
+ if (group.InheritPrivilegeYN === 'Y') {
182
+ if (group.Status === 'Active') {
183
+ const options = {
184
+ where: {
185
+ GroupCode: group.GroupCode,
186
+ Status: 'Active',
187
+ },
188
+ transaction: dbTransaction,
189
+ include: [
190
+ {
191
+ model: system_privilege_entity_1.default,
192
+ attributes: ['PrivilegeCode'],
193
+ include: [
194
+ {
195
+ model: system_entity_1.default,
196
+ attributes: ['Name'],
197
+ },
198
+ ],
199
+ },
200
+ {
201
+ model: user_entity_1.default,
202
+ as: 'CreatedByUser',
203
+ attributes: ['FullName'],
204
+ },
205
+ {
206
+ model: user_entity_1.default,
207
+ as: 'UpdatedByUser',
208
+ attributes: ['FullName'],
209
+ },
210
+ ],
211
+ };
212
+ const systemPrivilege = yield this._GroupPrivilegeRepository.findAll(options);
213
+ const privilegeDetails = systemPrivilege.map((record) => {
214
+ return {
215
+ GroupPrivilegeId: record.GroupPrivilegeId,
216
+ SystemPrivilegeId: record.SystemPrivilegeId,
217
+ PrivilegeCode: record.Privilege.PrivilegeCode,
218
+ Status: record.Status,
219
+ CreatedBy: record.CreatedByUser.FullName,
220
+ CreatedAt: record.CreatedAt,
221
+ UpdatedBy: record.UpdatedByUser.FullName,
222
+ UpdatedAt: record.UpdatedAt,
223
+ };
224
+ });
225
+ data.systems = privilegeDetails;
226
+ }
227
+ }
228
+ userGroupPrivilege.push(data);
229
+ }
230
+ return userGroupPrivilege;
231
+ }
232
+ catch (error) {
233
+ throw error;
234
+ }
235
+ });
236
+ }
66
237
  }
67
238
  exports.UserPrivilege = UserPrivilege;
68
239
  UserPrivilege._Repository = new user_privilege_repository_1.UserPrivilegeRepository();
240
+ UserPrivilege._UserGroupRepository = new user_group_repository_1.UserGroupRepository();
241
+ UserPrivilege._GroupPrivilegeRepository = new group_privilege_repository_1.GroupPrivilegeRepository();
69
242
  //# sourceMappingURL=user-privilege.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-privilege.js","sourceRoot":"","sources":["../../../../src/components/user-privilege/user-privilege.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAAwD;AAExD,2EAAsE;AAEtE,MAAa,aAAc,SAAQ,oBAAU;IAc3C,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAID,YAAoB,iBAAsC;QACxD,KAAK,EAAE,CAAC;QAhCV,cAAS,GAAG,mBAAmB,CAAC;QAChC,eAAU,GAAG,eAAe,CAAC;QAgC3B,IAAI,iBAAiB,EAAE;YACrB,IAAI,CAAC,eAAe,GAAG,iBAAiB,CAAC,eAAe,CAAC;YACzD,IAAI,CAAC,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC;YACvC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC;YAC7D,IAAI,CAAC,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC;YACvC,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC,WAAW,CAAC;YAClD,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC,WAAW,CAAC;YAClD,IAAI,CAAC,UAAU,GAAG,iBAAiB,CAAC,SAAS,CAAC;YAC9C,IAAI,CAAC,UAAU,GAAG,iBAAiB,CAAC,SAAS,CAAC;SAC/C;IACH,CAAC;IAEM,MAAM,CAAO,IAAI,CAAC,aAAmB,EAAE,eAAwB;;YACpE,IAAI;gBACF,IAAI,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;gBACxC,IAAI,eAAe,EAAE;oBACnB,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;wBACvD,KAAK,EAAE,EAAE,eAAe,EAAE;wBAC1B,WAAW,EAAE,aAAa;qBAC3B,CAAC,CAAC;oBACH,IAAI,iBAAiB,EAAE;wBACrB,aAAa,GAAG,IAAI,aAAa,CAAC,iBAAiB,CAAC,CAAC;qBACtD;yBAAM;wBACL,MAAM,IAAI,oBAAU,CAClB,eAAe,EACf,uBAAuB,EACvB,yBAAyB,CAC1B,CAAC;qBACH;iBACF;gBACD,OAAO,aAAa,CAAC;aACtB;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,KAAK,CAAC;aACb;QACH,CAAC;KAAA;;AApEH,sCAqEC;AAvCgB,yBAAW,GAAG,IAAI,mDAAuB,EAAE,CAAC"}
1
+ {"version":3,"file":"user-privilege.js","sourceRoot":"","sources":["../../../../src/components/user-privilege/user-privilege.ts"],"names":[],"mappings":"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"}