bruce-models 0.1.7 → 0.1.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.
@@ -0,0 +1,213 @@
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
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.Account = void 0;
40
+ var bruce_models_1 = require("../bruce-models");
41
+ var ACCOUNT_EXCLUSIONS = ["hyperportal", "hypeportal", "bviewer"];
42
+ /**
43
+ * Describes the "Client Account" concept within Bruce.
44
+ * A client account is a database instance that holds one or many users.
45
+ */
46
+ var Account;
47
+ (function (Account) {
48
+ function GetCacheKey(accountId, appSettingsId) {
49
+ if (appSettingsId) {
50
+ return bruce_models_1.Api.ECacheKey.Account + bruce_models_1.Api.ECacheKey.Id + accountId + bruce_models_1.Api.ECacheKey + appSettingsId;
51
+ }
52
+ return bruce_models_1.Api.ECacheKey.Account + bruce_models_1.Api.ECacheKey.Id + accountId;
53
+ }
54
+ Account.GetCacheKey = GetCacheKey;
55
+ function GetListCacheKey(ssid) {
56
+ return bruce_models_1.Api.ECacheKey.Account + bruce_models_1.Api.ECacheKey.Session + bruce_models_1.Api.ECacheKey.Id + ssid;
57
+ }
58
+ Account.GetListCacheKey = GetListCacheKey;
59
+ var EDbRegion;
60
+ (function (EDbRegion) {
61
+ EDbRegion["USA"] = "US";
62
+ EDbRegion["Paris"] = "EU";
63
+ EDbRegion["Singapore"] = "SE";
64
+ EDbRegion["Australia"] = "AU";
65
+ })(EDbRegion || (EDbRegion = {}));
66
+ function Get(api, id) {
67
+ return __awaiter(this, void 0, void 0, function () {
68
+ var cacheData, req;
69
+ return __generator(this, function (_a) {
70
+ switch (_a.label) {
71
+ case 0:
72
+ cacheData = api.Cache.Get(GetCacheKey(id));
73
+ if (cacheData) {
74
+ return [2 /*return*/, cacheData];
75
+ }
76
+ return [4 /*yield*/, api.GET("account/" + id)];
77
+ case 1:
78
+ req = _a.sent();
79
+ api.Cache.Set(GetCacheKey(id), req, bruce_models_1.Api.DEFAULT_CACHE_DURATION);
80
+ return [2 /*return*/, req];
81
+ }
82
+ });
83
+ });
84
+ }
85
+ Account.Get = Get;
86
+ function GetRelatedList(api) {
87
+ return __awaiter(this, void 0, void 0, function () {
88
+ var cacheData, req, prom;
89
+ var _this = this;
90
+ return __generator(this, function (_a) {
91
+ cacheData = api.Cache.Get(GetListCacheKey(api.GetSessionId()));
92
+ if (cacheData) {
93
+ return [2 /*return*/, cacheData];
94
+ }
95
+ req = api.GET("user/relatedClientAccounts");
96
+ prom = new Promise(function (res, rej) { return __awaiter(_this, void 0, void 0, function () {
97
+ var data, items, e_1;
98
+ return __generator(this, function (_a) {
99
+ switch (_a.label) {
100
+ case 0:
101
+ _a.trys.push([0, 2, , 3]);
102
+ return [4 /*yield*/, req];
103
+ case 1:
104
+ data = _a.sent();
105
+ items = data.Items.filter(function (x) { return !ACCOUNT_EXCLUSIONS.includes(x.ID); });
106
+ res(items);
107
+ return [3 /*break*/, 3];
108
+ case 2:
109
+ e_1 = _a.sent();
110
+ rej(e_1);
111
+ return [3 /*break*/, 3];
112
+ case 3: return [2 /*return*/];
113
+ }
114
+ });
115
+ }); });
116
+ api.Cache.Set(GetListCacheKey(api.GetSessionId()), prom, bruce_models_1.Api.DEFAULT_CACHE_DURATION);
117
+ return [2 /*return*/, prom];
118
+ });
119
+ });
120
+ }
121
+ Account.GetRelatedList = GetRelatedList;
122
+ function GetAppSettings(api, id, appId) {
123
+ return __awaiter(this, void 0, void 0, function () {
124
+ var cacheData, req, prom;
125
+ var _this = this;
126
+ return __generator(this, function (_a) {
127
+ switch (_a.label) {
128
+ case 0:
129
+ cacheData = api.Cache.Get(GetCacheKey(id, appId));
130
+ if (cacheData) {
131
+ return [2 /*return*/, cacheData];
132
+ }
133
+ return [4 /*yield*/, api.GET("account/" + id + "?ApplicationID=" + appId)];
134
+ case 1:
135
+ req = _a.sent();
136
+ prom = new Promise(function (res, rej) { return __awaiter(_this, void 0, void 0, function () {
137
+ var data, settings, e_2;
138
+ var _a;
139
+ return __generator(this, function (_b) {
140
+ switch (_b.label) {
141
+ case 0:
142
+ _b.trys.push([0, 2, , 3]);
143
+ return [4 /*yield*/, req];
144
+ case 1:
145
+ data = _b.sent();
146
+ settings = (_a = data === null || data === void 0 ? void 0 : data["Application.Settings"]) !== null && _a !== void 0 ? _a : {};
147
+ res(settings);
148
+ return [3 /*break*/, 3];
149
+ case 2:
150
+ e_2 = _b.sent();
151
+ rej(e_2);
152
+ return [3 /*break*/, 3];
153
+ case 3: return [2 /*return*/];
154
+ }
155
+ });
156
+ }); });
157
+ api.Cache.Set(GetCacheKey(id, appId), prom, bruce_models_1.Api.DEFAULT_CACHE_DURATION);
158
+ return [2 /*return*/, prom];
159
+ }
160
+ });
161
+ });
162
+ }
163
+ Account.GetAppSettings = GetAppSettings;
164
+ /**
165
+ * WARNING: Do not update API settings without knowing what you're doing.
166
+ * @param api
167
+ * @param id
168
+ * @param appId
169
+ * @param data
170
+ * @returns
171
+ */
172
+ function UpdateAppSettings(api, id, appId, data) {
173
+ return __awaiter(this, void 0, void 0, function () {
174
+ return __generator(this, function (_a) {
175
+ switch (_a.label) {
176
+ case 0: return [4 /*yield*/, api.POST("account/" + id + "/applicationSettings/" + appId, data)];
177
+ case 1:
178
+ data = _a.sent();
179
+ api.Cache.RemoveByStartsWith(bruce_models_1.Api.ECacheKey.Account + bruce_models_1.Api.ECacheKey.Id + id);
180
+ return [2 /*return*/, data];
181
+ }
182
+ });
183
+ });
184
+ }
185
+ Account.UpdateAppSettings = UpdateAppSettings;
186
+ /**
187
+ * Creates a new Bruce account using given details.
188
+ * @param api
189
+ * @param id
190
+ * @param name
191
+ * @param region
192
+ * @returns
193
+ */
194
+ function Create(api, id, name, region) {
195
+ return __awaiter(this, void 0, void 0, function () {
196
+ var reqData, res;
197
+ return __generator(this, function (_a) {
198
+ if (!id || !name || !region) {
199
+ throw new Error("Id, Name and Region are required.");
200
+ }
201
+ reqData = {
202
+ "Name": name,
203
+ "DBLocation": region
204
+ };
205
+ res = api.POST("clientAccount/" + id, reqData);
206
+ api.Cache.Remove(GetListCacheKey(api.GetSessionId()));
207
+ return [2 /*return*/, res];
208
+ });
209
+ });
210
+ }
211
+ Account.Create = Create;
212
+ })(Account = exports.Account || (exports.Account = {}));
213
+ //# sourceMappingURL=account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/account/account.ts"],"names":[],"mappings":"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"}
@@ -67,6 +67,7 @@ __exportStar(require("./user/permission"), exports);
67
67
  __exportStar(require("./user/session"), exports);
