bruce-models 2.3.6 → 2.3.8

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 (195) hide show
  1. package/dist/bruce-models.es5.js +8041 -8033
  2. package/dist/bruce-models.es5.js.map +1 -1
  3. package/dist/bruce-models.umd.js +7805 -7797
  4. package/dist/bruce-models.umd.js.map +1 -1
  5. package/dist/lib/account/account-invite.js +81 -81
  6. package/dist/lib/account/account-settings.js +2 -2
  7. package/dist/lib/account/account.js +169 -169
  8. package/dist/lib/account/account.js.map +1 -1
  9. package/dist/lib/ann-document/ann-document.js +94 -94
  10. package/dist/lib/api/abstract-api.js +269 -269
  11. package/dist/lib/api/api-getters.js +172 -172
  12. package/dist/lib/api/api.js +93 -93
  13. package/dist/lib/api/bruce-api.js +224 -220
  14. package/dist/lib/api/bruce-api.js.map +1 -1
  15. package/dist/lib/api/cam-api.js +88 -88
  16. package/dist/lib/api/global-api.js +82 -82
  17. package/dist/lib/api/guardian-api.js +82 -82
  18. package/dist/lib/api/idm-api.js +90 -90
  19. package/dist/lib/bruce-models.js +95 -91
  20. package/dist/lib/bruce-models.js.map +1 -1
  21. package/dist/lib/calculator/calculator.js +341 -341
  22. package/dist/lib/client-file/client-file.js +255 -255
  23. package/dist/lib/client-file/client-file.js.map +1 -1
  24. package/dist/lib/common/bounds.js +61 -61
  25. package/dist/lib/common/bruce-event.js +46 -46
  26. package/dist/lib/common/bruce-variable.js +60 -60
  27. package/dist/lib/common/cache.js +188 -188
  28. package/dist/lib/common/cache.js.map +1 -1
  29. package/dist/lib/common/camera.js +11 -11
  30. package/dist/lib/common/cartes.js +123 -123
  31. package/dist/lib/common/carto.js +60 -60
  32. package/dist/lib/common/color.js +86 -86
  33. package/dist/lib/common/delay-queue.js +56 -56
  34. package/dist/lib/common/dictionary.js +2 -2
  35. package/dist/lib/common/geometry.js +120 -120
  36. package/dist/lib/common/lru-cache.js +25 -25
  37. package/dist/lib/common/transform.js +2 -2
  38. package/dist/lib/common/utc.js +39 -39
  39. package/dist/lib/custom-form/custom-form-content.js +26 -26
  40. package/dist/lib/custom-form/custom-form.js +114 -114
  41. package/dist/lib/data-lab/data-lab.js +49 -49
  42. package/dist/lib/entity/entity-attachment-type.js +87 -87
  43. package/dist/lib/entity/entity-attachment-type.js.map +1 -1
  44. package/dist/lib/entity/entity-attachment.js +126 -126
  45. package/dist/lib/entity/entity-attachment.js.map +1 -1
  46. package/dist/lib/entity/entity-attribute.js +29 -29
  47. package/dist/lib/entity/entity-comment.js +86 -86
  48. package/dist/lib/entity/entity-comment.js.map +1 -1
  49. package/dist/lib/entity/entity-coords.js +153 -153
  50. package/dist/lib/entity/entity-coords.js.map +1 -1
  51. package/dist/lib/entity/entity-link.js +86 -86
  52. package/dist/lib/entity/entity-link.js.map +1 -1
  53. package/dist/lib/entity/entity-lod-category.js +108 -108
  54. package/dist/lib/entity/entity-lod.js +197 -197
  55. package/dist/lib/entity/entity-lod.js.map +1 -1
  56. package/dist/lib/entity/entity-relation-type.js +117 -117
  57. package/dist/lib/entity/entity-relation-type.js.map +1 -1
  58. package/dist/lib/entity/entity-relation.js +157 -157
  59. package/dist/lib/entity/entity-source.js +136 -136
  60. package/dist/lib/entity/entity-source.js.map +1 -1
  61. package/dist/lib/entity/entity-tag.js +157 -157
  62. package/dist/lib/entity/entity-type-visual-settings.js +13 -13
  63. package/dist/lib/entity/entity-type.js +122 -122
  64. package/dist/lib/entity/entity.js +341 -341
  65. package/dist/lib/entity/entity.js.map +1 -1
  66. package/dist/lib/entity/getters/batched-data-getter.js +84 -84
  67. package/dist/lib/entity/getters/batched-data-getter.js.map +1 -1
  68. package/dist/lib/entity/getters/entity-filter-getter.js +316 -316
  69. package/dist/lib/entity/getters/entity-filter-getter.js.map +1 -1
  70. package/dist/lib/entity/getters/entity-globe.js +175 -175
  71. package/dist/lib/entity/getters/view-monitor.js +2 -2
  72. package/dist/lib/import/import-cad.js +53 -53
  73. package/dist/lib/import/import-cad.js.map +1 -1
  74. package/dist/lib/import/import-csv.js +23 -23
  75. package/dist/lib/import/import-json.js +23 -23
  76. package/dist/lib/import/import-kml.js +23 -23
  77. package/dist/lib/import/imported-file.js +130 -130
  78. package/dist/lib/internal/uploader.js +76 -76
  79. package/dist/lib/internal/uploader.js.map +1 -1
  80. package/dist/lib/markup/markup.js +185 -185
  81. package/dist/lib/plugin/plugin.js +91 -91
  82. package/dist/lib/program-key/program-key.js +120 -120
  83. package/dist/lib/program-key/program-key.js.map +1 -1
  84. package/dist/lib/project/menu-item.js +122 -122
  85. package/dist/lib/project/project-view-bookmark.js +159 -159
  86. package/dist/lib/project/project-view-bookmark.js.map +1 -1
  87. package/dist/lib/project/project-view-legacy-tile.js +77 -77
  88. package/dist/lib/project/project-view-legacy-tile.js.map +1 -1
  89. package/dist/lib/project/project-view-tile.js +125 -125
  90. package/dist/lib/project/project-view.js +141 -141
  91. package/dist/lib/project/zoom-control.js +17 -17
  92. package/dist/lib/server/hosting-location.js +156 -156
  93. package/dist/lib/server/hosting-location.js.map +1 -1
  94. package/dist/lib/server/message-broker.js +142 -142
  95. package/dist/lib/server/message-broker.js.map +1 -1
  96. package/dist/lib/server/pending-action.js +83 -83
  97. package/dist/lib/server/task.js +63 -63
  98. package/dist/lib/style/style.js +129 -129
  99. package/dist/lib/style/style.js.map +1 -1
  100. package/dist/lib/tileset/tileset.js +431 -431
  101. package/dist/lib/tileset/tileset.js.map +1 -1
  102. package/dist/lib/user/permission.js +20 -20
  103. package/dist/lib/user/session.js +145 -142
  104. package/dist/lib/user/session.js.map +1 -1
  105. package/dist/lib/user/user-group.js +94 -94
  106. package/dist/lib/user/user.js +475 -474
  107. package/dist/lib/user/user.js.map +1 -1
  108. package/dist/lib/util/encrypt-utils.js +19 -19
  109. package/dist/lib/util/math-utils.js +40 -40
  110. package/dist/lib/util/object-utils.js +17 -17
  111. package/dist/lib/util/path-utils.js +61 -61
  112. package/dist/lib/util/url-utils.js +94 -94
  113. package/dist/lib/util/url-utils.js.map +1 -1
  114. package/dist/types/account/account-invite.d.ts +68 -68
  115. package/dist/types/account/account-settings.d.ts +24 -24
  116. package/dist/types/account/account.d.ts +84 -84
  117. package/dist/types/ann-document/ann-document.d.ts +50 -50
  118. package/dist/types/api/abstract-api.d.ts +36 -36
  119. package/dist/types/api/api-getters.d.ts +64 -64
  120. package/dist/types/api/api.d.ts +93 -93
  121. package/dist/types/api/bruce-api.d.ts +64 -63
  122. package/dist/types/api/cam-api.d.ts +26 -26
  123. package/dist/types/api/global-api.d.ts +25 -25
  124. package/dist/types/api/guardian-api.d.ts +25 -25
  125. package/dist/types/api/idm-api.d.ts +28 -28
  126. package/dist/types/bruce-models.d.ts +79 -79
  127. package/dist/types/calculator/calculator.d.ts +61 -61
  128. package/dist/types/client-file/client-file.d.ts +130 -130
  129. package/dist/types/common/bounds.d.ts +30 -30
  130. package/dist/types/common/bruce-event.d.ts +12 -12
  131. package/dist/types/common/bruce-variable.d.ts +21 -21
  132. package/dist/types/common/cache.d.ts +57 -57
  133. package/dist/types/common/camera.d.ts +6 -6
  134. package/dist/types/common/cartes.d.ts +51 -51
  135. package/dist/types/common/carto.d.ts +15 -15
  136. package/dist/types/common/color.d.ts +24 -24
  137. package/dist/types/common/delay-queue.d.ts +14 -14
  138. package/dist/types/common/dictionary.d.ts +3 -3
  139. package/dist/types/common/geometry.d.ts +44 -44
  140. package/dist/types/common/lru-cache.d.ts +7 -7
  141. package/dist/types/common/transform.d.ts +15 -15
  142. package/dist/types/common/utc.d.ts +29 -29
  143. package/dist/types/custom-form/custom-form-content.d.ts +60 -60
  144. package/dist/types/custom-form/custom-form.d.ts +49 -49
  145. package/dist/types/data-lab/data-lab.d.ts +28 -28
  146. package/dist/types/entity/entity-attachment-type.d.ts +39 -39
  147. package/dist/types/entity/entity-attachment.d.ts +61 -61
  148. package/dist/types/entity/entity-attribute.d.ts +39 -39
  149. package/dist/types/entity/entity-comment.d.ts +40 -40
  150. package/dist/types/entity/entity-coords.d.ts +66 -66
  151. package/dist/types/entity/entity-link.d.ts +36 -36
  152. package/dist/types/entity/entity-lod-category.d.ts +36 -36
  153. package/dist/types/entity/entity-lod.d.ts +99 -99
  154. package/dist/types/entity/entity-relation-type.d.ts +44 -44
  155. package/dist/types/entity/entity-relation.d.ts +59 -59
  156. package/dist/types/entity/entity-source.d.ts +45 -45
  157. package/dist/types/entity/entity-tag.d.ts +53 -53
  158. package/dist/types/entity/entity-type-visual-settings.d.ts +16 -16
  159. package/dist/types/entity/entity-type.d.ts +63 -63
  160. package/dist/types/entity/entity.d.ts +118 -118
  161. package/dist/types/entity/getters/batched-data-getter.d.ts +26 -26
  162. package/dist/types/entity/getters/entity-filter-getter.d.ts +61 -61
  163. package/dist/types/entity/getters/entity-globe.d.ts +21 -21
  164. package/dist/types/entity/getters/view-monitor.d.ts +13 -13
  165. package/dist/types/import/import-cad.d.ts +49 -49
  166. package/dist/types/import/import-csv.d.ts +31 -31
  167. package/dist/types/import/import-json.d.ts +26 -26
  168. package/dist/types/import/import-kml.d.ts +19 -19
  169. package/dist/types/import/imported-file.d.ts +47 -47
  170. package/dist/types/internal/uploader.d.ts +16 -16
  171. package/dist/types/markup/markup.d.ts +227 -227
  172. package/dist/types/plugin/plugin.d.ts +39 -39
  173. package/dist/types/program-key/program-key.d.ts +48 -48
  174. package/dist/types/project/menu-item.d.ts +169 -169
  175. package/dist/types/project/project-view-bookmark.d.ts +179 -179
  176. package/dist/types/project/project-view-legacy-tile.d.ts +48 -48
  177. package/dist/types/project/project-view-tile.d.ts +65 -65
  178. package/dist/types/project/project-view.d.ts +136 -136
  179. package/dist/types/project/zoom-control.d.ts +22 -22
  180. package/dist/types/server/hosting-location.d.ts +74 -74
  181. package/dist/types/server/message-broker.d.ts +86 -86
  182. package/dist/types/server/pending-action.d.ts +66 -66
  183. package/dist/types/server/task.d.ts +36 -36
  184. package/dist/types/style/style.d.ts +107 -107
  185. package/dist/types/tileset/tileset.d.ts +264 -264
  186. package/dist/types/user/permission.d.ts +15 -15
  187. package/dist/types/user/session.d.ts +72 -66
  188. package/dist/types/user/user-group.d.ts +58 -58
  189. package/dist/types/user/user.d.ts +189 -188
  190. package/dist/types/util/encrypt-utils.d.ts +3 -3
  191. package/dist/types/util/math-utils.d.ts +16 -16
  192. package/dist/types/util/object-utils.d.ts +7 -7
  193. package/dist/types/util/path-utils.d.ts +8 -8
  194. package/dist/types/util/url-utils.d.ts +26 -26
  195. package/package.json +79 -78
