@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.
- package/dist/src/components/user-group/user-group.d.ts +4 -0
- package/dist/src/components/user-group/user-group.js +95 -0
- package/dist/src/components/user-group/user-group.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/components/user-group/user-group.ts +210 -2
@@ -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;
|
1
|
+
{"version":3,"file":"user-group.js","sourceRoot":"","sources":["../../../../src/components/user-group/user-group.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAAwD;AACxD,mEAA8D;AAI9D,0CAAkD;AAClD,8DAA+D;AAE/D,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;QAM5B,4BAAuB,GAAG,GAAG,CAAC;QAC9B,+BAA0B,GAAG,GAAG,CAAC;QA2B/B,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;IAEK,MAAM,CACV,SAAoB,EACpB,aAAkB,EAClB,KAAY,EACZ,IAAU;;YAGV,IAAI;gBAKF,MAAM,UAAU,GACd,0BAAiB,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;gBAC3D,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,eAAe,CAClD,UAAU,EACV,mBAAmB,CACpB,CAAC;gBAGF,IAAI,CAAC,YAAY,EAAE;oBACjB,MAAM,IAAI,oBAAU,CAClB,WAAW,EACX,mBAAmB,EACnB,oDAAoD,CACrD,CAAC;iBACH;gBAQD,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;oBACpB,MAAM,IAAI,oBAAU,CAClB,WAAW,EACX,mBAAmB,EACnB,wBAAwB,CACzB,CAAC;iBACH;gBAOD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;oBAChB,MAAM,IAAI,oBAAU,CAClB,WAAW,EACX,mBAAmB,EACnB,qBAAqB,CACtB,CAAC;iBACH;gBAOD,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,OAAO,CACvC,aAAa,EACb,SAAS,EACT,KAAK,CAAC,SAAS,EACf,IAAI,CAAC,MAAM,CACZ,CAAC;gBAEF,IAAI,SAAS,EAAE;oBACb,OAAO,SAAS,CAAC;iBAClB;gBAYD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;gBACjC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;gBACvB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC;gBACrC,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;gBAC7B,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC;gBACrC,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;gBAM7B,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,MAAM,CACjD;oBACE,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,WAAW,EAAE,IAAI,CAAC,YAAY;oBAC9B,SAAS,EAAE,IAAI,CAAC,UAAU;oBAC1B,WAAW,EAAE,IAAI,CAAC,YAAY;oBAC9B,SAAS,EAAE,IAAI,CAAC,UAAU;oBAC1B,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;oBACrD,0BAA0B,EAAE,IAAI,CAAC,0BAA0B;iBAC5D,EACD;oBACE,WAAW,EAAE,aAAa;iBAC3B,CACF,CAAC;gBAEF,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;gBAIxC,MAAM,gBAAgB,GAAG;oBACvB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,WAAW,EAAE,IAAI,CAAC,YAAY;oBAC9B,SAAS,EAAE,IAAI,CAAC,UAAU;oBAC1B,WAAW,EAAE,IAAI,CAAC,YAAY;oBAC9B,SAAS,EAAE,IAAI,CAAC,UAAU;oBAC1B,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;oBACrD,0BAA0B,EAAE,IAAI,CAAC,0BAA0B;iBAC5D,CAAC;gBAQF,MAAM,QAAQ,GAAG,IAAI,2BAAQ,EAAE,CAAC;gBAChC,QAAQ,CAAC,MAAM,GAAG,6BAAU,CAAC,GAAG,CAAC;gBACjC,QAAQ,CAAC,WAAW,GAAG,uBAAuB,CAAC;gBAC/C,QAAQ,CAAC,UAAU,GAAG,WAAW,CAAC;gBAClC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;gBAChD,QAAQ,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAChD,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;gBAK7D,MAAM,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;gBAEzD,OAAO,IAAI,CAAC;aACb;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,KAAK,CAAC;aACb;QACH,CAAC;KAAA;IAEM,MAAM,CAAO,OAAO,CACzB,aAAkB,EAClB,SAAoB,EACpB,SAAiB,EACjB,MAAc;;YAEd,IAAI;gBAKF,MAAM,UAAU,GACd,0BAAiB,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;gBAC3D,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,eAAe,CAClD,UAAU,EACV,iBAAiB,CAClB,CAAC;gBAGF,IAAI,CAAC,YAAY,EAAE;oBACjB,MAAM,IAAI,oBAAU,CAClB,WAAW,EACX,mBAAmB,EACnB,kDAAkD,CACnD,CAAC;iBACH;gBASD,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC;oBACxD,KAAK,EAAE;wBACL,MAAM;wBACN,SAAS;qBACV;oBACD,WAAW,EAAE,aAAa;iBAC3B,CAAC,CAAC;gBAEH,IAAI,aAAa,EAAE;oBACjB,OAAO,IAAI,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;iBAC1D;gBAED,OAAO,IAAI,CAAC;aACb;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,KAAK,CAAC;aACb;QACH,CAAC;KAAA;;AAhSH,8BAiSC;AAjQgB,qBAAW,GAAG,IAAI,2CAAmB,EAAE,CAAC"}
|