68
68
  __exportStar(require("./user/user-group"), exports);
69
69
  __exportStar(require("./user/user"), exports);
70
+ __exportStar(require("./account/account"), exports);
70
71
  __exportStar(require("./util/encrypt-utils"), exports);
71
72
  __exportStar(require("./util/math-utils"), exports);
72
73
  __exportStar(require("./util/object-utils"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"bruce-models.js","sourceRoot":"","sources":["../../src/bruce-models.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8DAA4C;AAE5C,4DAA0C;AAE1C,qDAAmC;AACnC,4CAA0B;AAC1B,kDAAgC;AAChC,gDAA8B;AAC9B,gDAA8B;AAE9B,0DAAwC;AAExC,kDAAgC;AAChC,uDAAqC;AACrC,iDAA+B;AAC/B,kDAAgC;AAChC,kDAAgC;AAChC,iDAA+B;AAC/B,iDAA+B;AAC/B,uDAAqC;AACrC,sDAAoC;AACpC,oDAAkC;AAClC,qDAAmC;AACnC,+CAA6B;AAE7B,kEAAgD;AAChD,6DAA2C;AAC3C,0DAAwC;AACxC,uDAAqC;AACrC,sDAAoC;AACpC,gEAA8C;AAC9C,2DAAyC;AACzC,yDAAuC;AACvC,sDAAoC;AACpC,uDAAqC;AACrC,kDAAgC;AAChC,gEAA8C;AAC9C,gEAA8C;AAC9C,wEAAsD;AACtD,uEAAqD;AAErD,qDAAmC;AAEnC,4DAA0C;AAE1C,yDAAuC;AACvC,sDAAoC;AACpC,kEAAgD;AAChD,yDAAuC;AAEvC,0DAAwC;AAExC,gDAA8B;AAE9B,wDAAsC;AACtC,uEAAqD;AACrD,6DAA2C;AAC3C,kEAAgD;AAChD,sEAAoD;AACpD,8DAA4C;AAC5C,+DAA6C;AAC7C,kEAAgD;AAChD,oDAAkC;AAElC,4CAA0B;AAE1B,oDAAkC;AAClC,iDAA+B;AAC/B,oDAAkC;AAClC,8CAA4B;AAE5B,uDAAqC;AACrC,oDAAkC;AAClC,sDAAoC;AACpC,oDAAkC;AAClC,mDAAiC"}
1
+ {"version":3,"file":"bruce-models.js","sourceRoot":"","sources":["../../src/bruce-models.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8DAA4C;AAE5C,4DAA0C;AAE1C,qDAAmC;AACnC,4CAA0B;AAC1B,kDAAgC;AAChC,gDAA8B;AAC9B,gDAA8B;AAE9B,0DAAwC;AAExC,kDAAgC;AAChC,uDAAqC;AACrC,iDAA+B;AAC/B,kDAAgC;AAChC,kDAAgC;AAChC,iDAA+B;AAC/B,iDAA+B;AAC/B,uDAAqC;AACrC,sDAAoC;AACpC,oDAAkC;AAClC,qDAAmC;AACnC,+CAA6B;AAE7B,kEAAgD;AAChD,6DAA2C;AAC3C,0DAAwC;AACxC,uDAAqC;AACrC,sDAAoC;AACpC,gEAA8C;AAC9C,2DAAyC;AACzC,yDAAuC;AACvC,sDAAoC;AACpC,uDAAqC;AACrC,kDAAgC;AAChC,gEAA8C;AAC9C,gEAA8C;AAC9C,wEAAsD;AACtD,uEAAqD;AAErD,qDAAmC;AAEnC,4DAA0C;AAE1C,yDAAuC;AACvC,sDAAoC;AACpC,kEAAgD;AAChD,yDAAuC;AAEvC,0DAAwC;AAExC,gDAA8B;AAE9B,wDAAsC;AACtC,uEAAqD;AACrD,6DAA2C;AAC3C,kEAAgD;AAChD,sEAAoD;AACpD,8DAA4C;AAC5C,+DAA6C;AAC7C,kEAAgD;AAChD,oDAAkC;AAElC,4CAA0B;AAE1B,oDAAkC;AAClC,iDAA+B;AAC/B,oDAAkC;AAClC,8CAA4B;AAE5B,oDAAkC;AAElC,uDAAqC;AACrC,oDAAkC;AAClC,sDAAoC;AACpC,oDAAkC;AAClC,mDAAiC"}
@@ -103,6 +103,39 @@ var User;
103
103
  });
104
104
  }
