@internxt/sdk 1.9.17 → 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
@@ -3,7 +3,7 @@ import { ApiSecurity, ApiUrl, AppDetails } from '../../shared';
3
3
  import { RequestCanceler } from '../../shared/http/client';
4
4
  import { UUID } from '../../shared/types/userSettings';
5
5
  import { ItemType } from './../../workspaces/types';
6
- import { AddItemsToTrashPayload, CheckDuplicatedFilesPayload, CheckDuplicatedFilesResponse, CheckDuplicatedFolderPayload, CheckDuplicatedFoldersResponse, CreateFolderByUuidPayload, CreateFolderPayload, CreateFolderResponse, CreateThumbnailEntryPayload, DeleteFilePayload, DriveFileData, FetchFolderContentResponse, FetchLimitResponse, FetchPaginatedFilesContent, FetchPaginatedFolderContentResponse, FetchPaginatedFoldersContent, FileEntry, FileEntryByUuid, FileMeta, FolderAncestor, FolderAncestorWorkspace, FolderMeta, FolderTreeResponse, MoveFilePayload, MoveFileResponse, MoveFileUuidPayload, MoveFolderPayload, MoveFolderResponse, MoveFolderUuidPayload, ReplaceFile, SearchResultData, Thumbnail, ThumbnailEntry, UpdateFilePayload, UpdateFolderMetadataPayload, UsageResponse } from './types';
6
+ import { AddItemsToTrashPayload, CheckDuplicatedFilesPayload, CheckDuplicatedFilesResponse, CheckDuplicatedFolderPayload, CheckDuplicatedFoldersResponse, CreateFolderByUuidPayload, CreateFolderPayload, CreateFolderResponse, CreateThumbnailEntryPayload, DeleteFilePayload, DriveFileData, FetchFolderContentResponse, FetchLimitResponse, FetchPaginatedFilesContent, FetchPaginatedFolderContentResponse, FetchPaginatedFoldersContent, FileEntry, FileEntryByUuid, FileMeta, FolderAncestor, FolderAncestorWorkspace, FolderMeta, FolderTreeResponse, MoveFilePayload, MoveFileResponse, MoveFileUuidPayload, MoveFolderPayload, MoveFolderResponse, MoveFolderUuidPayload, ReplaceFile, SearchResultData, Thumbnail, ThumbnailEntry, UpdateFilePayload, UpdateFolderMetadataPayload, UsageResponse, UsageResponseV2 } from './types';
7
7
  export * as StorageTypes from './types';
8
8
  export declare class Storage {
9
9
  private readonly client;
@@ -227,12 +227,22 @@ export declare class Storage {
227
227
  searchItemsByName(plain_name: string): Promise<DriveFileData[]>;
228
228
  /**
229
229
  * Returns the current space usage of the user
230
+ * @deprecated use `spaceUsageV2` call instead.
230
231
  */
231
232
  spaceUsage(): Promise<UsageResponse>;
233
+ /**
234
+ * Returns the current space usage of the user
235
+ */
236
+ spaceUsageV2(): Promise<UsageResponseV2>;
232
237
  /**
233
238
  * Returns the current space limit for the user
239
+ * @deprecated use `spaceLimitV2` call instead.
234
240
  */
235
241
  spaceLimit(): Promise<FetchLimitResponse>;
242
+ /**
243
+ * Returns the current space limit for the user
244
+ */
245
+ spaceLimitV2(): Promise<FetchLimitResponse>;
236
246
  /**
237
247
  * Get global search items.
238
248
  *
@@ -493,16 +493,30 @@ var Storage = /** @class */ (function () {
493
493
  };
494
494
  /**
495
495
  * Returns the current space usage of the user
496
+ * @deprecated use `spaceUsageV2` call instead.
496
497
  */
497
498
  Storage.prototype.spaceUsage = function () {
498
499
  return this.client.get('/usage', this.headers());
499
500
  };
501
+ /**
502
+ * Returns the current space usage of the user
503
+ */
504
+ Storage.prototype.spaceUsageV2 = function () {
505
+ return this.client.get('/users/usage', this.headers());
506
+ };
500
507
  /**
501
508
  * Returns the current space limit for the user
509
+ * @deprecated use `spaceLimitV2` call instead.
502
510
  */
503
511
  Storage.prototype.spaceLimit = function () {
504
512
  return this.client.get('/limit', this.headers());
505
513
  };
514
+ /**
515
+ * Returns the current space limit for the user
516
+ */
517
+ Storage.prototype.spaceLimitV2 = function () {
518
+ return this.client.get('/users/limit', this.headers());
519
+ };
506
520
  /**
507
521
  * Get global search items.
508
522
  *
@@ -276,7 +276,6 @@ export interface ThumbnailEntry {
276
276
  encrypt_version: EncryptionVersion;
277
277
  }
278
278
  export interface CreateThumbnailEntryPayload {
279
- fileId: number;
280
279
  fileUuid: string;
281
280
  type: string;
282
281
  size: number;
@@ -366,6 +365,11 @@ export type UsageResponse = {
366
365
  } & {
367
366
  [k in 'drive' | 'backups' | 'total']: number;
368
367
  };
368
+ export type UsageResponseV2 = {
369
+ drive: number;
370
+ backups: number;
371
+ total: number;
372
+ };
369
373
  export interface FetchLimitResponse {
370
374
  maxSpaceBytes: number;
371
375
  }
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.17",
4
+ "version": "1.9.19",
5
5
  "description": "An sdk for interacting with Internxt's services",
6
6
  "repository": {
7
7
  "type": "git",