@internxt/sdk 1.9.18 → 1.9.19

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.
@@ -1,7 +1,7 @@
1
- import { Token, CryptoProvider, Keys, LoginDetails, RegisterDetails, SecurityDetails, TwoFactorAuthQR, RegisterPreCreatedUser, RegisterPreCreatedUserResponse, PrivateKeys } from './types';
2
- import { UserSettings, UUID } from '../shared/types/userSettings';
3
- import { TeamsSettings } from '../shared/types/teams';
4
1
  import { ApiSecurity, ApiUrl, AppDetails } from '../shared';
2
+ import { TeamsSettings } from '../shared/types/teams';
3
+ import { UserSettings, UUID } from '../shared/types/userSettings';
4
+ import { CryptoProvider, Keys, LoginDetails, PrivateKeys, RegisterDetails, RegisterPreCreatedUser, RegisterPreCreatedUserResponse, SecurityDetails, Token, TwoFactorAuthQR } from './types';
5
5
  export * from './types';
6
6
  export declare class Auth {
7
7
  private readonly client;
@@ -21,12 +21,29 @@ export declare class Auth {
21
21
  };
22
22
  uuid: UUID;
23
23
  }>;
24
+ /**
25
+ * Tries to register a new user without sending keys
26
+ * @param registerDetails
27
+ */
28
+ registerWithoutKeys(registerDetails: Omit<RegisterDetails, 'keys'>): Promise<{
29
+ token: Token;
30
+ user: Omit<UserSettings, 'bucket'> & {
31
+ referralCode: string;
32
+ };
33
+ uuid: UUID;
34
+ }>;
24
35
  /**
25
36
  * Registers a precreated user
26
37
  * @param registerDetails
27
38
  * @returns {Promise<RegisterPreCreatedUserResponse>} Returns sign in token, user data and uuid.
28
39
  */
29
40
  registerPreCreatedUser(registerDetails: RegisterPreCreatedUser): Promise<RegisterPreCreatedUserResponse>;
41
+ /**
42
+ * Registers a precreated user without sending keys
43
+ * @param registerDetails
44
+ * @returns {Promise<RegisterPreCreatedUserResponse>} Returns sign in token, user data and uuid.
45
+ */
46
+ registerPreCreatedUserWithoutKeys(registerDetails: RegisterPreCreatedUser): Promise<RegisterPreCreatedUserResponse>;
30
47
  /**
31
48
  * Requests account unblock email
32
49
  *
@@ -52,6 +69,17 @@ export declare class Auth {
52
69
  user: UserSettings;
53
70
  userTeam: TeamsSettings | null;
54
71
  }>;
72
+ /**
73
+ * Tries to log in a user given its login details without sending keys
74
+ * @param details
75
+ * @param cryptoProvider
76
+ */
77
+ loginWithoutKeys(details: LoginDetails, cryptoProvider: CryptoProvider): Promise<{
78
+ token: Token;
79
+ newToken: Token;
80
+ user: UserSettings;
81
+ userTeam: TeamsSettings | null;
82
+ }>;
55
83
  /**
56
84
  * Updates the asymmetric keys
57
85
  * @param keys
@@ -97,6 +97,24 @@ var Auth = /** @class */ (function () {
97
97
  referrer: registerDetails.referrer,
98
98
  }, this.basicHeaders());
99
99
  };
100
+ /**
101
+ * Tries to register a new user without sending keys
102
+ * @param registerDetails
103
+ */
104
+ Auth.prototype.registerWithoutKeys = function (registerDetails) {
105
+ var body = {
106
+ name: registerDetails.name,
107
+ captcha: registerDetails.captcha,
108
+ lastname: registerDetails.lastname,
109
+ email: registerDetails.email,
110
+ password: registerDetails.password,
111
+ mnemonic: registerDetails.mnemonic,
112
+ salt: registerDetails.salt,
113
+ referral: registerDetails.referral,
114
+ referrer: registerDetails.referrer,
115
+ };
116
+ return this.client.post('/users', body, this.basicHeaders());
117
+ };
100
118
  /**
101
119
  * Registers a precreated user
102
120
  * @param registerDetails
@@ -132,6 +150,25 @@ var Auth = /** @class */ (function () {
132
150
  invitationId: registerDetails.invitationId,
133
151
  }, this.basicHeaders());
134
152
  };
153
+ /**
154
+ * Registers a precreated user without sending keys
155
+ * @param registerDetails
156
+ * @returns {Promise<RegisterPreCreatedUserResponse>} Returns sign in token, user data and uuid.
157
+ */
158
+ Auth.prototype.registerPreCreatedUserWithoutKeys = function (registerDetails) {
159
+ return this.client.post('users/pre-created-users/register', {
160
+ name: registerDetails.name,
161
+ captcha: registerDetails.captcha,
162
+ lastname: registerDetails.lastname,
163
+ email: registerDetails.email,
164
+ password: registerDetails.password,
165
+ mnemonic: registerDetails.mnemonic,
166
+ salt: registerDetails.salt,
167
+ referral: registerDetails.referral,
168
+ referrer: registerDetails.referrer,
169
+ invitationId: registerDetails.invitationId,
170
+ }, this.basicHeaders());
171
+ };
135
172
  /**
136
173
  * Requests account unblock email
137
174
  *
@@ -202,6 +239,37 @@ var Auth = /** @class */ (function () {
202
239
  });
203
240
  });
204
241
  };
242
+ /**
243
+ * Tries to log in a user given its login details without sending keys
244
+ * @param details
245
+ * @param cryptoProvider
246
+ */
247
+ Auth.prototype.loginWithoutKeys = function (details, cryptoProvider) {
248
+ return __awaiter(this, void 0, void 0, function () {
249
+ var securityDetails, encryptedSalt, encryptedPasswordHash;
250
+ return __generator(this, function (_a) {
251
+ switch (_a.label) {
252
+ case 0: return [4 /*yield*/, this.securityDetails(details.email)];
253
+ case 1:
254
+ securityDetails = _a.sent();
255
+ encryptedSalt = securityDetails.encryptedSalt;
256
+ encryptedPasswordHash = cryptoProvider.encryptPasswordHash(details.password, encryptedSalt);
257
+ return [2 /*return*/, this.client
258
+ .post('/auth/login/access', {
259
+ email: details.email,
260
+ password: encryptedPasswordHash,
261
+ tfa: details.tfaCode,
262
+ }, this.basicHeaders())
263
+ .then(function (data) {
264
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
265
+ // @ts-ignore
266
+ data.user.revocationKey = data.user.revocateKey; // TODO : remove when all projects use SDK
267
+ return data;
268
+ })];
269
+ }
270
+ });
271
+ });
272
+ };
205
273
  /**
206
274
  * Updates the asymmetric keys
207
275
  * @param keys
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@internxt/sdk",
3
3
  "author": "Internxt <hello@internxt.com>",
4
- "version": "1.9.18",
4
+ "version": "1.9.19",
5
5
  "description": "An sdk for interacting with Internxt's services",
6
6
  "repository": {
7
7
  "type": "git",