@tomei/sso 0.36.0 → 0.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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":"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"}
|