@tomei/sso 0.42.0 → 0.43.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tomei/sso",
3
- "version": "0.42.0",
3
+ "version": "0.43.0",
4
4
  "description": "Tomei SSO Package",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -90,7 +90,8 @@ export class GroupReportingUser extends ObjectBase {
90
90
  userId: number, //The ID of the user to be added to the group.
91
91
  rank: number, //The rank to be assigned to the user in the group.
92
92
  status: 'Active' | 'Inactive', //The initial status of the user in the group.
93
- ): Promise<GroupReportingUser> { // Returns a GroupReportingUser instance representing the newly created record.
93
+ ): Promise<GroupReportingUser> {
94
+ // Returns a GroupReportingUser instance representing the newly created record.
94
95
  try {
95
96
  //Creates a new group reporting user entry in the sso_GroupReportingUser table.
96
97
 
@@ -114,7 +115,7 @@ export class GroupReportingUser extends ObjectBase {
114
115
  throw new ClassError(
115
116
  'GroupReportingUser',
116
117
  'GroupReportingUserErrMsg02',
117
- 'User does not have the privilege to create Group Reporting User',
118
+ 'Insufficient privileges to add a user to the group',
118
119
  );
119
120
  }
120
121
 
@@ -136,6 +137,24 @@ export class GroupReportingUser extends ObjectBase {
136
137
  'createGroupReportingUser',
137
138
  );
138
139
  }
140
+ //Query the sso_GroupReportingUser table to see if the rank already exists in the specified groupCode.
141
+ //If the rank already exists in the group, throw an error indicating the rank is already in of the group.
142
+ const groupReportingUserRank = await GroupReportingUser._Repo.findOne({
143
+ where: {
144
+ GroupCode: groupCode,
145
+ Rank: rank,
146
+ },
147
+ transaction: dbTransaction,
148
+ });
149
+ if (groupReportingUserRank) {
150
+ throw new ClassError(
151
+ 'GroupReportingUser',
152
+ 'GroupReportingUserErrMsg04',
153
+ 'Rank already exists in the group',
154
+ 'createGroupReportingUser',
155
+ );
156
+ }
157
+
139
158
  // Create GroupReportingUser Entry
140
159
  // If validation and privilege checks pass, insert a new record in the sso_GroupReportingUser table with the provided groupCode, userId, rank, status, and loginUser.UserId.Automatically capture the current timestamp for CreatedAt.
141
160
  this.GroupCode = groupCode;
@@ -144,6 +163,8 @@ export class GroupReportingUser extends ObjectBase {
144
163
  this.Status = status;
145
164
  this._CreatedById = loginUser.UserId;
146
165
  this._CreatedAt = new Date();
166
+ this._UpdatedAt = new Date();
167
+ this._UpdatedById = loginUser.UserId;
147
168
 
148
169
  const entityValueAfter: any = {
149
170
  GroupCode: groupCode,
@@ -152,6 +173,8 @@ export class GroupReportingUser extends ObjectBase {
152
173
  Status: status,
153
174
  CreatedById: loginUser.UserId,
154
175
  CreatedAt: this._CreatedAt,
176
+ UpdatedById: loginUser.UserId,
177
+ UpdatedAt: this._UpdatedAt,
155
178
  };
156
179
 
157
180
  const newGroupReportingUser = await GroupReportingUser._Repo.create(
@@ -14,5 +14,6 @@ export * from './group-object-privilege';
14
14
  export * from './system-privilege';
15
15
  export * from './group';
16
16
  export * from './api-key';
17
+ export * from './group-reporting-user';
17
18
 
18
19
  //test ci