@getjones/test-infra 2.9.9 → 2.9.10
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 +1 -1
- package/src/index.js +2 -1
- package/src/resources/virusFile.pdf +0 -0
- package/src/saas/internal-api/users/api/users.service.js +12 -10
- package/src/saas/openapi/users/user.model.js +10 -0
- package/src/saas/openapi/users/users.api.js +33 -0
- package/src/saas/openapi/users/users.service.js +41 -0
package/package.json
CHANGED
package/src/index.js
CHANGED
|
@@ -78,7 +78,8 @@ const getOpenAPI = () => {
|
|
|
78
78
|
const requirements = require('./saas/openapi/requirements');
|
|
79
79
|
const requests = require('./saas/openapi/requests');
|
|
80
80
|
const coi = require('./saas/openapi/coi/coi.service');
|
|
81
|
-
const
|
|
81
|
+
const users = require('./saas/openapi/users/users.service');
|
|
82
|
+
const openAPI = { accounts, projects, tabs, requirements, requests, coi, users };
|
|
82
83
|
return openAPI;
|
|
83
84
|
};
|
|
84
85
|
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const { InviteUserModel, SignupUserModel, EditUserModel, EditUserProfileModel } = require('../models/users.model');
|
|
2
2
|
const { validateType } = require('../../../../common/validations/typeValidations');
|
|
3
|
-
const { getEnv } = require('../../../../env');
|
|
3
|
+
const { getEnv, getSystemUserIdentity } = require('../../../../env');
|
|
4
4
|
const { credentials } = getEnv();
|
|
5
5
|
const userAPI = require('./users.api');
|
|
6
6
|
const util = require('../utils/util');
|
|
@@ -147,31 +147,33 @@ const sendForgetPasswordMail = userEmail => {
|
|
|
147
147
|
return userAPI.sendForgetPasswordMail(userEmail);
|
|
148
148
|
};
|
|
149
149
|
|
|
150
|
-
const editUserProfile = async (email, fullName,
|
|
151
|
-
const
|
|
150
|
+
const editUserProfile = async (email, fullName, userContext) => {
|
|
151
|
+
const systemUserContext = await getSystemUserIdentity(credentials.superUser).cookie;
|
|
152
|
+
const { data: user } = await getUserByEmail(email, systemUserContext);
|
|
152
153
|
|
|
153
154
|
const editUserProfileModel = new EditUserProfileModel(user.id, email, user.role, fullName);
|
|
154
155
|
|
|
155
|
-
const response = await userAPI.editUserProfile(editUserProfileModel,
|
|
156
|
+
const response = await userAPI.editUserProfile(editUserProfileModel, userContext);
|
|
156
157
|
|
|
157
158
|
if (response.status !== httpResponseStatusCodes.OK) {
|
|
158
159
|
throw Error(`Failed to edit user id: [${user.id}] profile\n${response}`);
|
|
159
160
|
}
|
|
160
161
|
|
|
161
|
-
return getUserByEmail(email,
|
|
162
|
+
return getUserByEmail(email, systemUserContext);
|
|
162
163
|
};
|
|
163
164
|
|
|
164
|
-
const editUserSettings = async (email, config,
|
|
165
|
-
const
|
|
166
|
-
const
|
|
165
|
+
const editUserSettings = async (email, config, userContext) => {
|
|
166
|
+
const systemUserContext = await getSystemUserIdentity(credentials.superUser).cookie;
|
|
167
|
+
const { data: user } = await getUserByEmail(email, systemUserContext);
|
|
167
168
|
|
|
168
|
-
const
|
|
169
|
+
const settingModel = util.getSettingsModel(config);
|
|
170
|
+
const response = await userAPI.editUserEmailNotificationsSettings(user.id, settingModel, userContext);
|
|
169
171
|
|
|
170
172
|
if (response.status !== httpResponseStatusCodes.OK) {
|
|
171
173
|
throw Error(`Failed to edit user id: [${user.id}] settings\n${response}`);
|
|
172
174
|
}
|
|
173
175
|
|
|
174
|
-
return getUserByEmail(email,
|
|
176
|
+
return getUserByEmail(email, systemUserContext);
|
|
175
177
|
};
|
|
176
178
|
|
|
177
179
|
module.exports = {
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
const requests = require('../../../common/requests/apiKeyAuth/requests');
|
|
2
|
+
const { openapiUrl } = require('../../../env').getEnv();
|
|
3
|
+
|
|
4
|
+
const Endpoints = {
|
|
5
|
+
createUser: `${openapiUrl}/users`,
|
|
6
|
+
updateUser: userId => `${openapiUrl}/users/${userId}`,
|
|
7
|
+
deleteUser: userId => `${openapiUrl}/users/${userId}`,
|
|
8
|
+
getUser: `${openapiUrl}/users`,
|
|
9
|
+
getAllUsers: `${openapiUrl}/users/all`
|
|
10
|
+
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const createUser = async (apiKey, user) => {
|
|
14
|
+
return requests.postRequestHandler(Endpoints.createUser, apiKey, user).then(res => res);
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
const updateUser = async (apiKey, user, userId) => {
|
|
18
|
+
return requests.patchRequestHandler(Endpoints.updateUser(userId), apiKey, user).then(res => res);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const deleteUser = async (apiKey, userId) => {
|
|
22
|
+
return requests.deleteRequestHandler(Endpoints.deleteUser(userId), apiKey).then(res => res);
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const getUser = async (apiKey, params) => {
|
|
26
|
+
return requests.getRequestHandler(Endpoints.getUser, apiKey, params).then(res => res);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const getAllUsers = async (apiKey, params) => {
|
|
30
|
+
return requests.getRequestHandler(Endpoints.getAllUsers, apiKey, params).then(res => res);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
module.exports = { createUser, updateUser, deleteUser, getUser, getAllUsers };
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
const { validateType } = require('../../../common/validations/typeValidations');
|
|
2
|
+
const { ApiUserModel } = require('./user.model');
|
|
3
|
+
const usersApi = require('./users.api');
|
|
4
|
+
const httpResponseStatusCodes = require('../../../../../../packages/test-infra/src/common/httpResponseStatusCodes.json');
|
|
5
|
+
|
|
6
|
+
const createUser = async (apiKey, user) => {
|
|
7
|
+
validateType(user, ApiUserModel);
|
|
8
|
+
const response = await usersApi.createUser(apiKey, user);
|
|
9
|
+
validateResponse(response, httpResponseStatusCodes.OK, 'Create user has failed');
|
|
10
|
+
return response.data;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const updateUser = async (apiKey, user, userId) => {
|
|
14
|
+
const response = await usersApi.updateUser(apiKey, user, userId);
|
|
15
|
+
validateResponse(response, httpResponseStatusCodes.OK, 'Update user has failed');
|
|
16
|
+
return response.data;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
const deleteUser = async (apiKey, userId) => {
|
|
20
|
+
const response = await usersApi.deleteUser(apiKey, userId);
|
|
21
|
+
validateResponse(response, httpResponseStatusCodes.OK, 'Delete user has failed');
|
|
22
|
+
return response.data;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const getUserByEmailId = async (apiKey, email) => {
|
|
26
|
+
const response = await usersApi.getUser(apiKey, { email });
|
|
27
|
+
return response;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
const getAllUsers = async (apiKey, { before, after, propertyId } = {}) => {
|
|
31
|
+
const response = await usersApi.getAllUsers(apiKey, { before, after, propertyId });
|
|
32
|
+
return response;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
const validateResponse = (response, expectedStatus, errorMessage) => {
|
|
36
|
+
if (response.status !== expectedStatus) {
|
|
37
|
+
throw new Error(`${errorMessage}\n${JSON.stringify(response.status)}`);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
module.exports = { createUser, updateUser, deleteUser, getUserByEmailId, getAllUsers };
|