@tomei/sso 0.36.0 → 0.37.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,6 @@
1
1
  import { ObjectBase } from '@tomei/general';
2
+ import { LoginUser, User } from 'components/login-user';
3
+ import { Group } from 'components/group';
2
4
  export declare class UserGroup extends ObjectBase {
3
5
  ObjectType: string;
4
6
  TableName: string;
@@ -21,4 +23,6 @@ export declare class UserGroup extends ObjectBase {
21
23
  private static _Repository;
22
24
  private constructor();
23
25
  static init(dbTransaction: any, UserGroupId?: number): Promise<UserGroup>;
26
+ create(loginUser: LoginUser, dbTransaction: any, group: Group, user: User): Promise<UserGroup>;
27
+ static findOne(dbTransaction: any, loginUser: LoginUser, GroupCode: string, UserId: number): Promise<UserGroup>;
24
28
  }
@@ -12,6 +12,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.UserGroup = void 0;
13
13
  const general_1 = require("@tomei/general");
14
14
  const user_group_repository_1 = require("./user-group.repository");
15
+ const config_1 = require("@tomei/config");
16
+ const activity_history_1 = require("@tomei/activity-history");
15
17
  class UserGroup extends general_1.ObjectBase {
16
18
  get CreatedAt() {
17
19
  return this._CreatedAt;
@@ -29,6 +31,8 @@ class UserGroup extends general_1.ObjectBase {
29
31
  super();
30
32
  this.ObjectType = 'UserGroup';
31
33
  this.TableName = 'sso_UserGroup';
34
+ this.InheritGroupPrivilegeYN = 'Y';
35
+ this.InheritGroupSystemAccessYN = 'Y';
32
36
  if (userGroupAttr) {
33
37
  this.UserGroupId = userGroupAttr.UserGroupId;
34
38
  this.UserId = userGroupAttr.UserId;
@@ -77,6 +81,97 @@ class UserGroup extends general_1.ObjectBase {
77
81
  }
78
82
  });
79
83
  }
84
+ create(loginUser, dbTransaction, group, user) {
85
+ return __awaiter(this, void 0, void 0, function* () {
86
+ try {
87
+ const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
88
+ const isPrivileged = yield loginUser.checkPrivileges(systemCode, 'USER_GROUP_CREATE');
89
+ if (!isPrivileged) {
90
+ throw new general_1.ClassError('UserGroup', 'UserGroupErrMsg0X', 'User does not have privilege to create user group.');
91
+ }
92
+ if (!group.GroupCode) {
93
+ throw new general_1.ClassError('UserGroup', 'UserGroupErrMsg02', 'GroupCode is required.');
94
+ }
95
+ if (!user.UserId) {
96
+ throw new general_1.ClassError('UserGroup', 'UserGroupErrMsg03', 'UserId is required.');
97
+ }
98
+ const userGroup = yield UserGroup.findOne(dbTransaction, loginUser, group.GroupCode, user.UserId);
99
+ if (userGroup) {
100
+ return userGroup;
101
+ }
102
+ this.UserId = user.UserId;
103
+ this.GroupCode = group.GroupCode;
104
+ this.Status = 'Active';
105
+ this._CreatedById = loginUser.UserId;
106
+ this._CreatedAt = new Date();
107
+ this._UpdatedById = loginUser.UserId;
108
+ this._UpdatedAt = new Date();
109
+ const userData = yield UserGroup._Repository.create({
110
+ UserId: this.UserId,
111
+ GroupCode: this.GroupCode,
112
+ Status: this.Status,
113
+ CreatedById: this._CreatedById,
114
+ CreatedAt: this._CreatedAt,
115
+ UpdatedById: this._UpdatedById,
116
+ UpdatedAt: this._UpdatedAt,
117
+ InheritGroupPrivilegeYN: this.InheritGroupPrivilegeYN,
118
+ InheritGroupSystemAccessYN: this.InheritGroupSystemAccessYN,
119
+ }, {
120
+ transaction: dbTransaction,
121
+ });
122
+ this.UserGroupId = userData.UserGroupId;
123
+ const EntityValueAfter = {
124
+ UserGroupId: this.UserGroupId,
125
+ UserId: this.UserId,
126
+ GroupCode: this.GroupCode,
127
+ Status: this.Status,
128
+ CreatedById: this._CreatedById,
129
+ CreatedAt: this._CreatedAt,
130
+ UpdatedById: this._UpdatedById,
131
+ UpdatedAt: this._UpdatedAt,
132
+ InheritGroupPrivilegeYN: this.InheritGroupPrivilegeYN,
133
+ InheritGroupSystemAccessYN: this.InheritGroupSystemAccessYN,
134
+ };
135
+ const activity = new activity_history_1.Activity();
136
+ activity.Action = activity_history_1.ActionEnum.ADD;
137
+ activity.Description = 'Assign user to group.';
138
+ activity.EntityType = 'UserGroup';
139
+ activity.EntityId = this.UserGroupId.toString();
140
+ activity.EntityValueBefore = JSON.stringify({});
141
+ activity.EntityValueAfter = JSON.stringify(EntityValueAfter);
142
+ yield activity.create(loginUser.ObjectId, dbTransaction);
143
+ return this;
144
+ }
145
+ catch (error) {
146
+ throw error;
147
+ }
148
+ });
149
+ }
150
+ static findOne(dbTransaction, loginUser, GroupCode, UserId) {
151
+ return __awaiter(this, void 0, void 0, function* () {
152
+ try {
153
+ const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
154
+ const isPrivileged = yield loginUser.checkPrivileges(systemCode, 'USER_GROUP_VIEW');
155
+ if (!isPrivileged) {
156
+ throw new general_1.ClassError('UserGroup', 'UserGroupErrMsg0X', 'User does not have privilege to view user group.');
157
+ }
158
+ const userGroupAttr = yield UserGroup._Repository.findOne({
159
+ where: {
160
+ UserId,
161
+ GroupCode,
162
+ },
163
+ transaction: dbTransaction,
164
+ });
165
+ if (userGroupAttr) {
166
+ return new UserGroup(userGroupAttr.get({ plain: true }));
167
+ }
168
+ return null;
169
+ }
170
+ catch (error) {
171
+ throw error;
172
+ }
173
+ });
174
+ }
80
175
  }
81
176
  exports.UserGroup = UserGroup;
82
177
  UserGroup._Repository = new user_group_repository_1.UserGroupRepository();
@@ -1 +1 @@
1
- {"version":3,"file":"user-group.js","sourceRoot":"","sources":["../../../../src/components/user-group/user-group.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAAwD;AACxD,mEAA8D;AAG9D,MAAa,SAAU,SAAQ,oBAAU;IAgBvC,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAID,YAAoB,aAA8B;QAChD,KAAK,EAAE,CAAC;QAlCV,eAAU,GAAG,WAAW,CAAC;QACzB,cAAS,GAAG,eAAe,CAAC;QAkC1B,IAAI,aAAa,EAAE;YACjB,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC;YAC7C,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;YACnC,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;YACzC,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;YACnC,IAAI,CAAC,uBAAuB,GAAG,aAAa,CAAC,uBAAuB,CAAC;YACrE,IAAI,CAAC,0BAA0B;gBAC7B,aAAa,CAAC,0BAA0B,CAAC;YAC3C,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC,WAAW,CAAC;YAC9C,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC;YAC1C,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC,WAAW,CAAC;YAC9C,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC;SAC3C;IACH,CAAC;IAED,MAAM,CAAO,IAAI,CAAC,aAAkB,EAAE,WAAoB;;YACxD,IAAI;gBACF,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;gBAClC,IAAI,WAAW,EAAE;oBACf,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;wBACnD,KAAK,EAAE,EAAE,WAAW,EAAE;wBACtB,WAAW,EAAE,aAAa;qBAC3B,CAAC,CAAC;oBACH,IAAI,aAAa,EAAE;wBACjB,SAAS,CAAC,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC;wBAClD,SAAS,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;wBACxC,SAAS,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;wBAC9C,SAAS,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;wBACxC,SAAS,CAAC,uBAAuB;4BAC/B,aAAa,CAAC,uBAAuB,CAAC;wBACxC,SAAS,CAAC,0BAA0B;4BAClC,aAAa,CAAC,0BAA0B,CAAC;wBAC3C,SAAS,CAAC,YAAY,GAAG,aAAa,CAAC,WAAW,CAAC;wBACnD,SAAS,CAAC,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC;wBAC/C,SAAS,CAAC,YAAY,GAAG,aAAa,CAAC,WAAW,CAAC;wBACnD,SAAS,CAAC,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC;qBAChD;yBAAM;wBACL,MAAM,IAAI,oBAAU,CAClB,WAAW,EACX,mBAAmB,EACnB,qBAAqB,CACtB,CAAC;qBACH;iBACF;gBACD,OAAO,SAAS,CAAC;aAClB;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,KAAK,CAAC;aACb;QACH,CAAC;KAAA;;AApFH,8BAqFC;AArDgB,qBAAW,GAAG,IAAI,2CAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"user-group.js","sourceRoot":"","sources":["../../../../src/components/user-group/user-group.ts"],"names":[],"mappings":"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"}