@stackfactor/client-api 1.1.140 → 1.1.141

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