105
105
  User.Update = Update;
106
+ function GetUsernameAvailable(api, username) {
107
+ return __awaiter(this, void 0, void 0, function () {
108
+ var req, prom;
109
+ var _this = this;
110
+ return __generator(this, function (_a) {
111
+ if (!username) {
112
+ throw ("Username is required.");
113
+ }
114
+ req = api.GET("user/loginavailable/" + username);
115
+ prom = new Promise(function (rej, res) { return __awaiter(_this, void 0, void 0, function () {
116
+ var data, e_1;
117
+ return __generator(this, function (_a) {
118
+ switch (_a.label) {
119
+ case 0:
120
+ _a.trys.push([0, 2, , 3]);
121
+ return [4 /*yield*/, req];
122
+ case 1:
123
+ data = _a.sent();
124
+ res(data.IsAvailable);
125
+ return [3 /*break*/, 3];
126
+ case 2:
127
+ e_1 = _a.sent();
128
+ rej(e_1);
129
+ return [3 /*break*/, 3];
130
+ case 3: return [2 /*return*/];
131
+ }
132
+ });
133
+ }); });
134
+ return [2 /*return*/, prom];
135
+ });
136
+ });
137
+ }
138
+ User.GetUsernameAvailable = GetUsernameAvailable;
106
139
  var LoginUser;
