@tomei/sso 0.29.2 → 0.30.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/login-user/login-user.js +5 -4
- package/dist/src/components/login-user/login-user.js.map +1 -1
- package/dist/src/components/system-privilege/system-privilege.d.ts +2 -0
- package/dist/src/components/system-privilege/system-privilege.js +52 -0
- package/dist/src/components/system-privilege/system-privilege.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/components/login-user/login-user.ts +4 -4
- package/src/components/system-privilege/system-privilege.ts +101 -0
package/package.json
CHANGED
@@ -309,9 +309,9 @@ export class LoginUser extends LoginUserBase {
|
|
309
309
|
const userAttr: IUserAttr = {
|
310
310
|
UserId: user.UserId,
|
311
311
|
UserName: user.UserName,
|
312
|
-
FullName: user
|
313
|
-
IDNo: user
|
314
|
-
ContactNo: user
|
312
|
+
FullName: user?.Staff?.FullName,
|
313
|
+
IDNo: user?.Staff?.IdNo,
|
314
|
+
ContactNo: user?.Staff?.Mobile,
|
315
315
|
Email: user.Email,
|
316
316
|
Password: user.Password,
|
317
317
|
Status: user.Status,
|
@@ -329,7 +329,7 @@ export class LoginUser extends LoginUserBase {
|
|
329
329
|
CreatedAt: user.CreatedAt,
|
330
330
|
UpdatedById: user.UpdatedById,
|
331
331
|
UpdatedAt: user.UpdatedAt,
|
332
|
-
staffs: user
|
332
|
+
staffs: user?.Staff,
|
333
333
|
};
|
334
334
|
|
335
335
|
return new LoginUser(sessionService, dbTransaction, userAttr);
|
@@ -2,6 +2,10 @@ import { ClassError, ObjectBase } from '@tomei/general';
|
|
2
2
|
import { SystemRepository } from '../system/system.repository';
|
3
3
|
import { SystemPrivilegeRepository } from './system-privilege.repository';
|
4
4
|
import { ISystemPrivilegeAttr } from '../../interfaces/system-privilege.interface';
|
5
|
+
import { LoginUser } from '../login-user/login-user';
|
6
|
+
import { ApplicationConfig } from '@tomei/config';
|
7
|
+
import { System } from '../system/system';
|
8
|
+
import { ActionEnum, Activity } from '@tomei/activity-history';
|
5
9
|
|
6
10
|
export class SystemPrivilege extends ObjectBase {
|
7
11
|
ObjectType = 'SystemPrivilege';
|
@@ -89,4 +93,101 @@ export class SystemPrivilege extends ObjectBase {
|
|
89
93
|
throw error;
|
90
94
|
}
|
91
95
|
}
|
96
|
+
|
97
|
+
static async create(
|
98
|
+
loginUser: LoginUser,
|
99
|
+
dbTransaction: any,
|
100
|
+
systemPrivilege: SystemPrivilege,
|
101
|
+
) {
|
102
|
+
try {
|
103
|
+
//Part 1: Privilege Checking
|
104
|
+
const systemCode =
|
105
|
+
ApplicationConfig.getComponentConfigValue('system-code');
|
106
|
+
const isPrivileged = await loginUser.checkPrivileges(
|
107
|
+
systemCode,
|
108
|
+
'PRIVILEGE_CREATE',
|
109
|
+
);
|
110
|
+
if (!isPrivileged) {
|
111
|
+
throw new Error(
|
112
|
+
'You do not have permission to create system privilege',
|
113
|
+
);
|
114
|
+
}
|
115
|
+
|
116
|
+
//Part 2: Validation
|
117
|
+
//Make sure systemCode and PrivilegeCode are not empty
|
118
|
+
if (!systemPrivilege.SystemCode) {
|
119
|
+
throw new ClassError(
|
120
|
+
'SystemPrivilege',
|
121
|
+
'SystemPrivilegeErrMsg02',
|
122
|
+
'System Code is required',
|
123
|
+
);
|
124
|
+
}
|
125
|
+
|
126
|
+
if (!systemPrivilege.PrivilegeCode) {
|
127
|
+
throw new ClassError(
|
128
|
+
'SystemPrivilege',
|
129
|
+
'SystemPrivilegeErrMsg02',
|
130
|
+
'Privilege Code is required',
|
131
|
+
);
|
132
|
+
}
|
133
|
+
|
134
|
+
//Call System.init() method by passing systemCode
|
135
|
+
await System.init(dbTransaction, systemPrivilege.SystemCode);
|
136
|
+
|
137
|
+
//Call SystemPrivilege._Repo findByPk
|
138
|
+
const existingSystemPrivilege = await this._Repository.findByPk(
|
139
|
+
systemPrivilege.PrivilegeCode,
|
140
|
+
{
|
141
|
+
transaction: dbTransaction,
|
142
|
+
},
|
143
|
+
);
|
144
|
+
|
145
|
+
//If PrivilegeCode found, throw new ClassError
|
146
|
+
if (existingSystemPrivilege) {
|
147
|
+
throw new ClassError(
|
148
|
+
'SystemPrivilege',
|
149
|
+
'SystemPrivilegeErrMsg03',
|
150
|
+
'System Privilege already exists',
|
151
|
+
);
|
152
|
+
}
|
153
|
+
|
154
|
+
//Part 3: Create Privilege
|
155
|
+
//Initialise new SystemPrivilege instance and populate below
|
156
|
+
const newSystemPrivilege = new SystemPrivilege();
|
157
|
+
newSystemPrivilege.ObjectId = systemPrivilege.PrivilegeCode;
|
158
|
+
newSystemPrivilege.SystemCode = systemPrivilege.SystemCode;
|
159
|
+
newSystemPrivilege.Description = systemPrivilege.Description;
|
160
|
+
newSystemPrivilege.Status = 'Active';
|
161
|
+
newSystemPrivilege._CreatedById = loginUser.UserId;
|
162
|
+
newSystemPrivilege._UpdatedById = loginUser.UserId;
|
163
|
+
newSystemPrivilege._CreatedAt = new Date();
|
164
|
+
newSystemPrivilege._UpdatedAt = new Date();
|
165
|
+
|
166
|
+
//Call SystemPrivilege._Repo create method
|
167
|
+
await this._Repository.create(newSystemPrivilege, dbTransaction);
|
168
|
+
|
169
|
+
//Part 4: Record Create Privilege Activity
|
170
|
+
//Initialise EntityValueBefore variable and set to empty object.
|
171
|
+
const EntityValueBefore = {};
|
172
|
+
//Initialise EntityValueAfter variable and set to newSystemPrivilege object.
|
173
|
+
const EntityValueAfter = newSystemPrivilege;
|
174
|
+
|
175
|
+
//Instantiate new activity object and populate
|
176
|
+
const activity = new Activity();
|
177
|
+
activity.ActivityId = activity.createId();
|
178
|
+
activity.Action = ActionEnum.ADD;
|
179
|
+
activity.Description = 'Add System Privilege';
|
180
|
+
activity.EntityType = 'SystemPrivilege';
|
181
|
+
activity.EntityId = newSystemPrivilege.SystemCode;
|
182
|
+
activity.EntityValueBefore = JSON.stringify(EntityValueBefore);
|
183
|
+
activity.EntityValueAfter = JSON.stringify(EntityValueAfter);
|
184
|
+
|
185
|
+
//Call Activity.create method
|
186
|
+
await activity.create(loginUser.ObjectId, dbTransaction);
|
187
|
+
|
188
|
+
return newSystemPrivilege;
|
189
|
+
} catch (error) {
|
190
|
+
throw error;
|
191
|
+
}
|
192
|
+
}
|
92
193
|
}
|