@@ -1,475 +1,476 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.User = void 0;
13
- const api_1 = require("../api/api");
14
- /**
15
- * Describes the "User" concept within Bruce.
16
- * A user is either a login-user or an access-token.
17
- *
18
- * You cannot login using an access-token, but both concepts are-
19
- * treated the same way in terms of permissions and user groups.
20
- */
21
- var User;
22
- (function (User) {
23
- function GetCacheKey(userId, accountId) {
24
- if (!accountId) {
25
- accountId = "";
26
- }
27
- return api_1.Api.ECacheKey.User + api_1.Api.ECacheKey.Id + userId + api_1.Api.ECacheKey.Id + accountId;
28
- }
29
- User.GetCacheKey = GetCacheKey;
30
- function GetEmailCacheKey(email, accountId) {
31
- if (!accountId) {
32
- accountId = "";
33
- }
34
- return api_1.Api.ECacheKey.User + api_1.Api.ECacheKey.UserEmail + email + api_1.Api.ECacheKey.Id + accountId;
35
- }
36
- User.GetEmailCacheKey = GetEmailCacheKey;
37
- function GetSettingsCacheKey(userId, appId) {
38
- return api_1.Api.ECacheKey.User + api_1.Api.ECacheKey.UserSettings + userId + api_1.Api.ECacheKey.Id + appId;
39
- }
40
- User.GetSettingsCacheKey = GetSettingsCacheKey;
41
- let EType;
42
- (function (EType) {
43
- EType["User"] = "LOGIN_USER";
44
- EType["AccessToken"] = "ACCESS_TOKEN";
45
- })(EType = User.EType || (User.EType = {}));
46
- function Get(params) {
47
- return __awaiter(this, void 0, void 0, function* () {
48
- const { api, userId: id, accountId, req: reqParams } = params;
49
- if (!id) {
50
- throw ("ID is required.");
51
- }
52
- const cache = yield api.GetCacheItem(GetCacheKey(id, accountId), reqParams);
53
- if (cache === null || cache === void 0 ? void 0 : cache.found) {
54
- return cache.data;
55
- }
56
- const prom = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
57
- try {
58
- const data = yield api.GET(`user/${id}${accountId ? `?clientAccountID=${accountId}` : ""}`, reqParams);
59
- res({
60
- user: data
61
- });
62
- }
63
- catch (e) {
64
- rej(e);
65
- }
66
- }));
67
- yield api.SetCacheItem({
68
- key: GetCacheKey(id, accountId),
69
- value: prom,
70
- req: reqParams
71
- });
72
- return prom;
73
- });
74
- }
75
- User.Get = Get;
76
- function Update(params) {
77
- var _a;
78
- return __awaiter(this, void 0, void 0, function* () {
79
- const { api, user: data, req: reqParams } = params;
80
- if (!(data === null || data === void 0 ? void 0 : data.ID) || !(data === null || data === void 0 ? void 0 : data.Type)) {
81
- throw ("ID and Type are required.");
82
- }
83
- // When getting a user it is structured slightly different to when we update it.
84
- // We can make up the difference here.
85
- if ((_a = data.AccessPermissions) === null || _a === void 0 ? void 0 : _a.length) {
86
- for (let i = 0; i < data.AccessPermissions.length; i++) {
87
- const perm = data.AccessPermissions[i];
88
- if (!perm["UserGroup.ID"] && perm.UserGroups) {
89
- perm["UserGroup.ID"] = [];
90
- for (let j = 0; j < perm.UserGroups.length; j++) {
91
- perm["UserGroup.ID"].push(perm.UserGroups[j].ID);
92
- }
93
- }
94
- }
95
- }
96
- const res = yield api.POST(`user/${data.ID}`, data, reqParams);
97
- api.Cache.RemoveByContains(api_1.Api.ECacheKey.User + api_1.Api.ECacheKey.Id + data.ID);
98
- if (data.Type == EType.AccessToken) {
99
- yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.AccessToken + api_1.Api.ECacheKey.Account);
100
- }
101
- else if (data.Type == EType.User) {
102
- yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.User + api_1.Api.ECacheKey.Account);
103
- }
104
- return {
105
- user: res
106
- };
107
- });
108
- }
109
- User.Update = Update;
110
- /**
111
- * Loads settings for a given user + app.
112
- * The session's account id is used to separate settings between accounts.
113
- * @param params
114
- */
115
- function GetSettings(params) {
116
- return __awaiter(this, void 0, void 0, function* () {
117
- const { api, userId, appId, req } = params;
118
- if (!userId || !appId) {
119
- throw ("UserId and appId are required.");
120
- }
121
- const cache = yield api.GetCacheItem(GetSettingsCacheKey(userId, appId), req);
122
- if (cache === null || cache === void 0 ? void 0 : cache.found) {
123
- return cache.data;
124
- }
125
- const prom = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
126
- try {
127
- const data = yield api.GET(`user/${userId}/application/${appId}/settings`);
128
- const settings = (data === null || data === void 0 ? void 0 : data.Settings) ? data.Settings : {};
129
- res({
130
- settings: settings
131
- });
132
- }
133
- catch (e) {
134
- // It will complain if an app id hasn't been used yet.
135
- // We need to suppress that error.
136
- if (e && typeof e == "object") {
137
- if (e.ERROR && typeof e.ERROR == "object" && e.ERROR.Type == "NotFound") {
138
- res({
139
- settings: {}
140
- });
141
- return;
142
- }
143
- }
144
- rej(e);
145
- }
146
- }));
147
- yield api.SetCacheItem({
148
- key: GetSettingsCacheKey(userId, appId),
149
- value: prom,
150
- req: req
151
- });
152
- return prom;
153
- });
154
- }
155
- User.GetSettings = GetSettings;
156
- /**
157
- * Updates settings for a given accId + user + app.
158
- * The settings update will replace the existing record, please ensure to merge with existing settings.
159
- * @param params
160
- */
161
- function UpdateSettings(params) {
162
- return __awaiter(this, void 0, void 0, function* () {
163
- const { api, accId, userId, appId, settings, req } = params;
164
- if (!accId || !userId || !appId) {
165
- throw ("accId, userId and appId are required.");
166
- }
167
- const postBody = {
168
- Settings: settings == null ? {} : settings,
169
- Application: appId,
170
- ClientAccountID: accId,
171
- UserID: userId
172
- };
173
- const prom = api.POST(`user/${userId}/application/${appId}/settings`, postBody, req);
174
- api.Cache.Remove(GetSettingsCacheKey(userId, appId));
175
- return prom;
176
- });
177
- }
178
- User.UpdateSettings = UpdateSettings;
179
- function GetUsernameAvailable(params) {
180
- return __awaiter(this, void 0, void 0, function* () {
181
- const { api, username, excludeUserId, req: reqParams } = params;
182
- if (!username) {
183
- throw ("Username is required.");
184
- }
185
- const req = api.GET(`user/loginavailable/${username}${excludeUserId ? "?excludeUserId=" + excludeUserId : ""}`, reqParams);
186
- const prom = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
187
- try {
188
- const data = yield req;
189
- res({
190
- isAvailable: data.IsAvailable
191
- });
192
- }
193
- catch (e) {
194
- rej(e);
195
- }
196
- }));
197
- return prom;
198
- });
199
- }
200
- User.GetUsernameAvailable = GetUsernameAvailable;
201
- let LoginUser;
202
- (function (LoginUser) {
203
- function GetListCacheKey(accountId) {
204
- return api_1.Api.ECacheKey.User + api_1.Api.ECacheKey.Account + api_1.Api.ECacheKey.Id + accountId;
205
- }
206
- LoginUser.GetListCacheKey = GetListCacheKey;
207
- function GetByEmail(params) {
208
- return __awaiter(this, void 0, void 0, function* () {
209
- const { api, email, accountId, req: reqParams } = params;
210
- if (!email) {
211
- throw ("Email is required.");
212
- }
213
- const cache = yield api.GetCacheItem(GetEmailCacheKey(email, accountId), reqParams);
214
- if (cache === null || cache === void 0 ? void 0 : cache.found) {
215
- return cache.data;
216
- }
217
- const prom = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
218
- try {
219
- const data = yield api.GET(`userByEmail/${email}${accountId ? `?clientAccountID=${accountId}` : ""}`, reqParams);
220
- res({
221
- user: data
222
- });
223
- }
224
- catch (e) {
225
- rej(e);
226
- }
227
- }));
228
- yield api.SetCacheItem({
229
- key: GetEmailCacheKey(email, accountId),
230
- value: prom,
231
- req: reqParams
232
- });
233
- return prom;
234
- });
235
- }
236
- LoginUser.GetByEmail = GetByEmail;
237
- function GetList(params) {
238
- return __awaiter(this, void 0, void 0, function* () {
239
- let { api, accountId, exclusive, req: reqParams } = params;
240
- if (!accountId) {
241
- throw ("Client account ID is required.");
242
- }
243
- if (!exclusive) {
244
- exclusive = false;
245
- }
246
- const cache = exclusive ? null : yield api.GetCacheItem(GetListCacheKey(accountId), reqParams);
247
- if (cache === null || cache === void 0 ? void 0 : cache.found) {
248
- return cache.data;
249
- }
250
- const req = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
251
- try {
252
- const data = yield api.GET(`users?clientAccountID=${accountId}${exclusive ? "&allExcludingClientAccount=true" : ""}`, reqParams);
253
- res({
254
- users: data.Items
255
- });
256
- }
257
- catch (e) {
258
- rej(e);
259
- }
260
- }));
261
- req.then((data) => __awaiter(this, void 0, void 0, function* () {
262
- const users = data.users;
263
- for (let i = 0; i < users.length; i++) {
264
- yield api.SetCacheItem({
265
- key: GetCacheKey(users[i].ID, accountId),
266
- value: {
267
- user: users[i]
268
- },
269
- req: reqParams
270
- });
271
- }
272
- }));
273
- if (!exclusive) {
274
- yield api.SetCacheItem({
275
- key: GetListCacheKey(accountId),
276
- value: req,
277
- req: reqParams
278
- });
279
- }
280
- return req;
281
- });
282
- }
283
- LoginUser.GetList = GetList;
284
- /**
285
- * Sends a signup email to the specified email address.
286
- * @param params
287
- * @returns
288
- */
289
- function Signup(params) {
290
- return __awaiter(this, void 0, void 0, function* () {
291
- const { api, email, req: reqParams } = params;
292
- if (!email) {
293
- throw ("Email is required.");
294
- }
295
- return api.POST("clientaccount/signup", {
296
- Email: email
297
- }, reqParams);
298
- });
299
- }
300
- LoginUser.Signup = Signup;
301
- /**
302
- * Sends a new signup email using a previous one's expired code.
303
- * @param params
304
- * @returns
305
- */
306
- function SignupResend(params) {
307
- return __awaiter(this, void 0, void 0, function* () {
308
- const { api, expiredCode, req: reqParams } = params;
309
- if (!expiredCode) {
310
- throw ("Expired activation code is required.");
311
- }
312
- return api.POST(`clientaccount/signup/resend?activationKey=${api_1.Api.Encode(expiredCode)}`, null, reqParams);
313
- });
314
- }
315
- LoginUser.SignupResend = SignupResend;
316
- /**
317
- * Completes signup using user data and a signup code.
318
- * @param params
319
- * @returns
320
- */
321
- function SignupComplete(params) {
322
- return __awaiter(this, void 0, void 0, function* () {
323
- let { api, code, user: data, accountId, req: reqParams } = params;
324
- if (!code || !(data === null || data === void 0 ? void 0 : data.Login) || !(data === null || data === void 0 ? void 0 : data.Password)) {
325
- throw ("Login, password, and activation code are required.");
326
- }
327
- data = JSON.parse(JSON.stringify(data));
328
- data.IsActivated = true;
329
- data.IsDisabled = false;
330
- data.key = code;
331
- const res = yield api.POST(`UserActivate/${accountId ? accountId : ""}`, data, reqParams);
332
- api.Cache.RemoveByContains(api_1.Api.ECacheKey.User + api_1.Api.ECacheKey.Id + res.ID);
333
- if (data.Email) {
334
- api.Cache.RemoveByContains(api_1.Api.ECacheKey.User + api_1.Api.ECacheKey.UserEmail + data.Email);
335
- }
336
- return {
337
- user: res
338
- };
339
- });
340
- }
341
- LoginUser.SignupComplete = SignupComplete;
342
- /**
343
- * Sends a password reset email to the specified email address.
344
- * @param params
345
- * @returns user id associated with provided email.
346
- */
347
- function ForgotPassword(params) {
348
- return __awaiter(this, void 0, void 0, function* () {
349
- const { api, accountId, email, req: reqParams } = params;
350
- if (!accountId || !email) {
351
- throw ("Account ID and email are required.");
352
- }
353
- const req = api.POST(`UserForgotPassword/${accountId}`, {
354
- Email: email
355
- }, reqParams);
356
- const prom = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
357
- try {
358
- const data = yield req;
359
- res({
360
- userId: data.ID
361
- });
362
- }
363
- catch (e) {
364
- rej(e);
365
- }
366
- }));
367
- return prom;
368
- });
369
- }
370
- LoginUser.ForgotPassword = ForgotPassword;
371
- /**
372
- * Completes password reset using a password reset code and new password.
373
- * @param params
374
- * @returns
375
- */
376
- function ForgotPasswordComplete(params) {
377
- return __awaiter(this, void 0, void 0, function* () {
378
- const { api, code, userId, password, req: reqParams } = params;
379
- const { user } = yield Get({
380
- api: api,
381
- userId: userId,
382
- accountId: "",
383
- req: reqParams
384
- });
385
- const res = yield api.POST("UserSetNameAndPassword", {
386
- ID: userId,
387
- Email: user.Email,
388
- ActivationCode: code,
389
- Password: password,
390
- FullName: user.FullName
391
- }, reqParams);
392
- return {
393
- user: res
394
- };
395
- });
396
- }
397
- LoginUser.ForgotPasswordComplete = ForgotPasswordComplete;
398
- })(LoginUser = User.LoginUser || (User.LoginUser = {}));
399
- let AccessToken;
400
- (function (AccessToken) {
401
- function GetListCacheKey(accountId) {
402
- return api_1.Api.ECacheKey.AccessToken + api_1.Api.ECacheKey.Account + api_1.Api.ECacheKey.Id + accountId;
403
- }
404
- AccessToken.GetListCacheKey = GetListCacheKey;
405
- function GetList(params) {
406
- return __awaiter(this, void 0, void 0, function* () {
407
- const { api, accountId, req: reqParams } = params;
408
- const cache = yield api.GetCacheItem(GetListCacheKey(accountId), reqParams);
409
- if (cache === null || cache === void 0 ? void 0 : cache.found) {
410
- return cache.data;
411
- }
412
- const req = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
413
- try {
414
- const data = yield api.GET("usersByClientAccount/accessTokens", reqParams);
415
- res({
416
- users: data.Items
417
- });
418
- }
419
- catch (e) {
420
- rej(e);
421
- }
422
- }));
423
- req.then((data) => __awaiter(this, void 0, void 0, function* () {
424
- const users = data.tokens;
425
- for (let i = 0; i < users.length; i++) {
426
- yield api.SetCacheItem({
427
- key: GetCacheKey(users[i].ID, accountId),
428
- value: {
429
- user: users[i]
430
- },
431
- req: reqParams
432
- });
433
- }
434
- }));
435
- yield api.SetCacheItem({
436
- key: GetListCacheKey(accountId),
437
- value: req,
438
- req: reqParams
439
- });
440
- return req;
441
- });
442
- }
443
- AccessToken.GetList = GetList;
444
- function Delete(params) {
445
- return __awaiter(this, void 0, void 0, function* () {
446
- const { api, tokenId: id, req: reqParams } = params;
447
- yield api.DELETE(`accessToken/${id}`, reqParams);
448
- api.Cache.RemoveByContains(api_1.Api.ECacheKey.User + api_1.Api.ECacheKey.Id + id);
449
- yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.AccessToken + api_1.Api.ECacheKey.Account);
450
- });
451
- }
452
- AccessToken.Delete = Delete;
453
- function Create(params) {
454
- return __awaiter(this, void 0, void 0, function* () {
455
- let { api, token: data, req: reqParams } = params;
456
- if (!data) {
457
- data = {};
458
- }
459
- if (data.Type == EType.User) {
460
- throw ("User type is not allowed.");
461
- }
462
- if (!data.Type) {
463
- data.Type = EType.AccessToken;
464
- }
465
- data = yield api.POST("accessToken", data, reqParams);
466
- yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.AccessToken + api_1.Api.ECacheKey.Account);
467
- return {
468
- user: data
469
- };
470
- });
471
- }
472
- AccessToken.Create = Create;
473
- })(AccessToken = User.AccessToken || (User.AccessToken = {}));
474
- })(User = exports.User || (exports.User = {}));
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.User = void 0;
13
+ const api_1 = require("../api/api");
14
+ /**
15
+ * Describes the "User" concept within Bruce.
16
+ * A user is either a login-user or an access-token.
17
+ *
18
+ * You cannot login using an access-token, but both concepts are-
19
+ * treated the same way in terms of permissions and user groups.
20
+ */
21
+ var User;
22
+ (function (User) {
23
+ function GetCacheKey(userId, accountId) {
24
+ if (!accountId) {
25
+ accountId = "";
26
+ }
27
+ return api_1.Api.ECacheKey.User + api_1.Api.ECacheKey.Id + userId + api_1.Api.ECacheKey.Id + accountId;
28
+ }
29
+ User.GetCacheKey = GetCacheKey;
30
+ function GetEmailCacheKey(email, accountId) {
31
+ if (!accountId) {
32
+ accountId = "";
33
+ }
34
+ return api_1.Api.ECacheKey.User + api_1.Api.ECacheKey.UserEmail + email + api_1.Api.ECacheKey.Id + accountId;
35
+ }
36
+ User.GetEmailCacheKey = GetEmailCacheKey;
37
+ function GetSettingsCacheKey(userId, appId) {
38
+ return api_1.Api.ECacheKey.User + api_1.Api.ECacheKey.UserSettings + userId + api_1.Api.ECacheKey.Id + appId;
39
+ }
40
+ User.GetSettingsCacheKey = GetSettingsCacheKey;
41
+ let EType;
42
+ (function (EType) {
43
+ EType["User"] = "LOGIN_USER";
44
+ EType["AccessToken"] = "ACCESS_TOKEN";
45
+ })(EType = User.EType || (User.EType = {}));
46
+ function Get(params) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ const { api, userId: id, accountId, req: reqParams } = params;
49
+ if (!id) {
50
+ throw ("ID is required.");
51
+ }
52
+ const cache = yield api.GetCacheItem(GetCacheKey(id, accountId), reqParams);
53
+ if (cache === null || cache === void 0 ? void 0 : cache.found) {
54
+ return cache.data;
55
+ }
56
+ const prom = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
57
+ try {
58
+ const data = yield api.GET(`user/${id}${accountId ? `?clientAccountID=${accountId}` : ""}`, reqParams);
59
+ res({
60
+ user: data
61
+ });
62
+ }
63
+ catch (e) {
64
+ rej(e);
65
+ }
66
+ }));
67
+ yield api.SetCacheItem({
68
+ key: GetCacheKey(id, accountId),
69
+ value: prom,
70
+ req: reqParams
71
+ });
72
+ return prom;
73
+ });
74
+ }
75
+ User.Get = Get;
76
+ function Update(params) {
77
+ var _a;
78
+ return __awaiter(this, void 0, void 0, function* () {
79
+ const { api, user: data, req: reqParams } = params;
80
+ if (!(data === null || data === void 0 ? void 0 : data.ID) || !(data === null || data === void 0 ? void 0 : data.Type)) {
81
+ throw ("ID and Type are required.");
82
+ }
83
+ // When getting a user it is structured slightly different to when we update it.
84
+ // We can make up the difference here.
85
+ if ((_a = data.AccessPermissions) === null || _a === void 0 ? void 0 : _a.length) {
86
+ for (let i = 0; i < data.AccessPermissions.length; i++) {
87
+ const perm = data.AccessPermissions[i];
88
+ if (!perm["UserGroup.ID"] && perm.UserGroups) {
89
+ perm["UserGroup.ID"] = [];
90
+ for (let j = 0; j < perm.UserGroups.length; j++) {
91
+ perm["UserGroup.ID"].push(perm.UserGroups[j].ID);
92
+ }
93
+ }
94
+ }
95
+ }
96
+ const res = yield api.POST(`user/${data.ID}`, data, reqParams);
97
+ api.Cache.RemoveByContains(api_1.Api.ECacheKey.User + api_1.Api.ECacheKey.Id + data.ID);
98
+ if (data.Type == EType.AccessToken) {
99
+ yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.AccessToken + api_1.Api.ECacheKey.Account);
100
+ }
101
+ else if (data.Type == EType.User) {
102
+ yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.User + api_1.Api.ECacheKey.Account);
103
+ }
104
+ return {
105
+ user: res
106
+ };
107
+ });
108
+ }
109
+ User.Update = Update;
110
+ /**
111
+ * Loads settings for a given user + app.
112
+ * The session's account id is used to separate settings between accounts.
113
+ * @param params
114
+ */
115
+ function GetSettings(params) {
116
+ return __awaiter(this, void 0, void 0, function* () {
117
+ const { api, userId, appId, req } = params;
118
+ if (!userId || !appId) {
119
+ throw ("UserId and appId are required.");
120
+ }
121
+ const cache = yield api.GetCacheItem(GetSettingsCacheKey(userId, appId), req);
122
+ if (cache === null || cache === void 0 ? void 0 : cache.found) {
123
+ return cache.data;
124
+ }
125
+ const prom = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
126
+ try {
127
+ const data = yield api.GET(`user/${userId}/application/${appId}/settings`);
128
+ const settings = (data === null || data === void 0 ? void 0 : data.Settings) ? data.Settings : {};
129
+ res({
130
+ settings: settings
131
+ });
132
+ }
133
+ catch (e) {
134
+ // It will complain if an app id hasn't been used yet.
135
+ // We need to suppress that error.
136
+ if (e && typeof e == "object") {
137
+ if (e.ERROR && typeof e.ERROR == "object" && e.ERROR.Type == "NotFound") {
138
+ res({
139
+ settings: {}
140
+ });
141
+ return;
142
+ }
143
+ }
144
+ rej(e);
145
+ }
146
+ }));
147
+ yield api.SetCacheItem({
148
+ key: GetSettingsCacheKey(userId, appId),
149
+ value: prom,
150
+ req: req
151
+ });
152
+ return prom;
153
+ });
154
+ }
155
+ User.GetSettings = GetSettings;
156
+ /**
157
+ * Updates settings for a given accId + user + app.
158
+ * The settings update will replace the existing record, please ensure to merge with existing settings.
159
+ * AccountId is optional and will use a globally shared record if not provided.
160
+ * @param params
161
+ */
162
+ function UpdateSettings(params) {
163
+ return __awaiter(this, void 0, void 0, function* () {
164
+ const { api, accId, userId, appId, settings, req } = params;
165
+ if (!userId || !appId) {
166
+ throw ("UserId and appId are required.");
167
+ }
168
+ const postBody = {
169
+ Settings: settings == null ? {} : settings,
170
+ Application: appId,
171
+ ClientAccountID: accId,
172
+ UserID: userId
173
+ };
174
+ const prom = api.POST(`user/${userId}/application/${appId}/settings`, postBody, req);
175
+ api.Cache.Remove(GetSettingsCacheKey(userId, appId));
176
+ return prom;
177
+ });
178
+ }
179
+ User.UpdateSettings = UpdateSettings;
180
+ function GetUsernameAvailable(params) {
181
+ return __awaiter(this, void 0, void 0, function* () {
182
+ const { api, username, excludeUserId, req: reqParams } = params;
183
+ if (!username) {
184
+ throw ("Username is required.");
185
+ }
186
+ const req = api.GET(`user/loginavailable/${username}${excludeUserId ? "?excludeUserId=" + excludeUserId : ""}`, reqParams);
187
+ const prom = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
188
+ try {
189
+ const data = yield req;
190
+ res({
191
+ isAvailable: data.IsAvailable
192
+ });
193
+ }
194
+ catch (e) {
195
+ rej(e);
196
+ }
197
+ }));
198
+ return prom;
199
+ });
200
+ }
201
+ User.GetUsernameAvailable = GetUsernameAvailable;
202
+ let LoginUser;
203
+ (function (LoginUser) {
204
+ function GetListCacheKey(accountId) {
205
+ return api_1.Api.ECacheKey.User + api_1.Api.ECacheKey.Account + api_1.Api.ECacheKey.Id + accountId;
206
+ }
207
+ LoginUser.GetListCacheKey = GetListCacheKey;
208
+ function GetByEmail(params) {
209
+ return __awaiter(this, void 0, void 0, function* () {
210
+ const { api, email, accountId, req: reqParams } = params;
211
+ if (!email) {
212
+ throw ("Email is required.");
213
+ }
214
+ const cache = yield api.GetCacheItem(GetEmailCacheKey(email, accountId), reqParams);
215
+ if (cache === null || cache === void 0 ? void 0 : cache.found) {
216
+ return cache.data;
217
+ }
218
+ const prom = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
219
+ try {
220
+ const data = yield api.GET(`userByEmail/${email}${accountId ? `?clientAccountID=${accountId}` : ""}`, reqParams);
221
+ res({
222
+ user: data
223
+ });
224
+ }
225
+ catch (e) {
226
+ rej(e);
227
+ }
228
+ }));
229
+ yield api.SetCacheItem({
230
+ key: GetEmailCacheKey(email, accountId),
231
+ value: prom,
232
+ req: reqParams
233
+ });
234
+ return prom;
235
+ });
236
+ }
237
+ LoginUser.GetByEmail = GetByEmail;
238
+ function GetList(params) {
239
+ return __awaiter(this, void 0, void 0, function* () {
240
+ let { api, accountId, exclusive, req: reqParams } = params;
241
+ if (!accountId) {
242
+ throw ("Client account ID is required.");
243
+ }
244
+ if (!exclusive) {
245
+ exclusive = false;
246
+ }
247
+ const cache = exclusive ? null : yield api.GetCacheItem(GetListCacheKey(accountId), reqParams);
248
+ if (cache === null || cache === void 0 ? void 0 : cache.found) {
249
+ return cache.data;
250
+ }
251
+ const req = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
252
+ try {
253
+ const data = yield api.GET(`users?clientAccountID=${accountId}${exclusive ? "&allExcludingClientAccount=true" : ""}`, reqParams);
254
+ res({
255
+ users: data.Items
256
+ });
257
+ }
258
+ catch (e) {
259
+ rej(e);
260
+ }
261
+ }));
262
+ req.then((data) => __awaiter(this, void 0, void 0, function* () {
263
+ const users = data.users;
264
+ for (let i = 0; i < users.length; i++) {
265
+ yield api.SetCacheItem({
266
+ key: GetCacheKey(users[i].ID, accountId),
267
+ value: {
268
+ user: users[i]
269
+ },
270
+ req: reqParams
271
+ });
272
+ }
273
+ }));
274
+ if (!exclusive) {
275
+ yield api.SetCacheItem({
276
+ key: GetListCacheKey(accountId),
277
+ value: req,
278
+ req: reqParams
279
+ });
280
+ }
281
+ return req;
282
+ });
283
+ }
284
+ LoginUser.GetList = GetList;
285
+ /**
286
+ * Sends a signup email to the specified email address.
287
+ * @param params
288
+ * @returns
289
+ */
290
+ function Signup(params) {
291
+ return __awaiter(this, void 0, void 0, function* () {
292
+ const { api, email, req: reqParams } = params;
293
+ if (!email) {
294
+ throw ("Email is required.");
295
+ }
296
+ return api.POST("clientaccount/signup", {
297
+ Email: email
298
+ }, reqParams);
299
+ });
300
+ }
301
+ LoginUser.Signup = Signup;
302
+ /**
303
+ * Sends a new signup email using a previous one's expired code.
304
+ * @param params
305
+ * @returns
306
+ */
307
+ function SignupResend(params) {
308
+ return __awaiter(this, void 0, void 0, function* () {
309
+ const { api, expiredCode, req: reqParams } = params;
310
+ if (!expiredCode) {
311
+ throw ("Expired activation code is required.");
312
+ }
313
+ return api.POST(`clientaccount/signup/resend?activationKey=${api_1.Api.Encode(expiredCode)}`, null, reqParams);
314
+ });
315
+ }
316
+ LoginUser.SignupResend = SignupResend;
317
+ /**
318
+ * Completes signup using user data and a signup code.
319
+ * @param params
320
+ * @returns
321
+ */
322
+ function SignupComplete(params) {
323
+ return __awaiter(this, void 0, void 0, function* () {
324
+ let { api, code, user: data, accountId, req: reqParams } = params;
325
+ if (!code || !(data === null || data === void 0 ? void 0 : data.Login) || !(data === null || data === void 0 ? void 0 : data.Password)) {
326
+ throw ("Login, password, and activation code are required.");
327
+ }
328
+ data = JSON.parse(JSON.stringify(data));
329
+ data.IsActivated = true;
330
+ data.IsDisabled = false;
331
+ data.key = code;
332
+ const res = yield api.POST(`UserActivate/${accountId ? accountId : ""}`, data, reqParams);
333
+ api.Cache.RemoveByContains(api_1.Api.ECacheKey.User + api_1.Api.ECacheKey.Id + res.ID);
334
+ if (data.Email) {
335
+ api.Cache.RemoveByContains(api_1.Api.ECacheKey.User + api_1.Api.ECacheKey.UserEmail + data.Email);
336
+ }
337
+ return {
338
+ user: res
339
+ };
340
+ });
341
+ }
342
+ LoginUser.SignupComplete = SignupComplete;
343
+ /**
344
+ * Sends a password reset email to the specified email address.
345
+ * @param params
346
+ * @returns user id associated with provided email.
347
+ */
348
+ function ForgotPassword(params) {
349
+ return __awaiter(this, void 0, void 0, function* () {
350
+ const { api, accountId, email, req: reqParams } = params;
351
+ if (!accountId || !email) {
352
+ throw ("Account ID and email are required.");
353
+ }
354
+ const req = api.POST(`UserForgotPassword/${accountId}`, {
355
+ Email: email
356
+ }, reqParams);
357
+ const prom = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
358
+ try {
359
+ const data = yield req;
360
+ res({
361
+ userId: data.ID
362
+ });
363
+ }
364
+ catch (e) {
365
+ rej(e);
366
+ }
367
+ }));
368
+ return prom;
369
+ });
370
+ }
371
+ LoginUser.ForgotPassword = ForgotPassword;
372
+ /**
373
+ * Completes password reset using a password reset code and new password.
374
+ * @param params
375
+ * @returns
376
+ */
377
+ function ForgotPasswordComplete(params) {
378
+ return __awaiter(this, void 0, void 0, function* () {
379
+ const { api, code, userId, password, req: reqParams } = params;
380
+ const { user } = yield Get({
381
+ api: api,
382
+ userId: userId,
383
+ accountId: "",
384
+ req: reqParams
385
+ });
386
+ const res = yield api.POST("UserSetNameAndPassword", {
387
+ ID: userId,
388
+ Email: user.Email,
389
+ ActivationCode: code,
390
+ Password: password,
391
+ FullName: user.FullName
392
+ }, reqParams);
393
+ return {
394
+ user: res
395
+ };
396
+ });
397
+ }
398
+ LoginUser.ForgotPasswordComplete = ForgotPasswordComplete;
399
+ })(LoginUser = User.LoginUser || (User.LoginUser = {}));
400
+ let AccessToken;
401
+ (function (AccessToken) {
402
+ function GetListCacheKey(accountId) {
403
+ return api_1.Api.ECacheKey.AccessToken + api_1.Api.ECacheKey.Account + api_1.Api.ECacheKey.Id + accountId;
404
+ }
405
+ AccessToken.GetListCacheKey = GetListCacheKey;
406
+ function GetList(params) {
407
+ return __awaiter(this, void 0, void 0, function* () {
408
+ const { api, accountId, req: reqParams } = params;
409
+ const cache = yield api.GetCacheItem(GetListCacheKey(accountId), reqParams);
410
+ if (cache === null || cache === void 0 ? void 0 : cache.found) {
411
+ return cache.data;
412
+ }
413
+ const req = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
414
+ try {
415
+ const data = yield api.GET("usersByClientAccount/accessTokens", reqParams);
416
+ res({
417
+ users: data.Items
418
+ });
419
+ }
420
+ catch (e) {
421
+ rej(e);
422
+ }
423
+ }));
424
+ req.then((data) => __awaiter(this, void 0, void 0, function* () {
425
+ const users = data.tokens;
426
+ for (let i = 0; i < users.length; i++) {
427
+ yield api.SetCacheItem({
428
+ key: GetCacheKey(users[i].ID, accountId),
429
+ value: {
430
+ user: users[i]
431
+ },
432
+ req: reqParams
433
+ });
434
+ }
435
+ }));
436
+ yield api.SetCacheItem({
437
+ key: GetListCacheKey(accountId),
438
+ value: req,
439
+ req: reqParams
440
+ });
441
+ return req;
442
+ });
443
+ }
444
+ AccessToken.GetList = GetList;
445
+ function Delete(params) {
446
+ return __awaiter(this, void 0, void 0, function* () {
447
+ const { api, tokenId: id, req: reqParams } = params;
448
+ yield api.DELETE(`accessToken/${id}`, reqParams);
449
+ api.Cache.RemoveByContains(api_1.Api.ECacheKey.User + api_1.Api.ECacheKey.Id + id);
450
+ yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.AccessToken + api_1.Api.ECacheKey.Account);
451
+ });
452
+ }
453
+ AccessToken.Delete = Delete;
454
+ function Create(params) {
455
+ return __awaiter(this, void 0, void 0, function* () {
456
+ let { api, token: data, req: reqParams } = params;
457
+ if (!data) {
458
+ data = {};
459
+ }
460
+ if (data.Type == EType.User) {
461
+ throw ("User type is not allowed.");
462
+ }
463
+ if (!data.Type) {
464
+ data.Type = EType.AccessToken;
465
+ }
466
+ data = yield api.POST("accessToken", data, reqParams);
467
+ yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.AccessToken + api_1.Api.ECacheKey.Account);
468
+ return {
469
+ user: data
470
+ };
471
+ });
472
+ }
473
+ AccessToken.Create = Create;
474
+ })(AccessToken = User.AccessToken || (User.AccessToken = {}));
475
+ })(User = exports.User || (exports.User = {}));
475
476
  //# sourceMappingURL=user.js.map