107
140
  (function (LoginUser) {
108
141
  function GetListCacheKey(accountId) {
@@ -125,7 +158,7 @@ var User;
125
158
  return [2 /*return*/, cacheData];
126
159
  }
127
160
  req = new Promise(function (res, rej) { return __awaiter(_this, void 0, void 0, function () {
128
- var data, e_1;
161
+ var data, e_2;
129
162
  return __generator(this, function (_a) {
130
163
  switch (_a.label) {
131
164
  case 0:
@@ -136,8 +169,8 @@ var User;
136
169
  res(data.Items);
137
170
  return [3 /*break*/, 3];
138
171
  case 2:
139
- e_1 = _a.sent();
140
- rej(e_1);
172
+ e_2 = _a.sent();
173
+ rej(e_2);
141
174
  return [3 /*break*/, 3];
142
175
  case 3: return [2 /*return*/];
143
176
  }
@@ -156,6 +189,146 @@ var User;
156
189
  });
157
190
  }
158
191
  LoginUser.GetList = GetList;
192
+ /**
193
+ * Sends a signup email to the specified email address.
194
+ * @param api
195
+ * @param email
196
+ * @returns
197
+ */
198
+ function Signup(api, email) {
199
+ return __awaiter(this, void 0, void 0, function () {
200
+ return __generator(this, function (_a) {
201
+ if (!email) {
202
+ throw ("Email is required.");
203
+ }
204
+ return [2 /*return*/, api.POST("clientaccount/signup", {
205
+ Email: email
206
+ })];
207
+ });
208
+ });
209
+ }
210
+ LoginUser.Signup = Signup;
211
+ /**
212
+ * Sends a new signup email using a previous one's expired code.
213
+ * @param api
214
+ * @param expiredCode
215
+ * @returns
216
+ */
217
+ function SignupResend(api, expiredCode) {
218
+ return __awaiter(this, void 0, void 0, function () {
219
+ return __generator(this, function (_a) {
220
+ if (!expiredCode) {
221
+ throw ("Expired activation code is required.");
222
+ }
223
+ return [2 /*return*/, api.POST("clientaccount/signup/resend?activationKey=" + api_1.Api.Encode(expiredCode), null)];
224
+ });
225
+ });
226
+ }
227
+ LoginUser.SignupResend = SignupResend;
228
+ /**
229
+ * Completes signup using user data and a signup code.
230
+ * @param api
231
+ * @param accountId
232
+ * @param code
233
+ * @param data
234
+ * @returns
235
+ */
236
+ function SignupComplete(api, accountId, code, data) {
237
+ return __awaiter(this, void 0, void 0, function () {
238
+ var res;
239
+ return __generator(this, function (_a) {
240
+ switch (_a.label) {
241
+ case 0:
242
+ if (!code || !accountId) {
243
+ throw ("Activation code and account ID are required.");
244
+ }
245
+ if (!(data === null || data === void 0 ? void 0 : data.Login) || !(data === null || data === void 0 ? void 0 : data.Password)) {
246
+ throw ("Login and password are required.");
247
+ }
248
+ data = JSON.parse(JSON.stringify(data));
249
+ data.IsActivated = true;
250
+ data.IsDisabled = false;
251
+ data.key = code;
252
+ return [4 /*yield*/, api.POST("UserActivate/" + accountId, data)];
253
+ case 1:
254
+ res = _a.sent();
255
+ api.Cache.RemoveByContains(api_1.Api.ECacheKey.User + api_1.Api.ECacheKey.Id + res.ID);
256
+ return [2 /*return*/, res];
257
+ }
258
+ });
259
+ });
260
+ }
261
+ LoginUser.SignupComplete = SignupComplete;
262
+ /**
263
+ * Sends a password reset email to the specified email address.
264
+ * @param api
265
+ * @param accountId
266
+ * @param email
267
+ * @returns user id associated with provided email.
268
+ */
269
+ function ForgotPassword(api, accountId, email) {
270
+ return __awaiter(this, void 0, void 0, function () {
271
+ var req, prom;
272
+ var _this = this;
273
+ return __generator(this, function (_a) {
274
+ if (!accountId || !email) {
275
+ throw ("Account ID and email are required.");
276
+ }
277
+ req = api.POST("UserForgotPassword/" + accountId, {
278
+ Email: email
279
+ });
280
+ prom = new Promise(function (res, rej) { return __awaiter(_this, void 0, void 0, function () {
281
+ var data, e_3;
282
+ return __generator(this, function (_a) {
283
+ switch (_a.label) {
284
+ case 0:
285
+ _a.trys.push([0, 2, , 3]);
286
+ return [4 /*yield*/, req];
287
+ case 1:
288
+ data = _a.sent();
289
+ res(data.ID);
290
+ return [3 /*break*/, 3];
291
+ case 2:
292
+ e_3 = _a.sent();
293
+ rej(e_3);
294
+ return [3 /*break*/, 3];
295
+ case 3: return [2 /*return*/];
296
+ }
297
+ });
298
+ }); });
299
+ return [2 /*return*/, prom];
300
+ });
301
+ });
302
+ }
303
+ LoginUser.ForgotPassword = ForgotPassword;
304
+ /**
305
+ * Completes password reset using a password reset code and new password.
306
+ * @param api
307
+ * @param code
308
+ * @param userId
309
+ * @param password
310
+ * @returns
311
+ */
312
+ function ForgotPasswordComplete(api, code, userId, password) {
313
+ return __awaiter(this, void 0, void 0, function () {
314
+ var user;
315
+ return __generator(this, function (_a) {
316
+ switch (_a.label) {
317
+ case 0: return [4 /*yield*/, Get(api, userId, "")];
318
+ case 1:
319
+ user = _a.sent();
320
+ return [2 /*return*/, api.POST("UserSetNameAndPassword", {
321
+ ID: userId,
322
+ Email: user.Email,
323
+ ActivationCode: code,
324
+ Password: password,
325
+ FullName: user.FullName
326
+ })];
327
+ }
328
+ });
329
+ });
330
+ }
331
+ LoginUser.ForgotPasswordComplete = ForgotPasswordComplete;
159
332
  })(LoginUser = User.LoginUser || (User.LoginUser = {}));
160
333
  var AccessToken;
161
334
  (function (AccessToken) {
@@ -173,7 +346,7 @@ var User;
173
346
  return [2 /*return*/, cacheData];
174
347
  }
175
348
  req = new Promise(function (res, rej) { return __awaiter(_this, void 0, void 0, function () {
176
- var data, e_2;
349
+ var data, e_4;
177
350
  return __generator(this, function (_a) {
178
351
  switch (_a.label) {
179
352
  case 0:
@@ -184,8 +357,8 @@ var User;
184
357
  res(data.Items);
185
358
  return [3 /*break*/, 3];
186
359
  case 2:
187
- e_2 = _a.sent();
188
- rej(e_2);
360
+ e_4 = _a.sent();
361
+ rej(e_4);
189
362
  return [3 /*break*/, 3];
190
363
  case 3: return [2 /*return*/];
191
364
  }
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../src/user/user.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kCAAiC;AAIjC;;;;;;GAMG;AACH,IAAiB,IAAI,CAiJpB;AAjJD,WAAiB,IAAI;IACjB,SAAgB,WAAW,CAAC,MAAc,EAAE,SAAiB;QACzD,OAAO,SAAG,CAAC,SAAS,CAAC,IAAI,GAAG,SAAG,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,GAAG,SAAG,CAAC,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC;IACzF,CAAC;IAFe,gBAAW,cAE1B,CAAA;IAiBD,IAAY,KAGX;IAHD,WAAY,KAAK;QACb,4BAAmB,CAAA;QACnB,qCAA4B,CAAA;IAChC,CAAC,EAHW,KAAK,GAAL,UAAK,KAAL,UAAK,QAGhB;IAQD,SAAsB,GAAG,CAAC,GAAW,EAAE,EAAU,EAAE,SAAiB;;;;;;wBAChE,IAAI,CAAC,EAAE,EAAE;4BACL,MAAK,CAAC,iBAAiB,CAAC,CAAC;yBAC5B;wBACK,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;wBAC5D,IAAI,SAAS,EAAE;4BACX,sBAAO,SAAS,EAAC;yBACpB;wBACW,qBAAM,GAAG,CAAC,GAAG,CAAC,UAAQ,EAAI,CAAC,EAAA;;wBAAjC,GAAG,GAAG,SAA2B;wBACvC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,SAAG,CAAC,sBAAsB,CAAC,CAAC;wBAC3E,sBAAO,GAAG,EAAC;;;;KACd;IAXqB,QAAG,MAWxB,CAAA;IAED,SAAsB,MAAM,CAAC,GAAW,EAAE,IAAW;;;;;wBACjD,IAAI,EAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,EAAE,CAAA,IAAI,EAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAA,EAAE;4BAC1B,MAAK,CAAC,2BAA2B,CAAC,CAAC;yBACtC;wBACM,qBAAM,GAAG,CAAC,IAAI,CAAC,UAAQ,IAAI,CAAC,EAAI,EAAE,IAAI,CAAC,EAAA;;wBAA9C,IAAI,GAAG,SAAuC,CAAC;wBAC/C,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAG,CAAC,SAAS,CAAC,IAAI,GAAG,SAAG,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;wBAC5E,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,WAAW,EAAE;4BAChC,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,SAAG,CAAC,SAAS,CAAC,WAAW,GAAG,SAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;yBACnF;6BACI,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE;4BAC9B,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,SAAG,CAAC,SAAS,CAAC,IAAI,GAAG,SAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;yBAC5E;wBACD,sBAAO,IAAI,EAAC;;;;KACf;IAbqB,WAAM,SAa3B,CAAA;IAED,IAAiB,SAAS,CAmCzB;IAnCD,WAAiB,SAAS;QACtB,SAAgB,eAAe,CAAC,SAAiB;YAC7C,OAAO,SAAG,CAAC,SAAS,CAAC,IAAI,GAAG,SAAG,CAAC,SAAS,CAAC,OAAO,GAAG,SAAG,CAAC,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC;QACrF,CAAC;QAFe,yBAAe,kBAE9B,CAAA;QAED,SAAsB,OAAO,CAAC,GAAW,EAAE,SAAiB,EAAE,SAAmB;;;;;oBAC7E,IAAI,CAAC,SAAS,EAAE;wBACZ,MAAK,CAAC,gCAAgC,CAAC,CAAC;qBAC3C;oBACD,IAAI,CAAC,SAAS,EAAE;wBACZ,SAAS,GAAG,KAAK,CAAC;qBACrB;oBACK,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC/E,IAAI,SAAS,EAAE;wBACX,sBAAO,SAAS,EAAC;qBACpB;oBACK,GAAG,GAAqB,IAAI,OAAO,CAAC,UAAO,GAAG,EAAE,GAAG;;;;;;oCAEpC,qBAAM,GAAG,CAAC,GAAG,CAAC,2BAAyB,SAAS,IAAG,SAAS,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,EAAE,CAAG,CAAC,EAAA;;oCAAhH,IAAI,GAAG,SAAyG;oCACtH,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;;;oCAGhB,GAAG,CAAC,GAAC,CAAC,CAAC;;;;;yBAEd,CAAC,CAAC;oBACH,GAAG,CAAC,IAAI,CAAC,UAAC,KAAK;wBACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACnC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAS,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;yBACxE;oBACL,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,SAAS,EAAE;wBACZ,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,SAAG,CAAC,sBAAsB,CAAC,CAAC;qBAC9E;oBACD,sBAAO,GAAG,EAAC;;;SACd;QA7BqB,iBAAO,UA6B5B,CAAA;IACL,CAAC,EAnCgB,SAAS,GAAT,cAAS,KAAT,cAAS,QAmCzB;IAED,IAAiB,WAAW,CAgD3B;IAhDD,WAAiB,WAAW;QACxB,SAAgB,eAAe,CAAC,SAAiB;YAC7C,OAAO,SAAG,CAAC,SAAS,CAAC,WAAW,GAAG,SAAG,CAAC,SAAS,CAAC,OAAO,GAAG,SAAG,CAAC,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC;QAC5F,CAAC;QAFe,2BAAe,kBAE9B,CAAA;QAED,SAAsB,OAAO,CAAC,GAAW,EAAE,SAAiB;;;;;oBAClD,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC5D,IAAI,SAAS,EAAE;wBACX,sBAAO,SAAS,EAAC;qBACpB;oBACK,GAAG,GAAqB,IAAI,OAAO,CAAC,UAAO,GAAG,EAAE,GAAG;;;;;;oCAEpC,qBAAM,GAAG,CAAC,GAAG,CAAC,mCAAmC,CAAC,EAAA;;oCAAzD,IAAI,GAAG,SAAkD;oCAC/D,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;;;oCAGhB,GAAG,CAAC,GAAC,CAAC,CAAC;;;;;yBAEd,CAAC,CAAC;oBACH,GAAG,CAAC,IAAI,CAAC,UAAC,KAAK;wBACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACnC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAS,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;yBACxE;oBACL,CAAC,CAAC,CAAC;oBACH,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,SAAG,CAAC,sBAAsB,CAAC,CAAC;oBAC3E,sBAAO,GAAG,EAAC;;;SACd;QArBqB,mBAAO,UAqB5B,CAAA;QAED,SAAsB,MAAM,CAAC,GAAW,EAAE,EAAU;;;;gCAChD,qBAAM,GAAG,CAAC,MAAM,CAAC,iBAAe,EAAI,CAAC,EAAA;;4BAArC,SAAqC,CAAC;4BACtC,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAG,CAAC,SAAS,CAAC,IAAI,GAAG,SAAG,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;4BACvE,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,SAAG,CAAC,SAAS,CAAC,WAAW,GAAG,SAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;;;;;SACnF;QAJqB,kBAAM,SAI3B,CAAA;QAED,SAAsB,MAAM,CAAC,GAAW,EAAE,IAAW;;;;;4BACjD,IAAI,CAAC,IAAI,EAAE;gCACP,IAAI,GAAG,EAAE,CAAC;6BACb;4BACD,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE;gCACzB,MAAK,CAAC,2BAA2B,CAAC,CAAC;6BACtC;4BACD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gCACZ,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC;6BACjC;4BACM,qBAAM,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,EAAA;;4BAA1C,IAAI,GAAG,SAAmC,CAAC;4BAC3C,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,SAAG,CAAC,SAAS,CAAC,WAAW,GAAG,SAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;4BAChF,sBAAO,IAAI,EAAC;;;;SACf;QAbqB,kBAAM,SAa3B,CAAA;IACL,CAAC,EAhDgB,WAAW,GAAX,gBAAW,KAAX,gBAAW,QAgD3B;AACL,CAAC,EAjJgB,IAAI,GAAJ,YAAI,KAAJ,YAAI,QAiJpB"}
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../src/user/user.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import { BruceApi, CamApi } from "../bruce-models";
2
+ /**
3
+ * Describes the "Client Account" concept within Bruce.
4
+ * A client account is a database instance that holds one or many users.
5
+ */
6
+ export declare namespace Account {
7
+ export function GetCacheKey(accountId: string, appSettingsId?: string): string;
8
+ export function GetListCacheKey(ssid: string): string;
9
+ enum EDbRegion {
10
+ USA = "US",
11
+ Paris = "EU",
12
+ Singapore = "SE",
13
+ Australia = "AU"
14
+ }
15
+ export interface IAccount {
16
+ ID?: string;
17
+ Name?: string;
18
+ "ClientAccount.ID"?: string;
19
+ "Application.ID"?: string;
20
+ "BruceAPI"?: string;
21
+ "Settings"?: any;
22
+ "Application.Settings"?: any;
23
+ }
24
+ export function Get(api: CamApi, id: string): Promise<IAccount>;
25
+ export function GetRelatedList(api: CamApi): Promise<IAccount[]>;
26
+ export function GetAppSettings(api: CamApi, id: string, appId: string): Promise<any>;
27
+ /**
28
+ * WARNING: Do not update API settings without knowing what you're doing.
29
+ * @param api
30
+ * @param id
31
+ * @param appId
32
+ * @param data
33
+ * @returns
34
+ */
35
+ export function UpdateAppSettings(api: CamApi, id: string, appId: string, data: any): Promise<any>;
36
+ /**
37
+ * Creates a new Bruce account using given details.
38
+ * @param api
39
+ * @param id
40
+ * @param name
41
+ * @param region
42
+ * @returns
43
+ */
44
+ export function Create(api: BruceApi, id: string, name: string, region: EDbRegion): Promise<IAccount>;
45
+ export {};
46
+ }
@@ -55,6 +55,7 @@ export * from "./user/permission";
55
55
  export * from "./user/session";
56
56
  export * from "./user/user-group";
57
57
  export * from "./user/user";
58
+ export * from "./account/account";
58
59
  export * from "./util/encrypt-utils";
59
60
  export * from "./util/math-utils";
60
61
  export * from "./util/object-utils";
@@ -34,9 +34,50 @@ export declare namespace User {
34
34
  }
35
35
  function Get(api: IdmApi, id: string, accountId: string): Promise<IUser>;
36
36
  function Update(api: IdmApi, data: IUser): Promise<IUser>;
37
+ function GetUsernameAvailable(api: IdmApi, username: string): Promise<boolean>;
37
38
  namespace LoginUser {
38
39
  function GetListCacheKey(accountId: string): string;
39
40
  function GetList(api: IdmApi, accountId: string, exclusive?: boolean): Promise<IUser[]>;
41
+ /**
42
+ * Sends a signup email to the specified email address.
43
+ * @param api
44
+ * @param email
45
+ * @returns
46
+ */
47
+ function Signup(api: IdmApi, email: string): Promise<void>;
48
+ /**
49
+ * Sends a new signup email using a previous one's expired code.
50
+ * @param api
51
+ * @param expiredCode
52
+ * @returns
53
+ */
54
+ function SignupResend(api: IdmApi, expiredCode: string): Promise<void>;
55
+ /**
56
+ * Completes signup using user data and a signup code.
57
+ * @param api
58
+ * @param accountId
59
+ * @param code
60
+ * @param data
61
+ * @returns
62
+ */
63
+ function SignupComplete(api: IdmApi, accountId: string, code: string, data: IUser): Promise<IUser>;
64
+ /**
65
+ * Sends a password reset email to the specified email address.
66
+ * @param api
67
+ * @param accountId
68
+ * @param email
69
+ * @returns user id associated with provided email.
70
+ */
71
+ function ForgotPassword(api: IdmApi, accountId: string, email: string): Promise<string>;
72
+ /**
73
+ * Completes password reset using a password reset code and new password.
74
+ * @param api
75
+ * @param code
76
+ * @param userId
77
+ * @param password
78
+ * @returns
79
+ */
80
+ function ForgotPasswordComplete(api: IdmApi, code: string, userId: string, password: string): Promise<IUser>;
40
81
  }
41
82
  namespace AccessToken {
42
83
  function GetListCacheKey(accountId: string): string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bruce-models",
3
- "version": "0.1.7",
3
+ "version": "0.1.8",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "main": "dist/bruce-models.umd.js",