@stackfactor/client-api 1.1.15-8.1 → 1.1.16
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/exports.js +71 -0
- package/index.js +3 -0
- package/lib/actionNotifications.js +82 -0
- package/lib/address.js +27 -0
- package/lib/aiAssistant.js +139 -0
- package/lib/axiosClient.js +85 -0
- package/lib/config.js +74 -0
- package/lib/constants.js +127 -0
- package/lib/dashboard.js +79 -0
- package/lib/departmentTrainingPlans.js +180 -0
- package/lib/groups.js +302 -0
- package/lib/integration.js +352 -0
- package/lib/integrationConfiguration.js +108 -0
- package/lib/integrations/contentGenerator.js +79 -0
- package/lib/learningContent.js +383 -0
- package/lib/learningPath.js +220 -0
- package/lib/logger.js +60 -0
- package/lib/role.js +406 -0
- package/lib/roleTemplate.js +258 -0
- package/lib/skill.js +514 -0
- package/lib/skillAssessmentTestingSession.js +148 -0
- package/lib/skillAssessments.js +145 -0
- package/lib/skillTemplate.js +318 -0
- package/lib/teams.js +294 -0
- package/lib/tenants.js +57 -0
- package/lib/trainingPlans.js +279 -0
- package/lib/userInformation.js +109 -0
- package/lib/users.js +695 -0
- package/lib/utils.js +48 -0
- package/package.json +10 -31
- package/declarations/axios.d.ts +0 -1
- package/declarations/html2plaintext.d.ts +0 -1
- package/dist/cjs/actionNotifications.d.ts +0 -24
- package/dist/cjs/actionNotifications.d.ts.map +0 -1
- package/dist/cjs/actionNotifications.js +0 -73
- package/dist/cjs/actionNotifications.js.map +0 -1
- package/dist/cjs/address.d.ts +0 -8
- package/dist/cjs/address.d.ts.map +0 -1
- package/dist/cjs/address.js +0 -24
- package/dist/cjs/address.js.map +0 -1
- package/dist/cjs/aiAssistant.d.ts +0 -42
- package/dist/cjs/aiAssistant.d.ts.map +0 -1
- package/dist/cjs/aiAssistant.js +0 -135
- package/dist/cjs/aiAssistant.js.map +0 -1
- package/dist/cjs/avatar.d.ts +0 -11
- package/dist/cjs/avatar.d.ts.map +0 -1
- package/dist/cjs/avatar.js +0 -32
- package/dist/cjs/avatar.js.map +0 -1
- package/dist/cjs/axiosClient.d.ts +0 -31
- package/dist/cjs/axiosClient.d.ts.map +0 -1
- package/dist/cjs/axiosClient.js +0 -126
- package/dist/cjs/axiosClient.js.map +0 -1
- package/dist/cjs/config.d.ts +0 -23
- package/dist/cjs/config.d.ts.map +0 -1
- package/dist/cjs/config.js +0 -63
- package/dist/cjs/config.js.map +0 -1
- package/dist/cjs/constants.d.ts +0 -69
- package/dist/cjs/constants.d.ts.map +0 -1
- package/dist/cjs/constants.js +0 -91
- package/dist/cjs/constants.js.map +0 -1
- package/dist/cjs/dashboard.d.ts +0 -23
- package/dist/cjs/dashboard.d.ts.map +0 -1
- package/dist/cjs/dashboard.js +0 -74
- package/dist/cjs/dashboard.js.map +0 -1
- package/dist/cjs/departmentTrainingPlans.d.ts +0 -53
- package/dist/cjs/departmentTrainingPlans.d.ts.map +0 -1
- package/dist/cjs/departmentTrainingPlans.js +0 -153
- package/dist/cjs/departmentTrainingPlans.js.map +0 -1
- package/dist/cjs/groups.d.ts +0 -90
- package/dist/cjs/groups.d.ts.map +0 -1
- package/dist/cjs/groups.js +0 -273
- package/dist/cjs/groups.js.map +0 -1
- package/dist/cjs/index.d.ts +0 -33
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/index.js +0 -77
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/integration.d.ts +0 -82
- package/dist/cjs/integration.d.ts.map +0 -1
- package/dist/cjs/integration.js +0 -316
- package/dist/cjs/integration.js.map +0 -1
- package/dist/cjs/integrationConfiguration.d.ts +0 -27
- package/dist/cjs/integrationConfiguration.d.ts.map +0 -1
- package/dist/cjs/integrationConfiguration.js +0 -86
- package/dist/cjs/integrationConfiguration.js.map +0 -1
- package/dist/cjs/integrations/contentGenerator.d.ts +0 -22
- package/dist/cjs/integrations/contentGenerator.d.ts.map +0 -1
- package/dist/cjs/integrations/contentGenerator.js +0 -69
- package/dist/cjs/integrations/contentGenerator.js.map +0 -1
- package/dist/cjs/learningContent.d.ts +0 -153
- package/dist/cjs/learningContent.d.ts.map +0 -1
- package/dist/cjs/learningContent.js +0 -474
- package/dist/cjs/learningContent.js.map +0 -1
- package/dist/cjs/learningPath.d.ts +0 -64
- package/dist/cjs/learningPath.d.ts.map +0 -1
- package/dist/cjs/learningPath.js +0 -205
- package/dist/cjs/learningPath.js.map +0 -1
- package/dist/cjs/logger.d.ts +0 -19
- package/dist/cjs/logger.d.ts.map +0 -1
- package/dist/cjs/logger.js +0 -60
- package/dist/cjs/logger.js.map +0 -1
- package/dist/cjs/microSkillsQuizes.d.ts +0 -18
- package/dist/cjs/microSkillsQuizes.d.ts.map +0 -1
- package/dist/cjs/microSkillsQuizes.js +0 -53
- package/dist/cjs/microSkillsQuizes.js.map +0 -1
- package/dist/cjs/quotas.d.ts +0 -15
- package/dist/cjs/quotas.d.ts.map +0 -1
- package/dist/cjs/quotas.js +0 -50
- package/dist/cjs/quotas.js.map +0 -1
- package/dist/cjs/role.d.ts +0 -113
- package/dist/cjs/role.d.ts.map +0 -1
- package/dist/cjs/role.js +0 -363
- package/dist/cjs/role.js.map +0 -1
- package/dist/cjs/roleTemplate.d.ts +0 -73
- package/dist/cjs/roleTemplate.d.ts.map +0 -1
- package/dist/cjs/roleTemplate.js +0 -236
- package/dist/cjs/roleTemplate.js.map +0 -1
- package/dist/cjs/security.d.ts +0 -27
- package/dist/cjs/security.d.ts.map +0 -1
- package/dist/cjs/security.js +0 -79
- package/dist/cjs/security.js.map +0 -1
- package/dist/cjs/skill.d.ts +0 -141
- package/dist/cjs/skill.d.ts.map +0 -1
- package/dist/cjs/skill.js +0 -440
- package/dist/cjs/skill.js.map +0 -1
- package/dist/cjs/skillAssessmentTestingSession.d.ts +0 -85
- package/dist/cjs/skillAssessmentTestingSession.d.ts.map +0 -1
- package/dist/cjs/skillAssessmentTestingSession.js +0 -276
- package/dist/cjs/skillAssessmentTestingSession.js.map +0 -1
- package/dist/cjs/skillAssessments.d.ts +0 -49
- package/dist/cjs/skillAssessments.d.ts.map +0 -1
- package/dist/cjs/skillAssessments.js +0 -156
- package/dist/cjs/skillAssessments.js.map +0 -1
- package/dist/cjs/skillTemplate.d.ts +0 -87
- package/dist/cjs/skillTemplate.d.ts.map +0 -1
- package/dist/cjs/skillTemplate.js +0 -281
- package/dist/cjs/skillTemplate.js.map +0 -1
- package/dist/cjs/talentTransfromation.d.ts +0 -29
- package/dist/cjs/talentTransfromation.d.ts.map +0 -1
- package/dist/cjs/talentTransfromation.js +0 -100
- package/dist/cjs/talentTransfromation.js.map +0 -1
- package/dist/cjs/teams.d.ts +0 -85
- package/dist/cjs/teams.d.ts.map +0 -1
- package/dist/cjs/teams.js +0 -252
- package/dist/cjs/teams.js.map +0 -1
- package/dist/cjs/tenants.d.ts +0 -16
- package/dist/cjs/tenants.d.ts.map +0 -1
- package/dist/cjs/tenants.js +0 -55
- package/dist/cjs/tenants.js.map +0 -1
- package/dist/cjs/trainingPlans.d.ts +0 -92
- package/dist/cjs/trainingPlans.d.ts.map +0 -1
- package/dist/cjs/trainingPlans.js +0 -309
- package/dist/cjs/trainingPlans.js.map +0 -1
- package/dist/cjs/trainingPlansProficiencyLevels.d.ts +0 -32
- package/dist/cjs/trainingPlansProficiencyLevels.d.ts.map +0 -1
- package/dist/cjs/trainingPlansProficiencyLevels.js +0 -97
- package/dist/cjs/trainingPlansProficiencyLevels.js.map +0 -1
- package/dist/cjs/userInformation.d.ts +0 -29
- package/dist/cjs/userInformation.d.ts.map +0 -1
- package/dist/cjs/userInformation.js +0 -81
- package/dist/cjs/userInformation.js.map +0 -1
- package/dist/cjs/users.d.ts +0 -206
- package/dist/cjs/users.d.ts.map +0 -1
- package/dist/cjs/users.js +0 -694
- package/dist/cjs/users.js.map +0 -1
- package/dist/cjs/utils.d.ts +0 -14
- package/dist/cjs/utils.d.ts.map +0 -1
- package/dist/cjs/utils.js +0 -58
- package/dist/cjs/utils.js.map +0 -1
- package/dist/esm/actionNotifications.d.ts +0 -24
- package/dist/esm/actionNotifications.d.ts.map +0 -1
- package/dist/esm/actionNotifications.js +0 -67
- package/dist/esm/actionNotifications.js.map +0 -1
- package/dist/esm/address.d.ts +0 -8
- package/dist/esm/address.d.ts.map +0 -1
- package/dist/esm/address.js +0 -20
- package/dist/esm/address.js.map +0 -1
- package/dist/esm/aiAssistant.d.ts +0 -42
- package/dist/esm/aiAssistant.d.ts.map +0 -1
- package/dist/esm/aiAssistant.js +0 -126
- package/dist/esm/aiAssistant.js.map +0 -1
- package/dist/esm/avatar.d.ts +0 -11
- package/dist/esm/avatar.d.ts.map +0 -1
- package/dist/esm/avatar.js +0 -28
- package/dist/esm/avatar.js.map +0 -1
- package/dist/esm/axiosClient.d.ts +0 -31
- package/dist/esm/axiosClient.d.ts.map +0 -1
- package/dist/esm/axiosClient.js +0 -81
- package/dist/esm/axiosClient.js.map +0 -1
- package/dist/esm/config.d.ts +0 -23
- package/dist/esm/config.d.ts.map +0 -1
- package/dist/esm/config.js +0 -57
- package/dist/esm/config.js.map +0 -1
- package/dist/esm/constants.d.ts +0 -69
- package/dist/esm/constants.d.ts.map +0 -1
- package/dist/esm/constants.js +0 -88
- package/dist/esm/constants.js.map +0 -1
- package/dist/esm/dashboard.d.ts +0 -23
- package/dist/esm/dashboard.d.ts.map +0 -1
- package/dist/esm/dashboard.js +0 -68
- package/dist/esm/dashboard.js.map +0 -1
- package/dist/esm/departmentTrainingPlans.d.ts +0 -53
- package/dist/esm/departmentTrainingPlans.d.ts.map +0 -1
- package/dist/esm/departmentTrainingPlans.js +0 -144
- package/dist/esm/departmentTrainingPlans.js.map +0 -1
- package/dist/esm/groups.d.ts +0 -90
- package/dist/esm/groups.d.ts.map +0 -1
- package/dist/esm/groups.js +0 -258
- package/dist/esm/groups.js.map +0 -1
- package/dist/esm/index.d.ts +0 -33
- package/dist/esm/index.d.ts.map +0 -1
- package/dist/esm/index.js +0 -33
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/integration.d.ts +0 -82
- package/dist/esm/integration.d.ts.map +0 -1
- package/dist/esm/integration.js +0 -299
- package/dist/esm/integration.js.map +0 -1
- package/dist/esm/integrationConfiguration.d.ts +0 -27
- package/dist/esm/integrationConfiguration.d.ts.map +0 -1
- package/dist/esm/integrationConfiguration.js +0 -80
- package/dist/esm/integrationConfiguration.js.map +0 -1
- package/dist/esm/integrations/contentGenerator.d.ts +0 -22
- package/dist/esm/integrations/contentGenerator.d.ts.map +0 -1
- package/dist/esm/integrations/contentGenerator.js +0 -64
- package/dist/esm/integrations/contentGenerator.js.map +0 -1
- package/dist/esm/learningContent.d.ts +0 -153
- package/dist/esm/learningContent.d.ts.map +0 -1
- package/dist/esm/learningContent.js +0 -453
- package/dist/esm/learningContent.js.map +0 -1
- package/dist/esm/learningPath.d.ts +0 -64
- package/dist/esm/learningPath.d.ts.map +0 -1
- package/dist/esm/learningPath.js +0 -194
- package/dist/esm/learningPath.js.map +0 -1
- package/dist/esm/logger.d.ts +0 -19
- package/dist/esm/logger.d.ts.map +0 -1
- package/dist/esm/logger.js +0 -55
- package/dist/esm/logger.js.map +0 -1
- package/dist/esm/microSkillsQuizes.d.ts +0 -18
- package/dist/esm/microSkillsQuizes.d.ts.map +0 -1
- package/dist/esm/microSkillsQuizes.js +0 -48
- package/dist/esm/microSkillsQuizes.js.map +0 -1
- package/dist/esm/quotas.d.ts +0 -15
- package/dist/esm/quotas.d.ts.map +0 -1
- package/dist/esm/quotas.js +0 -45
- package/dist/esm/quotas.js.map +0 -1
- package/dist/esm/role.d.ts +0 -113
- package/dist/esm/role.d.ts.map +0 -1
- package/dist/esm/role.js +0 -346
- package/dist/esm/role.js.map +0 -1
- package/dist/esm/roleTemplate.d.ts +0 -73
- package/dist/esm/roleTemplate.d.ts.map +0 -1
- package/dist/esm/roleTemplate.js +0 -224
- package/dist/esm/roleTemplate.js.map +0 -1
- package/dist/esm/security.d.ts +0 -27
- package/dist/esm/security.d.ts.map +0 -1
- package/dist/esm/security.js +0 -72
- package/dist/esm/security.js.map +0 -1
- package/dist/esm/skill.d.ts +0 -141
- package/dist/esm/skill.d.ts.map +0 -1
- package/dist/esm/skill.js +0 -418
- package/dist/esm/skill.js.map +0 -1
- package/dist/esm/skillAssessmentTestingSession.d.ts +0 -85
- package/dist/esm/skillAssessmentTestingSession.d.ts.map +0 -1
- package/dist/esm/skillAssessmentTestingSession.js +0 -261
- package/dist/esm/skillAssessmentTestingSession.js.map +0 -1
- package/dist/esm/skillAssessments.d.ts +0 -49
- package/dist/esm/skillAssessments.d.ts.map +0 -1
- package/dist/esm/skillAssessments.js +0 -147
- package/dist/esm/skillAssessments.js.map +0 -1
- package/dist/esm/skillTemplate.d.ts +0 -87
- package/dist/esm/skillTemplate.d.ts.map +0 -1
- package/dist/esm/skillTemplate.js +0 -267
- package/dist/esm/skillTemplate.js.map +0 -1
- package/dist/esm/talentTransfromation.d.ts +0 -29
- package/dist/esm/talentTransfromation.d.ts.map +0 -1
- package/dist/esm/talentTransfromation.js +0 -93
- package/dist/esm/talentTransfromation.js.map +0 -1
- package/dist/esm/teams.d.ts +0 -85
- package/dist/esm/teams.d.ts.map +0 -1
- package/dist/esm/teams.js +0 -238
- package/dist/esm/teams.js.map +0 -1
- package/dist/esm/tenants.d.ts +0 -16
- package/dist/esm/tenants.d.ts.map +0 -1
- package/dist/esm/tenants.js +0 -50
- package/dist/esm/tenants.js.map +0 -1
- package/dist/esm/trainingPlans.d.ts +0 -92
- package/dist/esm/trainingPlans.d.ts.map +0 -1
- package/dist/esm/trainingPlans.js +0 -293
- package/dist/esm/trainingPlans.js.map +0 -1
- package/dist/esm/trainingPlansProficiencyLevels.d.ts +0 -32
- package/dist/esm/trainingPlansProficiencyLevels.d.ts.map +0 -1
- package/dist/esm/trainingPlansProficiencyLevels.js +0 -90
- package/dist/esm/trainingPlansProficiencyLevels.js.map +0 -1
- package/dist/esm/userInformation.d.ts +0 -29
- package/dist/esm/userInformation.d.ts.map +0 -1
- package/dist/esm/userInformation.js +0 -75
- package/dist/esm/userInformation.js.map +0 -1
- package/dist/esm/users.d.ts +0 -206
- package/dist/esm/users.d.ts.map +0 -1
- package/dist/esm/users.js +0 -663
- package/dist/esm/users.js.map +0 -1
- package/dist/esm/utils.d.ts +0 -14
- package/dist/esm/utils.d.ts.map +0 -1
- package/dist/esm/utils.js +0 -50
- package/dist/esm/utils.js.map +0 -1
package/lib/users.js
ADDED
|
@@ -0,0 +1,695 @@
|
|
|
1
|
+
import { client } from "./axiosClient.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Add a new API Token
|
|
5
|
+
* @param {Date} expiration Expiration date of the token
|
|
6
|
+
* @param {String} authToken Authorization token
|
|
7
|
+
*/
|
|
8
|
+
export const addAPIToken = (name, expiration, authToken) => {
|
|
9
|
+
return new Promise(function (resolve, reject) {
|
|
10
|
+
const requestData = {
|
|
11
|
+
name: name,
|
|
12
|
+
expiration: expiration,
|
|
13
|
+
};
|
|
14
|
+
const addTokenRequest = client.post(
|
|
15
|
+
`api/v1/users/addapitoken`,
|
|
16
|
+
requestData,
|
|
17
|
+
{
|
|
18
|
+
headers: { authorization: authToken },
|
|
19
|
+
}
|
|
20
|
+
);
|
|
21
|
+
addTokenRequest
|
|
22
|
+
.then((result) => {
|
|
23
|
+
if (result != null) {
|
|
24
|
+
resolve(result.data);
|
|
25
|
+
} else {
|
|
26
|
+
reject(process.env.ERROR_INVALID_INFORMATION);
|
|
27
|
+
}
|
|
28
|
+
})
|
|
29
|
+
.catch((error) => {
|
|
30
|
+
reject(error);
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Confirm email address
|
|
37
|
+
* @param {String} validationCode The code was provided to the user in advance by email
|
|
38
|
+
*/
|
|
39
|
+
export const confirmEmailAddress = (validationCode) => {
|
|
40
|
+
return new Promise(function (resolve, reject) {
|
|
41
|
+
const requestData = {
|
|
42
|
+
validationCode: validationCode,
|
|
43
|
+
};
|
|
44
|
+
const confirmationRequest = client.post(
|
|
45
|
+
"api/v1/users/confirmEmail",
|
|
46
|
+
requestData
|
|
47
|
+
);
|
|
48
|
+
confirmationRequest
|
|
49
|
+
.then(() => {
|
|
50
|
+
resolve();
|
|
51
|
+
})
|
|
52
|
+
.catch((error) => {
|
|
53
|
+
reject(error);
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Confirm phone number
|
|
60
|
+
* @param {String} validationCode The code was provided to the user in advance by email
|
|
61
|
+
* @param {String} authToken Authorization token
|
|
62
|
+
*/
|
|
63
|
+
export const confirmPhone = (validationCode, authToken) => {
|
|
64
|
+
return new Promise(function (resolve, reject) {
|
|
65
|
+
const requestData = {
|
|
66
|
+
validationCode: validationCode,
|
|
67
|
+
};
|
|
68
|
+
const confirmationRequest = client.post(
|
|
69
|
+
"api/v1/users/confirmPhone",
|
|
70
|
+
requestData,
|
|
71
|
+
{
|
|
72
|
+
headers: { authorization: authToken },
|
|
73
|
+
}
|
|
74
|
+
);
|
|
75
|
+
confirmationRequest
|
|
76
|
+
.then((response) => {
|
|
77
|
+
resolve(response.data);
|
|
78
|
+
})
|
|
79
|
+
.catch((error) => {
|
|
80
|
+
reject(error);
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Generate confirmation code
|
|
87
|
+
* @param {String} phoneNumber Send confirmation code to the phone number
|
|
88
|
+
* @param {String} authToken Authorization token
|
|
89
|
+
*/
|
|
90
|
+
export const confirmPhoneGenerateCode = (phoneNumber, authToken) => {
|
|
91
|
+
return new Promise(function (resolve, reject) {
|
|
92
|
+
const requestData = {
|
|
93
|
+
phoneNumber: phoneNumber,
|
|
94
|
+
};
|
|
95
|
+
const confirmationRequest = client.post(
|
|
96
|
+
"api/v1/users/confirmPhoneGenerateCode",
|
|
97
|
+
requestData,
|
|
98
|
+
{
|
|
99
|
+
headers: { authorization: authToken },
|
|
100
|
+
}
|
|
101
|
+
);
|
|
102
|
+
confirmationRequest
|
|
103
|
+
.then((response) => {
|
|
104
|
+
resolve(response.data);
|
|
105
|
+
})
|
|
106
|
+
.catch((error) => {
|
|
107
|
+
reject(error);
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Create a new account (tenant). It returns a promise
|
|
114
|
+
* @param {String} email User's email address
|
|
115
|
+
* @param {String} firstName User's first name
|
|
116
|
+
* @param {String} lastName User's last name
|
|
117
|
+
* @param {String} password User's password
|
|
118
|
+
* @param {String} subSite Subsite where the new account will be created
|
|
119
|
+
* @param {String} inviteCode Invitation code received in advance from one of the account owners
|
|
120
|
+
* @param
|
|
121
|
+
*/
|
|
122
|
+
export const createAccount = (
|
|
123
|
+
email,
|
|
124
|
+
firstName,
|
|
125
|
+
lastName,
|
|
126
|
+
password,
|
|
127
|
+
subSite,
|
|
128
|
+
inviteCode
|
|
129
|
+
) => {
|
|
130
|
+
return new Promise(function (resolve, reject) {
|
|
131
|
+
if (
|
|
132
|
+
email.trim() === "" ||
|
|
133
|
+
firstName.trim() === "" ||
|
|
134
|
+
lastName.trim() === "" ||
|
|
135
|
+
password.trim() === "" ||
|
|
136
|
+
subSite.trim() === "" ||
|
|
137
|
+
inviteCode.trim() === ""
|
|
138
|
+
) {
|
|
139
|
+
reject(process.env.ERROR_EMPTY_FIELDS);
|
|
140
|
+
} else {
|
|
141
|
+
const signupData = {
|
|
142
|
+
email: email,
|
|
143
|
+
firstName: firstName,
|
|
144
|
+
inviteCode: inviteCode,
|
|
145
|
+
lastName: lastName,
|
|
146
|
+
password: password,
|
|
147
|
+
subSite: subSite,
|
|
148
|
+
};
|
|
149
|
+
let request = client.post("api/v1/users/createAccount", signupData);
|
|
150
|
+
request
|
|
151
|
+
.then((result) => {
|
|
152
|
+
resolve(result.data.user);
|
|
153
|
+
})
|
|
154
|
+
.catch((error) => {
|
|
155
|
+
reject(error);
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Create a new user account. It returns a promise
|
|
163
|
+
* @param {String} email User's email address
|
|
164
|
+
* @param {String} firstName User's first name
|
|
165
|
+
* @param {String} lastName User's last name
|
|
166
|
+
* @param {String} password User's password
|
|
167
|
+
* @param {String} token Invitation token provided to the user
|
|
168
|
+
*/
|
|
169
|
+
export const createUserAccount = (
|
|
170
|
+
email,
|
|
171
|
+
firstName,
|
|
172
|
+
lastName,
|
|
173
|
+
password,
|
|
174
|
+
token
|
|
175
|
+
) => {
|
|
176
|
+
return new Promise(function (resolve, reject) {
|
|
177
|
+
if (
|
|
178
|
+
email.trim() === "" ||
|
|
179
|
+
firstName.trim() === "" ||
|
|
180
|
+
lastName.trim() === "" ||
|
|
181
|
+
password.trim() === "" ||
|
|
182
|
+
token.trim() === ""
|
|
183
|
+
) {
|
|
184
|
+
reject(process.env.ERROR_EMPTY_FIELDS);
|
|
185
|
+
} else {
|
|
186
|
+
const signupData = {
|
|
187
|
+
email: email,
|
|
188
|
+
firstName: firstName,
|
|
189
|
+
lastName: lastName,
|
|
190
|
+
password: password,
|
|
191
|
+
token: token,
|
|
192
|
+
};
|
|
193
|
+
let request = client.post("api/v1/users/createUser", signupData);
|
|
194
|
+
request
|
|
195
|
+
.then((result) => {
|
|
196
|
+
resolve(result.data.user);
|
|
197
|
+
})
|
|
198
|
+
.catch((error) => {
|
|
199
|
+
reject(error);
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* Delete an existing API token
|
|
207
|
+
* @param {String} token Expiration date of the token
|
|
208
|
+
* @param {String} authToken Authorization token
|
|
209
|
+
*/
|
|
210
|
+
export const deleteAPIToken = (token, authToken) => {
|
|
211
|
+
return new Promise(function (resolve, reject) {
|
|
212
|
+
const deleteTokenRequest = client.delete(`api/v1/users/user/token`, {
|
|
213
|
+
headers: { authorization: authToken },
|
|
214
|
+
data: {
|
|
215
|
+
token: token,
|
|
216
|
+
},
|
|
217
|
+
});
|
|
218
|
+
deleteTokenRequest
|
|
219
|
+
.then(() => {
|
|
220
|
+
resolve(token);
|
|
221
|
+
})
|
|
222
|
+
.catch((error) => {
|
|
223
|
+
reject(error);
|
|
224
|
+
});
|
|
225
|
+
});
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
/**
|
|
229
|
+
* Delete existing users
|
|
230
|
+
* @param {Array<String>} userIds The ID of the users to be deleted
|
|
231
|
+
* @param {String} authToken Authorization token
|
|
232
|
+
*/
|
|
233
|
+
export const deleteUsers = (userIds, authToken) => {
|
|
234
|
+
return new Promise(function (resolve, reject) {
|
|
235
|
+
const deleteTokenRequest = client.delete(`api/v1/users/`, {
|
|
236
|
+
headers: { authorization: authToken },
|
|
237
|
+
data: {
|
|
238
|
+
userIds: userIds,
|
|
239
|
+
},
|
|
240
|
+
});
|
|
241
|
+
deleteTokenRequest
|
|
242
|
+
.then((response) => {
|
|
243
|
+
resolve(response.data);
|
|
244
|
+
})
|
|
245
|
+
.catch((error) => {
|
|
246
|
+
reject(error);
|
|
247
|
+
});
|
|
248
|
+
});
|
|
249
|
+
};
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* Get all the API tokens
|
|
253
|
+
* @param {String} authToken Authorization token
|
|
254
|
+
*/
|
|
255
|
+
export const getAPITokens = (authToken) => {
|
|
256
|
+
return new Promise(function (resolve, reject) {
|
|
257
|
+
const getTokensRequest = client.get(`api/v1/users/getapitokens`, {
|
|
258
|
+
headers: { authorization: authToken },
|
|
259
|
+
});
|
|
260
|
+
getTokensRequest
|
|
261
|
+
.then((result) => {
|
|
262
|
+
resolve(result.data);
|
|
263
|
+
})
|
|
264
|
+
.catch((error) => {
|
|
265
|
+
reject(error);
|
|
266
|
+
});
|
|
267
|
+
});
|
|
268
|
+
};
|
|
269
|
+
|
|
270
|
+
/**
|
|
271
|
+
* Get the specified user account by Id. It returns a promise
|
|
272
|
+
* @param {String} id Id of the user for which information is being requested
|
|
273
|
+
*/
|
|
274
|
+
export const getUserById = (id) => {
|
|
275
|
+
return new Promise(function (resolve, reject) {
|
|
276
|
+
const getUserInformationRequest = client.get(`api/v1/users/user/${id}`);
|
|
277
|
+
getUserInformationRequest
|
|
278
|
+
.then((result) => {
|
|
279
|
+
if (result != null) {
|
|
280
|
+
resolve(result.data.user);
|
|
281
|
+
} else {
|
|
282
|
+
reject(process.env.ERROR_INVALID_INFORMATION);
|
|
283
|
+
}
|
|
284
|
+
})
|
|
285
|
+
.catch((error) => {
|
|
286
|
+
reject(error);
|
|
287
|
+
});
|
|
288
|
+
});
|
|
289
|
+
};
|
|
290
|
+
|
|
291
|
+
/**
|
|
292
|
+
* Get user information
|
|
293
|
+
* @param {String} userId User Id
|
|
294
|
+
* @param {String} category User information category
|
|
295
|
+
* @param {String} token Authorization token
|
|
296
|
+
*/
|
|
297
|
+
export const getUserInformation = (userId, category, token) => {
|
|
298
|
+
return new Promise(function (resolve, reject) {
|
|
299
|
+
let confirmationRequest = client.get(
|
|
300
|
+
`api/v1/users/user/${userId ? userId : 0}/${category ? category : "*"}`,
|
|
301
|
+
{
|
|
302
|
+
headers: { authorization: token },
|
|
303
|
+
}
|
|
304
|
+
);
|
|
305
|
+
confirmationRequest
|
|
306
|
+
.then((response) => {
|
|
307
|
+
resolve(response.data);
|
|
308
|
+
})
|
|
309
|
+
.catch((error) => {
|
|
310
|
+
reject(error);
|
|
311
|
+
});
|
|
312
|
+
});
|
|
313
|
+
};
|
|
314
|
+
|
|
315
|
+
/**
|
|
316
|
+
* Get the list of users
|
|
317
|
+
* @param {Object} filter Filter to select the users. Ex: {firstName : "John"}
|
|
318
|
+
* @param {Array} fields Fields to be loaded. Ex: ["firstName"]
|
|
319
|
+
* @param {String} token Authorization token
|
|
320
|
+
*/
|
|
321
|
+
export const getUsers = (filter, fields, token) => {
|
|
322
|
+
return new Promise(function (resolve, reject) {
|
|
323
|
+
const requestData = {
|
|
324
|
+
filter: filter,
|
|
325
|
+
fields: fields,
|
|
326
|
+
};
|
|
327
|
+
let confirmationRequest = client.post(`api/v1/users/`, requestData, {
|
|
328
|
+
headers: { authorization: token },
|
|
329
|
+
});
|
|
330
|
+
confirmationRequest
|
|
331
|
+
.then((response) => {
|
|
332
|
+
resolve(response.data);
|
|
333
|
+
})
|
|
334
|
+
.catch((error) => {
|
|
335
|
+
reject(error);
|
|
336
|
+
});
|
|
337
|
+
});
|
|
338
|
+
};
|
|
339
|
+
|
|
340
|
+
/**
|
|
341
|
+
* Invite other users to join the same account
|
|
342
|
+
* @param {Array<String>} invitees List of emails of the invitees
|
|
343
|
+
* @param {String} groupId The group the user should be added to
|
|
344
|
+
* @param {String} teamId The team the user should be added to
|
|
345
|
+
* @param {String} token Authorization token
|
|
346
|
+
*/
|
|
347
|
+
export const inviteUsers = (invitees, groupId, teamId, authToken) => {
|
|
348
|
+
return new Promise(function (resolve, reject) {
|
|
349
|
+
const requestData = {
|
|
350
|
+
invitees: invitees,
|
|
351
|
+
groupId: groupId,
|
|
352
|
+
teamId: teamId,
|
|
353
|
+
token: authToken,
|
|
354
|
+
};
|
|
355
|
+
let request = client.post("api/v1/users/invite", requestData, {
|
|
356
|
+
headers: { authorization: authToken },
|
|
357
|
+
});
|
|
358
|
+
request
|
|
359
|
+
.then((response) => {
|
|
360
|
+
resolve(response.data);
|
|
361
|
+
})
|
|
362
|
+
.catch((error) => {
|
|
363
|
+
reject(error);
|
|
364
|
+
});
|
|
365
|
+
});
|
|
366
|
+
};
|
|
367
|
+
|
|
368
|
+
/**
|
|
369
|
+
* Login using email and password. It returns a promise
|
|
370
|
+
* @param {String} email User's email address
|
|
371
|
+
* @param {String} password User's password
|
|
372
|
+
* @param {boolean} rememberMe Set to true if the user wants his account to be saved on the current machine
|
|
373
|
+
*/
|
|
374
|
+
export const login = (email, password, rememberMe) => {
|
|
375
|
+
return new Promise(function (resolve, reject) {
|
|
376
|
+
const requestData = {
|
|
377
|
+
email: email,
|
|
378
|
+
password: password,
|
|
379
|
+
rememberMe: rememberMe,
|
|
380
|
+
};
|
|
381
|
+
let request = client.post("api/v1/auth/login", requestData);
|
|
382
|
+
request
|
|
383
|
+
.then((response) => {
|
|
384
|
+
resolve(response.data);
|
|
385
|
+
})
|
|
386
|
+
.catch((error) => {
|
|
387
|
+
reject(error);
|
|
388
|
+
});
|
|
389
|
+
});
|
|
390
|
+
};
|
|
391
|
+
|
|
392
|
+
/**
|
|
393
|
+
* Logout from the server. It returns a promise
|
|
394
|
+
* @param {String} token Authorization token
|
|
395
|
+
*/
|
|
396
|
+
export const logout = (token) => {
|
|
397
|
+
return new Promise(function (resolve, reject) {
|
|
398
|
+
const options = {
|
|
399
|
+
headers: { authorization: token },
|
|
400
|
+
};
|
|
401
|
+
let request = client.post("api/v1/auth/logout", {}, options);
|
|
402
|
+
request
|
|
403
|
+
.then((response) => {
|
|
404
|
+
resolve(response.data);
|
|
405
|
+
})
|
|
406
|
+
.catch((error) => {
|
|
407
|
+
reject(error);
|
|
408
|
+
});
|
|
409
|
+
});
|
|
410
|
+
};
|
|
411
|
+
|
|
412
|
+
/**
|
|
413
|
+
* Checks the current auth token and maintain it alive. It returns a promise. In case the token is invalid
|
|
414
|
+
* a new token can be restablished using login
|
|
415
|
+
* @param {String} token User's auth token to be refreshed
|
|
416
|
+
*/
|
|
417
|
+
export const refreshToken = (token) => {
|
|
418
|
+
return new Promise(function (resolve, reject) {
|
|
419
|
+
let options = { headers: { Authorization: token } };
|
|
420
|
+
let request = client.post("api/v1/auth/refreshToken", {}, options);
|
|
421
|
+
request
|
|
422
|
+
.then((response) => {
|
|
423
|
+
resolve(response.data);
|
|
424
|
+
})
|
|
425
|
+
.catch((error) => {
|
|
426
|
+
reject(error);
|
|
427
|
+
});
|
|
428
|
+
});
|
|
429
|
+
};
|
|
430
|
+
|
|
431
|
+
/**
|
|
432
|
+
* Remove an existing API token
|
|
433
|
+
* @param {String} id The ID of the token to be removed
|
|
434
|
+
* @param {String} authToken Authorization token
|
|
435
|
+
*/
|
|
436
|
+
export const removeAPIToken = (id, authToken) => {
|
|
437
|
+
return new Promise(function (resolve, reject) {
|
|
438
|
+
const requestData = {
|
|
439
|
+
id: id,
|
|
440
|
+
};
|
|
441
|
+
const removeTokenRequest = client.post(
|
|
442
|
+
`api/v1/users/removeapitoken`,
|
|
443
|
+
requestData,
|
|
444
|
+
{
|
|
445
|
+
headers: { authorization: authToken },
|
|
446
|
+
}
|
|
447
|
+
);
|
|
448
|
+
removeTokenRequest
|
|
449
|
+
.then(() => {
|
|
450
|
+
resolve(id);
|
|
451
|
+
})
|
|
452
|
+
.catch((error) => {
|
|
453
|
+
reject(error);
|
|
454
|
+
});
|
|
455
|
+
});
|
|
456
|
+
};
|
|
457
|
+
|
|
458
|
+
/**
|
|
459
|
+
* Resend invitation emails
|
|
460
|
+
* @param {Array<String>} invitees List of emails of the invitees
|
|
461
|
+
* @param {String} token Authorization token
|
|
462
|
+
*/
|
|
463
|
+
export const resendInvitationEmails = (invitees, authToken) => {
|
|
464
|
+
return new Promise(function (resolve, reject) {
|
|
465
|
+
const requestData = {
|
|
466
|
+
invitees: invitees,
|
|
467
|
+
token: authToken,
|
|
468
|
+
};
|
|
469
|
+
let request = client.post("api/v1/users/resendinvite", requestData, {
|
|
470
|
+
headers: { authorization: authToken },
|
|
471
|
+
});
|
|
472
|
+
request
|
|
473
|
+
.then((response) => {
|
|
474
|
+
resolve(response.data);
|
|
475
|
+
})
|
|
476
|
+
.catch((error) => {
|
|
477
|
+
reject(error);
|
|
478
|
+
});
|
|
479
|
+
});
|
|
480
|
+
};
|
|
481
|
+
|
|
482
|
+
/**
|
|
483
|
+
* Reset the password. It returns a promise
|
|
484
|
+
* @param {String} code Code provided to the user by email
|
|
485
|
+
* @param {String} email User's email address
|
|
486
|
+
* @param {String} password User's new password
|
|
487
|
+
*/
|
|
488
|
+
export const resetPassword = (email, code, password) => {
|
|
489
|
+
return new Promise(function (resolve, reject) {
|
|
490
|
+
let postData = {
|
|
491
|
+
email: email,
|
|
492
|
+
code: code,
|
|
493
|
+
password: password,
|
|
494
|
+
};
|
|
495
|
+
let request = client.post("api/v1/users/resetpassword", postData);
|
|
496
|
+
request
|
|
497
|
+
.then((response) => {
|
|
498
|
+
resolve(response.data);
|
|
499
|
+
})
|
|
500
|
+
.catch((error) => {
|
|
501
|
+
reject(error);
|
|
502
|
+
});
|
|
503
|
+
});
|
|
504
|
+
};
|
|
505
|
+
|
|
506
|
+
/**
|
|
507
|
+
* Send an email to the user indicated by the email address to reset the password. It returns a promise
|
|
508
|
+
* @param {String} email Email of the user who needs to reset the password
|
|
509
|
+
*/
|
|
510
|
+
export const sendPasswordResetNotification = (email) => {
|
|
511
|
+
return new Promise(function (resolve, reject) {
|
|
512
|
+
let postData = {
|
|
513
|
+
email: email,
|
|
514
|
+
};
|
|
515
|
+
let request = client.post(
|
|
516
|
+
"api/v1/users/sendpasswordresetnotification",
|
|
517
|
+
postData
|
|
518
|
+
);
|
|
519
|
+
request
|
|
520
|
+
.then((response) => {
|
|
521
|
+
resolve(response.data);
|
|
522
|
+
})
|
|
523
|
+
.catch((error) => {
|
|
524
|
+
reject(error);
|
|
525
|
+
});
|
|
526
|
+
});
|
|
527
|
+
};
|
|
528
|
+
|
|
529
|
+
/**
|
|
530
|
+
* Set user profile information
|
|
531
|
+
* @param {String} userId User Id
|
|
532
|
+
* @param {String} category User information category
|
|
533
|
+
* @param {String} data New or updated user data information
|
|
534
|
+
* @param {Object} token Authorization token
|
|
535
|
+
*/
|
|
536
|
+
export const setUserInformation = (userId, category, data, token) => {
|
|
537
|
+
return new Promise(function (resolve, reject) {
|
|
538
|
+
const requestData = {
|
|
539
|
+
data: category ? { [category]: data } : data,
|
|
540
|
+
userId: userId,
|
|
541
|
+
};
|
|
542
|
+
let confirmationRequest = client.post("api/v1/users/user", requestData, {
|
|
543
|
+
headers: { authorization: token },
|
|
544
|
+
});
|
|
545
|
+
confirmationRequest
|
|
546
|
+
.then((response) => {
|
|
547
|
+
resolve(response.data);
|
|
548
|
+
})
|
|
549
|
+
.catch((error) => {
|
|
550
|
+
reject(error);
|
|
551
|
+
});
|
|
552
|
+
});
|
|
553
|
+
};
|
|
554
|
+
|
|
555
|
+
/**
|
|
556
|
+
* Update user email
|
|
557
|
+
* @param {String} email The new email address
|
|
558
|
+
* @param {String} password The current password
|
|
559
|
+
* @param {String} token Authorization token
|
|
560
|
+
*/
|
|
561
|
+
export const updateUserEmail = (email, password, token) => {
|
|
562
|
+
return new Promise(function (resolve, reject) {
|
|
563
|
+
const requestData = {
|
|
564
|
+
email: email,
|
|
565
|
+
password: password,
|
|
566
|
+
};
|
|
567
|
+
let confirmationRequest = client.post(
|
|
568
|
+
"api/v1/users/updateemail",
|
|
569
|
+
requestData,
|
|
570
|
+
{
|
|
571
|
+
headers: { authorization: token },
|
|
572
|
+
}
|
|
573
|
+
);
|
|
574
|
+
confirmationRequest
|
|
575
|
+
.then((response) => {
|
|
576
|
+
resolve(response.data);
|
|
577
|
+
})
|
|
578
|
+
.catch((error) => {
|
|
579
|
+
reject(error);
|
|
580
|
+
});
|
|
581
|
+
});
|
|
582
|
+
};
|
|
583
|
+
|
|
584
|
+
/**
|
|
585
|
+
* Update user groups
|
|
586
|
+
* @param {String} userIds The id of the user
|
|
587
|
+
* @param {Array<String>} groups The id of the groups the user should belong to
|
|
588
|
+
* @param {String} token Authorization token
|
|
589
|
+
*/
|
|
590
|
+
export const updateUserGroups = (userId, groups, token) => {
|
|
591
|
+
return new Promise(function (resolve, reject) {
|
|
592
|
+
const requestData = {
|
|
593
|
+
userId: userId,
|
|
594
|
+
groups: groups || [],
|
|
595
|
+
};
|
|
596
|
+
let confirmationRequest = client.post(
|
|
597
|
+
"api/v1/users/user/updategroups",
|
|
598
|
+
requestData,
|
|
599
|
+
{
|
|
600
|
+
headers: { authorization: token },
|
|
601
|
+
}
|
|
602
|
+
);
|
|
603
|
+
confirmationRequest
|
|
604
|
+
.then(() => {
|
|
605
|
+
resolve(requestData);
|
|
606
|
+
})
|
|
607
|
+
.catch((error) => {
|
|
608
|
+
reject(error);
|
|
609
|
+
});
|
|
610
|
+
});
|
|
611
|
+
};
|
|
612
|
+
|
|
613
|
+
/**
|
|
614
|
+
* Update user password
|
|
615
|
+
* @param {String} password The current password
|
|
616
|
+
* @param {String} newPassword The new password
|
|
617
|
+
* @param {String} token Authorization token
|
|
618
|
+
*/
|
|
619
|
+
export const updateUserPassword = (password, newPassword, token) => {
|
|
620
|
+
return new Promise(function (resolve, reject) {
|
|
621
|
+
const requestData = {
|
|
622
|
+
password: password,
|
|
623
|
+
newPassword: newPassword,
|
|
624
|
+
};
|
|
625
|
+
let confirmationRequest = client.post(
|
|
626
|
+
"api/v1/users/updatepassword",
|
|
627
|
+
requestData,
|
|
628
|
+
{
|
|
629
|
+
headers: { authorization: token },
|
|
630
|
+
}
|
|
631
|
+
);
|
|
632
|
+
confirmationRequest
|
|
633
|
+
.then((response) => {
|
|
634
|
+
resolve(response.data);
|
|
635
|
+
})
|
|
636
|
+
.catch((error) => {
|
|
637
|
+
reject(error);
|
|
638
|
+
});
|
|
639
|
+
});
|
|
640
|
+
};
|
|
641
|
+
|
|
642
|
+
/**
|
|
643
|
+
* Validate reset password code. It returns a promise
|
|
644
|
+
* @param {String} email User's email address
|
|
645
|
+
* @param {String} code Provided reset code
|
|
646
|
+
*/
|
|
647
|
+
export const validateResetPasswordCode = (email, code) => {
|
|
648
|
+
return new Promise(function (resolve, reject) {
|
|
649
|
+
let postData = {
|
|
650
|
+
email: email,
|
|
651
|
+
code: code,
|
|
652
|
+
};
|
|
653
|
+
let request = client.post(
|
|
654
|
+
"api/v1/users/validateresetpasswordcode",
|
|
655
|
+
postData
|
|
656
|
+
);
|
|
657
|
+
request
|
|
658
|
+
.then((response) => {
|
|
659
|
+
resolve(response.data);
|
|
660
|
+
})
|
|
661
|
+
.catch((error) => {
|
|
662
|
+
reject(error);
|
|
663
|
+
});
|
|
664
|
+
});
|
|
665
|
+
};
|
|
666
|
+
|
|
667
|
+
const users = {
|
|
668
|
+
addAPIToken,
|
|
669
|
+
confirmEmailAddress,
|
|
670
|
+
confirmPhone,
|
|
671
|
+
confirmPhoneGenerateCode,
|
|
672
|
+
createAccount,
|
|
673
|
+
createUserAccount,
|
|
674
|
+
deleteAPIToken,
|
|
675
|
+
deleteUsers,
|
|
676
|
+
getAPITokens,
|
|
677
|
+
getUserById,
|
|
678
|
+
getUserInformation,
|
|
679
|
+
getUsers,
|
|
680
|
+
inviteUsers,
|
|
681
|
+
login,
|
|
682
|
+
logout,
|
|
683
|
+
refreshToken,
|
|
684
|
+
removeAPIToken,
|
|
685
|
+
resendInvitationEmails,
|
|
686
|
+
resetPassword,
|
|
687
|
+
sendPasswordResetNotification,
|
|
688
|
+
setUserInformation,
|
|
689
|
+
updateUserEmail,
|
|
690
|
+
updateUserGroups,
|
|
691
|
+
updateUserPassword,
|
|
692
|
+
validateResetPasswordCode,
|
|
693
|
+
};
|
|
694
|
+
|
|
695
|
+
export default users;
|