@sparkvault/sdk-mobile 0.3.1 → 0.3.2

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.
package/README.md CHANGED
@@ -69,9 +69,9 @@ The SDK depends on `tweetnacl` for Ed25519 Identity JWT verification and declare
69
69
  ## Modules
70
70
 
71
71
  - `auth`: Identity config, TOTP/passkey login, JWKS/JWT verification, Core exchange, signup completion, profile, and account APIs.
72
- - `vaults`: Vault CRUD, unseal/seal, sharing, access retention, and public upload settings.
72
+ - `vaults`: Vault CRUD, unseal/seal, sharing, access retention, and upload portal/widget settings.
73
73
  - `folders`: Folder CRUD, breadcrumbs, folder moves, and ingot moves.
74
- - `ingots`: List/search/get, URI streaming upload/replace, rename/delete, sharing, access logs, and SDK-managed file downloads.
74
+ - `ingots`: List/search/get, URI streaming upload/replace, rename/delete, sharing, read-only audit logs, and SDK-managed file downloads.
75
75
  - `health`: Root API availability checks.
76
76
  - `sparks`: SparkSync spark list/read/create operations.
77
77
  - `entropy`: HSM-backed entropy generation.
@@ -127,7 +127,9 @@ const passkeyProvider: MobilePasskeyProvider = {
127
127
  />;
128
128
  ```
129
129
 
130
- Client-side JWT verification is an app integrity gate. Third-party backends must still verify the token server-side with the JWKS endpoint before creating their own sessions.
130
+ Client-side JWT verification is an app integrity gate. Third-party backends must still verify the token server-side with the JWKS endpoint and key product records by the returned `svid` (`sub` is also the SVID for managed Identity tokens).
131
+
132
+ `exchangeIdentityToken()` is for SparkVault Core mobile sessions. Third-party mobile apps that use SparkVault Identity as their login provider should either verify the Identity JWT server-side and issue their own app session keyed by `svid`, or use the OIDC authorization-code flow with PKCE. Native apps must keep refresh tokens in OS secure storage; browser-only `HttpOnly` cookie guidance applies to web/BFF deployments.
131
133
 
132
134
  ## Health Check
133
135
 
package/dist/folders.js CHANGED
@@ -17,8 +17,8 @@ export class MobileFoldersClient {
17
17
  async getBreadcrumb(vaultId, folderId, vat) {
18
18
  validateVaultId(vaultId);
19
19
  validateFolderId(folderId);
20
- const response = await this.http.get(`/vaults/${vaultId}/folders/${folderId}/breadcrumb`, { vat });
21
- return response.data.breadcrumb;
20
+ const response = await this.http.get(`/vaults/${vaultId}/folders/${folderId}`, { vat });
21
+ return response.data.breadcrumb ?? [];
22
22
  }
23
23
  async create(vaultId, vat, data) {
24
24
  validateVaultId(vaultId);
@@ -28,7 +28,7 @@ export class MobileFoldersClient {
28
28
  async update(vaultId, folderId, vat, data) {
29
29
  validateVaultId(vaultId);
30
30
  validateFolderId(folderId);
31
- const response = await this.http.patch(`/vaults/${vaultId}/folders/${folderId}`, data, { vat });
31
+ const response = await this.http.put(`/vaults/${vaultId}/folders/${folderId}`, data, { vat });
32
32
  return response.data;
33
33
  }
34
34
  async move(vaultId, folderId, vat, newParentId) {
@@ -1 +1 @@
1
- {"version":3,"file":"folders.js","sourceRoot":"","sources":["../src/folders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"folders.js","sourceRoot":"","sources":["../src/folders.ts"],"names":[],"mappings":"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"}
package/dist/ingots.d.ts CHANGED
@@ -94,6 +94,7 @@ export declare class MobileIngotsClient {
94
94
  purgeAccessLogs(vaultId: string, ingotId: string, vat: string): Promise<void>;
95
95
  private createIngotUpload;
96
96
  private verifyIngotActive;
97
+ private toAccessLog;
97
98
  private verifyDownloadedFile;
98
99
  private deleteFileIfPresent;
99
100
  private ensureNotAborted;
package/dist/ingots.js CHANGED
@@ -231,20 +231,28 @@ export class MobileIngotsClient {
231
231
  params.append('cursor', options.cursor);
232
232
  const query = params.toString();
233
233
  const response = await this.http.get(query
234
- ? `/vaults/${vaultId}/ingots/${ingotId}/access-logs?${query}`
235
- : `/vaults/${vaultId}/ingots/${ingotId}/access-logs`, { vat });
236
- return response.data;
234
+ ? `/vaults/${vaultId}/ingots/${ingotId}/audit-logs?${query}`
235
+ : `/vaults/${vaultId}/ingots/${ingotId}/audit-logs`, { vat });
236
+ const entries = response.data.entries ?? response.data.logs ?? [];
237
+ return {
238
+ logs: entries.map(entry => this.toAccessLog(entry)),
239
+ next_cursor: response.data.cursor ?? response.data.next_cursor,
240
+ };
237
241
  }
238
242
  async getAccessStats(vaultId, ingotId, vat) {
239
243
  validateVaultId(vaultId);
240
244
  validateIngotId(ingotId);
241
- const response = await this.http.get(`/vaults/${vaultId}/ingots/${ingotId}/access-stats`, { vat });
242
- return response.data;
245
+ const ingot = await this.get(vaultId, ingotId, vat);
246
+ return {
247
+ total_downloads: ingot.access_count ?? 0,
248
+ last_accessed_at: ingot.last_accessed_at ?? ingot.accessed_at,
249
+ };
243
250
  }
244
251
  async purgeAccessLogs(vaultId, ingotId, vat) {
245
252
  validateVaultId(vaultId);
246
253
  validateIngotId(ingotId);
247
- await this.http.delete(`/vaults/${vaultId}/ingots/${ingotId}/access-logs`, { vat });
254
+ void vat;
255
+ throw new SparkVaultValidationError('Ingot audit logs are read-only. Configure vault access-log retention to expire old entries.');
248
256
  }
249
257
  async createIngotUpload(options) {
250
258
  const body = {
@@ -277,6 +285,26 @@ export class MobileIngotsClient {
277
285
  }
278
286
  throw new SparkVaultMobileError(`Upload failed: ingot status is ${ingot?.status ?? 'unknown'}`);
279
287
  }
288
+ toAccessLog(entry) {
289
+ const eventType = entry.event_type ?? entry.action ?? '';
290
+ const action = eventType.includes('download') ? 'download' : 'view';
291
+ const actor = entry.actor;
292
+ return {
293
+ log_id: entry.log_id ?? entry.event_id ?? entry.id ?? String(entry.timestamp ?? entry.created_at ?? ''),
294
+ action,
295
+ identity: actor?.email ??
296
+ entry.actor_email ??
297
+ entry.identity ??
298
+ actor?.id ??
299
+ actor?.user_id ??
300
+ actor?.api_key_id ??
301
+ entry.actor_id ??
302
+ 'Unknown',
303
+ ip_address: entry.ip_address ?? '',
304
+ user_agent: entry.user_agent ?? '',
305
+ timestamp: entry.timestamp ?? entry.created_at ?? 0,
306
+ };
307
+ }
280
308
  async verifyDownloadedFile(fileDownloader, preferredUri, expectedUri, knownSizeBytes, expectedSizeBytes) {
281
309
  const filePath = preferredUri || expectedUri;
282
310
  const info = await fileDownloader.getInfo(filePath);
@@ -1 +1 @@
1
- {"version":3,"file":"ingots.js","sourceRoot":"","sources":["../src/ingots.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ingots.js","sourceRoot":"","sources":["../src/ingots.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -155,6 +155,11 @@ export interface PasskeyAuthOptions {
155
155
  challenge: string;
156
156
  timeout: number;
157
157
  rpId: string;
158
+ allowCredentials?: Array<{
159
+ id: string;
160
+ type: 'public-key';
161
+ transports?: string[];
162
+ }>;
158
163
  userVerification: 'required' | 'preferred' | 'discouraged';
159
164
  }
160
165
  export interface PasskeyAuthChallenge {
@@ -271,6 +276,7 @@ export interface Ingot {
271
276
  folder_id?: string | null;
272
277
  created_at: number;
273
278
  accessed_at?: number;
279
+ last_accessed_at?: number;
274
280
  access_count?: number;
275
281
  expires_at?: number;
276
282
  }
@@ -308,7 +314,7 @@ export interface IngotAccessLog {
308
314
  }
309
315
  export interface IngotAccessStats {
310
316
  total_downloads: number;
311
- unique_visitors: number;
317
+ unique_visitors?: number;
312
318
  last_accessed_at?: number;
313
319
  }
314
320
  export interface Folder {
package/dist/vaults.d.ts CHANGED
@@ -7,6 +7,43 @@ export interface SharingConfig {
7
7
  session_length_seconds: number | null;
8
8
  enabled_at: number | null;
9
9
  }
10
+ export interface UploadConfig {
11
+ vault_id: string;
12
+ upload_portal_enabled: boolean;
13
+ upload_portal_enabled_at: number | null;
14
+ upload_widget_enabled: boolean;
15
+ upload_widget_enabled_at: number | null;
16
+ max_size_bytes: number | null;
17
+ notification_email: string | null;
18
+ portal_url?: string;
19
+ }
20
+ export interface UploadPortalEnabled {
21
+ vault_id: string;
22
+ upload_portal_enabled: true;
23
+ enabled_at: number;
24
+ portal_url: string;
25
+ }
26
+ export interface UploadWidgetEnabled {
27
+ vault_id: string;
28
+ upload_widget_enabled: true;
29
+ enabled_at: number;
30
+ }
31
+ export interface UploadPortalDisabled {
32
+ vault_id: string;
33
+ upload_portal_enabled: false;
34
+ disabled_at: number;
35
+ }
36
+ export interface UploadWidgetDisabled {
37
+ vault_id: string;
38
+ upload_widget_enabled: false;
39
+ disabled_at: number;
40
+ }
41
+ export interface UploadConfigUpdate {
42
+ vault_id: string;
43
+ max_size_bytes: number;
44
+ notification_email: string | null;
45
+ updated_at: number;
46
+ }
10
47
  export declare class MobileVaultsClient {
11
48
  private readonly http;
12
49
  constructor(http: MobileHttpClient);
@@ -57,38 +94,21 @@ export declare class MobileVaultsClient {
57
94
  access_log_retention_seconds: number;
58
95
  updated_at: number;
59
96
  }>;
60
- getUploadConfig(vaultId: string): Promise<{
61
- vault_id: string;
62
- public_upload_enabled: boolean;
63
- upload_url: string | null;
64
- max_size_bytes: number | null;
65
- notification_email: string | null;
66
- enabled_at: number | null;
67
- }>;
68
- enableUpload(vaultId: string, vmk: string | null, options?: {
69
- max_size_bytes?: number;
70
- notification_email?: string;
71
- }): Promise<{
72
- vault_id: string;
73
- public_upload_enabled: boolean;
74
- upload_url: string;
75
- max_size_bytes: number;
76
- notification_email: string | null;
77
- enabled_at: number;
78
- }>;
79
- disableUpload(vaultId: string): Promise<{
80
- vault_id: string;
81
- public_upload_enabled: false;
82
- disabled_at: number;
83
- }>;
97
+ getUploadConfig(vaultId: string): Promise<UploadConfig>;
98
+ enableUploadPortal(vaultId: string, vmk: string): Promise<UploadPortalEnabled>;
99
+ disableUploadPortal(vaultId: string): Promise<UploadPortalDisabled>;
100
+ enableUploadWidget(vaultId: string, vmk: string): Promise<UploadWidgetEnabled>;
101
+ disableUploadWidget(vaultId: string): Promise<UploadWidgetDisabled>;
102
+ /**
103
+ * @deprecated Use enableUploadPortal() or enableUploadWidget().
104
+ */
105
+ enableUpload(vaultId: string, vmk: string): Promise<UploadPortalEnabled>;
106
+ /**
107
+ * @deprecated Use disableUploadPortal() or disableUploadWidget().
108
+ */
109
+ disableUpload(vaultId: string): Promise<UploadPortalDisabled>;
84
110
  updateUploadConfig(vaultId: string, config: {
85
111
  max_size_bytes?: number;
86
112
  notification_email?: string | null;
87
- }): Promise<{
88
- vault_id: string;
89
- public_upload_enabled: boolean;
90
- max_size_bytes: number;
91
- notification_email: string | null;
92
- updated_at: number;
93
- }>;
113
+ }): Promise<UploadConfigUpdate>;
94
114
  }
package/dist/vaults.js CHANGED
@@ -83,20 +83,42 @@ export class MobileVaultsClient {
83
83
  const response = await this.http.get(`/vaults/${vaultId}/upload`);
84
84
  return response.data;
85
85
  }
86
- async enableUpload(vaultId, vmk, options) {
86
+ async enableUploadPortal(vaultId, vmk) {
87
87
  validateVaultId(vaultId);
88
- const response = await this.http.post(`/vaults/${vaultId}/upload/enable`, {
88
+ const response = await this.http.post(`/vaults/${vaultId}/upload/portal/enable`, {
89
89
  vmk,
90
- max_size_bytes: options?.max_size_bytes ?? null,
91
- notification_email: options?.notification_email ?? null,
92
90
  });
93
91
  return response.data;
94
92
  }
95
- async disableUpload(vaultId) {
93
+ async disableUploadPortal(vaultId) {
94
+ validateVaultId(vaultId);
95
+ const response = await this.http.post(`/vaults/${vaultId}/upload/portal/disable`);
96
+ return response.data;
97
+ }
98
+ async enableUploadWidget(vaultId, vmk) {
99
+ validateVaultId(vaultId);
100
+ const response = await this.http.post(`/vaults/${vaultId}/upload/widget/enable`, {
101
+ vmk,
102
+ });
103
+ return response.data;
104
+ }
105
+ async disableUploadWidget(vaultId) {
96
106
  validateVaultId(vaultId);
97
- const response = await this.http.post(`/vaults/${vaultId}/upload/disable`);
107
+ const response = await this.http.post(`/vaults/${vaultId}/upload/widget/disable`);
98
108
  return response.data;
99
109
  }
110
+ /**
111
+ * @deprecated Use enableUploadPortal() or enableUploadWidget().
112
+ */
113
+ async enableUpload(vaultId, vmk) {
114
+ return this.enableUploadPortal(vaultId, vmk);
115
+ }
116
+ /**
117
+ * @deprecated Use disableUploadPortal() or disableUploadWidget().
118
+ */
119
+ async disableUpload(vaultId) {
120
+ return this.disableUploadPortal(vaultId);
121
+ }
100
122
  async updateUploadConfig(vaultId, config) {
101
123
  validateVaultId(vaultId);
102
124
  const response = await this.http.put(`/vaults/${vaultId}/upload`, config);
@@ -1 +1 @@
1
- {"version":3,"file":"vaults.js","sourceRoot":"","sources":["../src/vaults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vaults.js","sourceRoot":"","sources":["../src/vaults.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sparkvault/sdk-mobile",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "Mobile SDK for SparkVault Identity, vault, folder, and ingot workflows",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
package/src/folders.ts CHANGED
@@ -31,11 +31,11 @@ export class MobileFoldersClient {
31
31
  async getBreadcrumb(vaultId: string, folderId: string, vat: string): Promise<FolderBreadcrumbItem[]> {
32
32
  validateVaultId(vaultId);
33
33
  validateFolderId(folderId);
34
- const response = await this.http.get<{ breadcrumb: FolderBreadcrumbItem[] }>(
35
- `/vaults/${vaultId}/folders/${folderId}/breadcrumb`,
34
+ const response = await this.http.get<Folder & { breadcrumb?: FolderBreadcrumbItem[] }>(
35
+ `/vaults/${vaultId}/folders/${folderId}`,
36
36
  { vat }
37
37
  );
38
- return response.data.breadcrumb;
38
+ return response.data.breadcrumb ?? [];
39
39
  }
40
40
 
41
41
  async create(vaultId: string, vat: string, data: CreateFolderRequest): Promise<Folder> {
@@ -47,7 +47,7 @@ export class MobileFoldersClient {
47
47
  async update(vaultId: string, folderId: string, vat: string, data: UpdateFolderRequest): Promise<Folder> {
48
48
  validateVaultId(vaultId);
49
49
  validateFolderId(folderId);
50
- const response = await this.http.patch<Folder>(`/vaults/${vaultId}/folders/${folderId}`, data, { vat });
50
+ const response = await this.http.put<Folder>(`/vaults/${vaultId}/folders/${folderId}`, data, { vat });
51
51
  return response.data;
52
52
  }
53
53
 
package/src/ingots.ts CHANGED
@@ -66,6 +66,34 @@ interface IngotUploadInitResponse {
66
66
  size_bytes?: number;
67
67
  }
68
68
 
69
+ interface IngotAuditLogEntry {
70
+ id?: string;
71
+ log_id?: string;
72
+ event_id?: string;
73
+ event_type?: string;
74
+ action?: string;
75
+ actor?: {
76
+ email?: string;
77
+ id?: string;
78
+ user_id?: string;
79
+ api_key_id?: string;
80
+ };
81
+ actor_email?: string;
82
+ actor_id?: string;
83
+ identity?: string;
84
+ ip_address?: string;
85
+ user_agent?: string;
86
+ timestamp?: number;
87
+ created_at?: number;
88
+ }
89
+
90
+ interface IngotAuditLogsResponse {
91
+ entries?: IngotAuditLogEntry[];
92
+ logs?: IngotAuditLogEntry[];
93
+ cursor?: string;
94
+ next_cursor?: string;
95
+ }
96
+
69
97
  export class MobileIngotsClient {
70
98
  private static readonly INGOT_STATUS_POLL_MAX = 10;
71
99
  private static readonly INGOT_STATUS_POLL_MS = 1000;
@@ -422,29 +450,36 @@ export class MobileIngotsClient {
422
450
  if (options?.cursor) params.append('cursor', options.cursor);
423
451
 
424
452
  const query = params.toString();
425
- const response = await this.http.get<{ logs: IngotAccessLog[]; next_cursor?: string }>(
453
+ const response = await this.http.get<IngotAuditLogsResponse>(
426
454
  query
427
- ? `/vaults/${vaultId}/ingots/${ingotId}/access-logs?${query}`
428
- : `/vaults/${vaultId}/ingots/${ingotId}/access-logs`,
455
+ ? `/vaults/${vaultId}/ingots/${ingotId}/audit-logs?${query}`
456
+ : `/vaults/${vaultId}/ingots/${ingotId}/audit-logs`,
429
457
  { vat }
430
458
  );
431
- return response.data;
459
+ const entries = response.data.entries ?? response.data.logs ?? [];
460
+ return {
461
+ logs: entries.map(entry => this.toAccessLog(entry)),
462
+ next_cursor: response.data.cursor ?? response.data.next_cursor,
463
+ };
432
464
  }
433
465
 
434
466
  async getAccessStats(vaultId: string, ingotId: string, vat: string): Promise<IngotAccessStats> {
435
467
  validateVaultId(vaultId);
436
468
  validateIngotId(ingotId);
437
- const response = await this.http.get<IngotAccessStats>(
438
- `/vaults/${vaultId}/ingots/${ingotId}/access-stats`,
439
- { vat }
440
- );
441
- return response.data;
469
+ const ingot = await this.get(vaultId, ingotId, vat);
470
+ return {
471
+ total_downloads: ingot.access_count ?? 0,
472
+ last_accessed_at: ingot.last_accessed_at ?? ingot.accessed_at,
473
+ };
442
474
  }
443
475
 
444
476
  async purgeAccessLogs(vaultId: string, ingotId: string, vat: string): Promise<void> {
445
477
  validateVaultId(vaultId);
446
478
  validateIngotId(ingotId);
447
- await this.http.delete(`/vaults/${vaultId}/ingots/${ingotId}/access-logs`, { vat });
479
+ void vat;
480
+ throw new SparkVaultValidationError(
481
+ 'Ingot audit logs are read-only. Configure vault access-log retention to expire old entries.'
482
+ );
448
483
  }
449
484
 
450
485
  private async createIngotUpload(options: {
@@ -498,6 +533,28 @@ export class MobileIngotsClient {
498
533
  throw new SparkVaultMobileError(`Upload failed: ingot status is ${ingot?.status ?? 'unknown'}`);
499
534
  }
500
535
 
536
+ private toAccessLog(entry: IngotAuditLogEntry): IngotAccessLog {
537
+ const eventType = entry.event_type ?? entry.action ?? '';
538
+ const action = eventType.includes('download') ? 'download' : 'view';
539
+ const actor = entry.actor;
540
+ return {
541
+ log_id: entry.log_id ?? entry.event_id ?? entry.id ?? String(entry.timestamp ?? entry.created_at ?? ''),
542
+ action,
543
+ identity:
544
+ actor?.email ??
545
+ entry.actor_email ??
546
+ entry.identity ??
547
+ actor?.id ??
548
+ actor?.user_id ??
549
+ actor?.api_key_id ??
550
+ entry.actor_id ??
551
+ 'Unknown',
552
+ ip_address: entry.ip_address ?? '',
553
+ user_agent: entry.user_agent ?? '',
554
+ timestamp: entry.timestamp ?? entry.created_at ?? 0,
555
+ };
556
+ }
557
+
501
558
  private async verifyDownloadedFile(
502
559
  fileDownloader: MobileFileDownloader,
503
560
  preferredUri: string,
package/src/types.ts CHANGED
@@ -196,6 +196,11 @@ export interface PasskeyAuthOptions {
196
196
  challenge: string;
197
197
  timeout: number;
198
198
  rpId: string;
199
+ allowCredentials?: Array<{
200
+ id: string;
201
+ type: 'public-key';
202
+ transports?: string[];
203
+ }>;
199
204
  userVerification: 'required' | 'preferred' | 'discouraged';
200
205
  }
201
206
 
@@ -327,6 +332,7 @@ export interface Ingot {
327
332
  folder_id?: string | null;
328
333
  created_at: number;
329
334
  accessed_at?: number;
335
+ last_accessed_at?: number;
330
336
  access_count?: number;
331
337
  expires_at?: number;
332
338
  }
@@ -370,7 +376,7 @@ export interface IngotAccessLog {
370
376
 
371
377
  export interface IngotAccessStats {
372
378
  total_downloads: number;
373
- unique_visitors: number;
379
+ unique_visitors?: number;
374
380
  last_accessed_at?: number;
375
381
  }
376
382
 
package/src/vaults.ts CHANGED
@@ -19,6 +19,49 @@ export interface SharingConfig {
19
19
  enabled_at: number | null;
20
20
  }
21
21
 
22
+ export interface UploadConfig {
23
+ vault_id: string;
24
+ upload_portal_enabled: boolean;
25
+ upload_portal_enabled_at: number | null;
26
+ upload_widget_enabled: boolean;
27
+ upload_widget_enabled_at: number | null;
28
+ max_size_bytes: number | null;
29
+ notification_email: string | null;
30
+ portal_url?: string;
31
+ }
32
+
33
+ export interface UploadPortalEnabled {
34
+ vault_id: string;
35
+ upload_portal_enabled: true;
36
+ enabled_at: number;
37
+ portal_url: string;
38
+ }
39
+
40
+ export interface UploadWidgetEnabled {
41
+ vault_id: string;
42
+ upload_widget_enabled: true;
43
+ enabled_at: number;
44
+ }
45
+
46
+ export interface UploadPortalDisabled {
47
+ vault_id: string;
48
+ upload_portal_enabled: false;
49
+ disabled_at: number;
50
+ }
51
+
52
+ export interface UploadWidgetDisabled {
53
+ vault_id: string;
54
+ upload_widget_enabled: false;
55
+ disabled_at: number;
56
+ }
57
+
58
+ export interface UploadConfigUpdate {
59
+ vault_id: string;
60
+ max_size_bytes: number;
61
+ notification_email: string | null;
62
+ updated_at: number;
63
+ }
64
+
22
65
  export class MobileVaultsClient {
23
66
  private readonly http: MobileHttpClient;
24
67
 
@@ -180,92 +223,63 @@ export class MobileVaultsClient {
180
223
  return response.data;
181
224
  }
182
225
 
183
- async getUploadConfig(vaultId: string): Promise<{
184
- vault_id: string;
185
- public_upload_enabled: boolean;
186
- upload_url: string | null;
187
- max_size_bytes: number | null;
188
- notification_email: string | null;
189
- enabled_at: number | null;
190
- }> {
226
+ async getUploadConfig(vaultId: string): Promise<UploadConfig> {
191
227
  validateVaultId(vaultId);
192
- const response = await this.http.get<{
193
- vault_id: string;
194
- public_upload_enabled: boolean;
195
- upload_url: string | null;
196
- max_size_bytes: number | null;
197
- notification_email: string | null;
198
- enabled_at: number | null;
199
- }>(`/vaults/${vaultId}/upload`);
228
+ const response = await this.http.get<UploadConfig>(`/vaults/${vaultId}/upload`);
200
229
  return response.data;
201
230
  }
202
231
 
203
- async enableUpload(
204
- vaultId: string,
205
- vmk: string | null,
206
- options?: {
207
- max_size_bytes?: number;
208
- notification_email?: string;
209
- }
210
- ): Promise<{
211
- vault_id: string;
212
- public_upload_enabled: boolean;
213
- upload_url: string;
214
- max_size_bytes: number;
215
- notification_email: string | null;
216
- enabled_at: number;
217
- }> {
232
+ async enableUploadPortal(vaultId: string, vmk: string): Promise<UploadPortalEnabled> {
218
233
  validateVaultId(vaultId);
219
- const response = await this.http.post<{
220
- vault_id: string;
221
- public_upload_enabled: boolean;
222
- upload_url: string;
223
- max_size_bytes: number;
224
- notification_email: string | null;
225
- enabled_at: number;
226
- }>(`/vaults/${vaultId}/upload/enable`, {
234
+ const response = await this.http.post<UploadPortalEnabled>(`/vaults/${vaultId}/upload/portal/enable`, {
227
235
  vmk,
228
- max_size_bytes: options?.max_size_bytes ?? null,
229
- notification_email: options?.notification_email ?? null,
230
236
  });
231
237
  return response.data;
232
238
  }
233
239
 
234
- async disableUpload(vaultId: string): Promise<{
235
- vault_id: string;
236
- public_upload_enabled: false;
237
- disabled_at: number;
238
- }> {
240
+ async disableUploadPortal(vaultId: string): Promise<UploadPortalDisabled> {
239
241
  validateVaultId(vaultId);
240
- const response = await this.http.post<{
241
- vault_id: string;
242
- public_upload_enabled: false;
243
- disabled_at: number;
244
- }>(`/vaults/${vaultId}/upload/disable`);
242
+ const response = await this.http.post<UploadPortalDisabled>(`/vaults/${vaultId}/upload/portal/disable`);
243
+ return response.data;
244
+ }
245
+
246
+ async enableUploadWidget(vaultId: string, vmk: string): Promise<UploadWidgetEnabled> {
247
+ validateVaultId(vaultId);
248
+ const response = await this.http.post<UploadWidgetEnabled>(`/vaults/${vaultId}/upload/widget/enable`, {
249
+ vmk,
250
+ });
245
251
  return response.data;
246
252
  }
247
253
 
254
+ async disableUploadWidget(vaultId: string): Promise<UploadWidgetDisabled> {
255
+ validateVaultId(vaultId);
256
+ const response = await this.http.post<UploadWidgetDisabled>(`/vaults/${vaultId}/upload/widget/disable`);
257
+ return response.data;
258
+ }
259
+
260
+ /**
261
+ * @deprecated Use enableUploadPortal() or enableUploadWidget().
262
+ */
263
+ async enableUpload(vaultId: string, vmk: string): Promise<UploadPortalEnabled> {
264
+ return this.enableUploadPortal(vaultId, vmk);
265
+ }
266
+
267
+ /**
268
+ * @deprecated Use disableUploadPortal() or disableUploadWidget().
269
+ */
270
+ async disableUpload(vaultId: string): Promise<UploadPortalDisabled> {
271
+ return this.disableUploadPortal(vaultId);
272
+ }
273
+
248
274
  async updateUploadConfig(
249
275
  vaultId: string,
250
276
  config: {
251
277
  max_size_bytes?: number;
252
278
  notification_email?: string | null;
253
279
  }
254
- ): Promise<{
255
- vault_id: string;
256
- public_upload_enabled: boolean;
257
- max_size_bytes: number;
258
- notification_email: string | null;
259
- updated_at: number;
260
- }> {
280
+ ): Promise<UploadConfigUpdate> {
261
281
  validateVaultId(vaultId);
262
- const response = await this.http.put<{
263
- vault_id: string;
264
- public_upload_enabled: boolean;
265
- max_size_bytes: number;
266
- notification_email: string | null;
267
- updated_at: number;
268
- }>(`/vaults/${vaultId}/upload`, config);
282
+ const response = await this.http.put<UploadConfigUpdate>(`/vaults/${vaultId}/upload`, config);
269
283
  return response.data;
270
284
  }
271
285
  }