@sparkvault/sdk-mobile 7.0.1 → 7.0.3
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 +18 -1
- package/dist/account.d.ts +42 -0
- package/dist/account.js +23 -0
- package/dist/account.js.map +1 -1
- package/dist/app-sdk/upload-publication.d.ts +52 -1
- package/dist/app-sdk/upload-publication.js +57 -1
- package/dist/app-sdk/upload-publication.js.map +1 -1
- package/dist/http.js +1 -1
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js.map +1 -1
- package/dist/ingots.d.ts +26 -1
- package/dist/ingots.js +43 -7
- package/dist/ingots.js.map +1 -1
- package/dist/ingots.test-d.d.ts +25 -0
- package/dist/ingots.test-d.js +15 -0
- package/dist/ingots.test-d.js.map +1 -0
- package/dist/types.d.ts +51 -4
- package/package.json +1 -1
- package/src/account.ts +53 -0
- package/src/app-sdk/upload-publication.js +63 -1
- package/src/http.ts +1 -1
- package/src/index.ts +1 -0
- package/src/ingots.test-d.ts +46 -0
- package/src/ingots.ts +65 -8
- package/src/types.ts +51 -4
package/dist/ingots.js.map
CHANGED
|
@@ -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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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ingot sharing wire-contract assertions: COMPILE-TIME ONLY.
|
|
3
|
+
*
|
|
4
|
+
* `IngotSharingConfig` has no runtime: the client returns the response body as
|
|
5
|
+
* it arrives, so a unit test can never catch the type drifting from the server
|
|
6
|
+
* and every assertion would pass. `tsc --noEmit` (`pnpm typecheck`) is the gate
|
|
7
|
+
* instead. It is deliberately NOT a `*.test.ts`, which tsconfig excludes.
|
|
8
|
+
*
|
|
9
|
+
* Mirrored server source: apps/api/src/ingots/sharing.js (`formatSharingConfig`,
|
|
10
|
+
* the one shape GET and PUT /vaults/:id/ingots/:ingot_id/sharing answer). A
|
|
11
|
+
* field the server never sends reads as undefined wherever an app trusts it:
|
|
12
|
+
* a link section keyed on it never renders.
|
|
13
|
+
*/
|
|
14
|
+
import type { IngotSharingConfig } from './types.js';
|
|
15
|
+
/** Fails to compile unless `T` resolves to exactly `true`. */
|
|
16
|
+
type Assert<T extends true> = T;
|
|
17
|
+
/** Invariant type equality: the SAME type, not merely mutually assignable. */
|
|
18
|
+
type Equals<A, B> = (<T>() => T extends A ? 1 : 2) extends <T>() => T extends B ? 1 : 2 ? true : false;
|
|
19
|
+
export type IngotsWireContract = [
|
|
20
|
+
Assert<Equals<keyof IngotSharingConfig, 'ingot_id' | 'vault_id' | 'sharing_enabled' | 'shared' | 'visibility' | 'public_url' | 'link_code' | 'vault_all_ingots_public' | 'session_length_seconds' | 'invites'>>,
|
|
21
|
+
Assert<Equals<IngotSharingConfig['public_url'], string | null>>,
|
|
22
|
+
Assert<Equals<IngotSharingConfig['link_code'], string | null>>,
|
|
23
|
+
Assert<Equals<IngotSharingConfig['visibility'], 'invite_only' | 'authenticated' | 'public' | null>>
|
|
24
|
+
];
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ingot sharing wire-contract assertions: COMPILE-TIME ONLY.
|
|
3
|
+
*
|
|
4
|
+
* `IngotSharingConfig` has no runtime: the client returns the response body as
|
|
5
|
+
* it arrives, so a unit test can never catch the type drifting from the server
|
|
6
|
+
* and every assertion would pass. `tsc --noEmit` (`pnpm typecheck`) is the gate
|
|
7
|
+
* instead. It is deliberately NOT a `*.test.ts`, which tsconfig excludes.
|
|
8
|
+
*
|
|
9
|
+
* Mirrored server source: apps/api/src/ingots/sharing.js (`formatSharingConfig`,
|
|
10
|
+
* the one shape GET and PUT /vaults/:id/ingots/:ingot_id/sharing answer). A
|
|
11
|
+
* field the server never sends reads as undefined wherever an app trusts it:
|
|
12
|
+
* a link section keyed on it never renders.
|
|
13
|
+
*/
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=ingots.test-d.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ingots.test-d.js","sourceRoot":"","sources":["../src/ingots.test-d.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}
|
package/dist/types.d.ts
CHANGED
|
@@ -58,6 +58,13 @@ export interface SparkVaultUser {
|
|
|
58
58
|
name?: string;
|
|
59
59
|
role: OrgRole;
|
|
60
60
|
has_passkey?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Whether this user is the account owner (the member whose email is the
|
|
63
|
+
* account's email), who alone may delete the account. Only GET /v1/profile
|
|
64
|
+
* sends it: a sign-in, signup or refresh answer, and a profile save's
|
|
65
|
+
* answer, carry no flag.
|
|
66
|
+
*/
|
|
67
|
+
is_account_owner?: boolean;
|
|
61
68
|
created_at: number;
|
|
62
69
|
}
|
|
63
70
|
export interface SparkVaultAccount {
|
|
@@ -650,6 +657,10 @@ export interface FolderContentsResponse {
|
|
|
650
657
|
}
|
|
651
658
|
export interface UploadResult {
|
|
652
659
|
ingot_id: string;
|
|
660
|
+
/**
|
|
661
|
+
* The name the ingot is stored under: the server's numbered name under
|
|
662
|
+
* `new_name`, and for a replace the name it was sent, else the one it kept.
|
|
663
|
+
*/
|
|
653
664
|
name: string;
|
|
654
665
|
size_bytes: number;
|
|
655
666
|
storage_location: 's3';
|
|
@@ -668,13 +679,39 @@ export interface UploadResult {
|
|
|
668
679
|
* `retryLater` is set.
|
|
669
680
|
*/
|
|
670
681
|
status?: Ingot['status'];
|
|
682
|
+
/**
|
|
683
|
+
* The ingot's `content_version` (Forge's activation marker) as the strongly
|
|
684
|
+
* consistent read after the transfer found it, null when the server
|
|
685
|
+
* recorded none. It is this upload's publication or a later writer's that
|
|
686
|
+
* already replaced it, so it does not say which publication holds these
|
|
687
|
+
* bytes. A read-modify-write names this upload's own publication, its
|
|
688
|
+
* session's `uploadId` (`IngotUploadSession`), as the next replace's
|
|
689
|
+
* `expectedContentVersion`, so a save built on stale content is refused
|
|
690
|
+
* (412) instead of discarding another writer's changes.
|
|
691
|
+
*/
|
|
692
|
+
content_version: string | null;
|
|
671
693
|
}
|
|
694
|
+
/**
|
|
695
|
+
* An Ingot's durable sharing settings, as GET and PUT
|
|
696
|
+
* /vaults/:id/ingots/:ingot_id/sharing answer them (apps/api/src/ingots/sharing.js,
|
|
697
|
+
* `formatSharingConfig`; `ingots.test-d.ts` pins the field set).
|
|
698
|
+
*/
|
|
672
699
|
export interface IngotSharingConfig {
|
|
700
|
+
ingot_id: string;
|
|
701
|
+
vault_id: string;
|
|
702
|
+
/** Whether the vault shares files at all. */
|
|
703
|
+
sharing_enabled: boolean;
|
|
673
704
|
shared: boolean;
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
705
|
+
/** Null while the Ingot is not shared. */
|
|
706
|
+
visibility: 'invite_only' | 'authenticated' | 'public' | null;
|
|
707
|
+
/** The Ingot's durable files.sv link; null while it is not shared. */
|
|
708
|
+
public_url: string | null;
|
|
709
|
+
/** The code in `public_url`; null while the Ingot is not shared. */
|
|
710
|
+
link_code: string | null;
|
|
711
|
+
/** Whether the vault makes every Ingot public, which pins this one to Public. */
|
|
712
|
+
vault_all_ingots_public: boolean;
|
|
713
|
+
session_length_seconds: number;
|
|
714
|
+
invites: IngotInvite[];
|
|
678
715
|
}
|
|
679
716
|
export interface IngotInvite {
|
|
680
717
|
invite_id: string;
|
|
@@ -796,6 +833,16 @@ export interface IngotUploadSession extends TusSessionInfo {
|
|
|
796
833
|
ingotId: string;
|
|
797
834
|
/** Whether the upload minted the ingot (see `UploadResult.created`). */
|
|
798
835
|
created: boolean;
|
|
836
|
+
/**
|
|
837
|
+
* Forge's id for this upload (the session URL's last segment), which the
|
|
838
|
+
* server stamps as the ingot's `content_version` when the upload publishes.
|
|
839
|
+
* Forge acknowledges the final chunk only once the upload published, so an
|
|
840
|
+
* upload that succeeded published as this id. One that failed with its last
|
|
841
|
+
* answer lost may still have published, or publish later: the ingot's
|
|
842
|
+
* `content_version` reading this id says it did, and any other value proves
|
|
843
|
+
* nothing either way.
|
|
844
|
+
*/
|
|
845
|
+
uploadId: string;
|
|
799
846
|
}
|
|
800
847
|
/**
|
|
801
848
|
* Which transport a tus upload rides. `foreground` (the default) streams
|
package/package.json
CHANGED
package/src/account.ts
CHANGED
|
@@ -12,6 +12,34 @@ import type {
|
|
|
12
12
|
} from './types.js';
|
|
13
13
|
import { apiPath } from './request-path.js';
|
|
14
14
|
|
|
15
|
+
/**
|
|
16
|
+
* A subscription bought through the App Store or Google Play that still bills
|
|
17
|
+
* the account. SparkVault cannot cancel a store subscription: only its buyer
|
|
18
|
+
* can, in the store.
|
|
19
|
+
*/
|
|
20
|
+
export interface StoreSubscription {
|
|
21
|
+
/** `base`: the license; `addon`: a capacity add-on. */
|
|
22
|
+
kind: 'base' | 'addon';
|
|
23
|
+
channel: 'appstore' | 'play';
|
|
24
|
+
/** The store's id for it (App Store original transaction id, Google Play purchase token), when known. */
|
|
25
|
+
id: string | null;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/** What DELETE /account answers: the deletion has started and finishes in the background. */
|
|
29
|
+
export interface AccountDeletionStarted {
|
|
30
|
+
message: string;
|
|
31
|
+
account_id: string;
|
|
32
|
+
/** Unix seconds: when the deletion started. */
|
|
33
|
+
started_at: number;
|
|
34
|
+
/**
|
|
35
|
+
* The Stripe subscriptions this deletion ended, at once and with nothing
|
|
36
|
+
* refunded. Empty when the deletion was already in progress.
|
|
37
|
+
*/
|
|
38
|
+
stripe_subscriptions_cancelled: string[];
|
|
39
|
+
/** The store subscriptions that keep billing until their buyer cancels them in the store. */
|
|
40
|
+
store_subscriptions: StoreSubscription[];
|
|
41
|
+
}
|
|
42
|
+
|
|
15
43
|
/**
|
|
16
44
|
* First-party SparkVault Core session, profile, and account client. Exchanges a
|
|
17
45
|
* verified Identity token for an app session and owns the authenticated
|
|
@@ -120,6 +148,31 @@ export class MobileAccountClient {
|
|
|
120
148
|
return response.data;
|
|
121
149
|
}
|
|
122
150
|
|
|
151
|
+
/**
|
|
152
|
+
* Delete the account, permanently: the account owner only, from their own
|
|
153
|
+
* signed-in session. `confirmation` is the organization name exactly as it
|
|
154
|
+
* stands. Stripe subscriptions end at once with nothing refunded; store
|
|
155
|
+
* subscriptions keep billing until cancelled in the store, and the answer
|
|
156
|
+
* names each one. The account's sessions end with it, so the caller signs
|
|
157
|
+
* out locally once this resolves.
|
|
158
|
+
*/
|
|
159
|
+
async deleteAccount(confirmation: string): Promise<AccountDeletionStarted> {
|
|
160
|
+
const response = await this.http.delete<AccountDeletionStarted>(apiPath`/account`, {
|
|
161
|
+
body: { confirmation },
|
|
162
|
+
});
|
|
163
|
+
return response.data;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Delete the signed-in member's own user, permanently: any member but the
|
|
168
|
+
* account owner, who deletes the account instead. `confirmation` is the
|
|
169
|
+
* member's sign-in email. Their sessions end with it, so the caller signs
|
|
170
|
+
* out locally once this resolves.
|
|
171
|
+
*/
|
|
172
|
+
async deleteProfile(confirmation: string): Promise<void> {
|
|
173
|
+
await this.http.delete(apiPath`/profile`, { body: { confirmation } });
|
|
174
|
+
}
|
|
175
|
+
|
|
123
176
|
async revokeRefreshToken(refreshToken?: string): Promise<void> {
|
|
124
177
|
const token = refreshToken ?? await this.config.tokenStorage.getRefreshToken();
|
|
125
178
|
if (!token) return;
|
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
// Regenerate with: pnpm --filter @sparkvault/sdk-mobile build
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
* The upload publication contract between Forge and Core's activation
|
|
6
|
+
* The upload publication contract between Forge and Core's activation, and
|
|
7
|
+
* the facts of a transfer token both services spell: its shape, and Core's
|
|
8
|
+
* revocation of an upload's token.
|
|
7
9
|
*
|
|
8
10
|
* Forge stamps UPLOAD_PUBLICATION_PROTOCOL on every upload session it creates
|
|
9
11
|
* and on the final state it hands Core's activation (POST
|
|
@@ -32,6 +34,17 @@ export const UPLOAD_PUBLICATION_PROTOCOL = 2;
|
|
|
32
34
|
*/
|
|
33
35
|
export const UPLOAD_ID_PATTERN = /^tus_[0-9a-f]{32}$/;
|
|
34
36
|
|
|
37
|
+
/** The random bytes an ISTK, the bearer token of one Forge transfer, is spelled from. */
|
|
38
|
+
export const ISTK_BYTES = 32;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* An ISTK as Core mints one: the unpadded base64url of its ISTK_BYTES random
|
|
42
|
+
* bytes, 43 characters. Forge reads a presented token as a forge-transactions
|
|
43
|
+
* key only in this shape: the table keys other records too (an upload's token
|
|
44
|
+
* pointer, `UPLOAD_TOKEN#{upload_id}`), which no request may read as a token.
|
|
45
|
+
*/
|
|
46
|
+
export const ISTK_PATTERN = new RegExp(`^[A-Za-z0-9_-]{${Math.ceil((ISTK_BYTES * 4) / 3)}}$`);
|
|
47
|
+
|
|
35
48
|
/**
|
|
36
49
|
* How much of an ISTK names a transfer's charge on the usage ledger: enough to
|
|
37
50
|
* be unique to the token, never the whole bearer credential.
|
|
@@ -93,6 +106,55 @@ export const UPLOAD_FINAL_REFUSAL_CODES = Object.freeze([
|
|
|
93
106
|
UPLOAD_REFUSAL_CODES.UPLOAD_SUPERSEDED
|
|
94
107
|
]);
|
|
95
108
|
|
|
109
|
+
/**
|
|
110
|
+
* The words an upload a later staging of its ingot superseded is refused in
|
|
111
|
+
* (UPLOAD_SUPERSEDED), whichever service meets it: Core's activation, Core's
|
|
112
|
+
* mint of a token it revoked before issuing it, and Forge meeting a token Core
|
|
113
|
+
* revoked when the later staging superseded its upload.
|
|
114
|
+
*/
|
|
115
|
+
export const UPLOAD_SUPERSEDED_MESSAGE =
|
|
116
|
+
'A later upload replaced this one before it finished. The later upload is the one kept, so this one was discarded.';
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Core's revocation of an upload's encrypt token: the `status` it writes on
|
|
120
|
+
* the token's forge-transactions record, and the `revoked_reason` beside it,
|
|
121
|
+
* written by the write that ends the upload's staging. Each reason is the
|
|
122
|
+
* refusal every reader of the token answers the upload with from then on,
|
|
123
|
+
* as Core's activation refuses such an upload: Core's mint of a token it
|
|
124
|
+
* revoked before issuing it, and Forge on every request the token, or a
|
|
125
|
+
* session it opened, makes.
|
|
126
|
+
*
|
|
127
|
+
* - UPLOAD_SUPERSEDED: a later staging of its ingot superseded the upload
|
|
128
|
+
* (410 UPLOAD_SUPERSEDED, in UPLOAD_SUPERSEDED_MESSAGE's words), which no
|
|
129
|
+
* new upload remedies;
|
|
130
|
+
* - INGOT_DELETED: the ingot it was staged onto was deleted, by a delete or
|
|
131
|
+
* the cascade of its folder, vault or account (a 404 naming the ingot, as
|
|
132
|
+
* activation answers an upload whose ingot is gone), which ends the upload
|
|
133
|
+
* alone: a new upload can store the file again.
|
|
134
|
+
*/
|
|
135
|
+
export const UPLOAD_TOKEN_REVOCATION = Object.freeze({
|
|
136
|
+
status: 'revoked',
|
|
137
|
+
reasons: Object.freeze({
|
|
138
|
+
UPLOAD_SUPERSEDED: UPLOAD_REFUSAL_CODES.UPLOAD_SUPERSEDED,
|
|
139
|
+
INGOT_DELETED: 'INGOT_DELETED'
|
|
140
|
+
})
|
|
141
|
+
});
|
|
142
|
+
|
|
143
|
+
const REVOCATION_REASONS = Object.values(UPLOAD_TOKEN_REVOCATION.reasons);
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Why Core revoked the upload token a forge-transactions record is
|
|
147
|
+
* (UPLOAD_TOKEN_REVOCATION's reasons), or null for any other record, or none:
|
|
148
|
+
* the one reading Core's mint and every Forge read of a token apply.
|
|
149
|
+
*
|
|
150
|
+
* @param {Object|null|undefined} record - A forge-transactions record, or none
|
|
151
|
+
* @returns {string|null}
|
|
152
|
+
*/
|
|
153
|
+
export function uploadTokenRevocationReason(record) {
|
|
154
|
+
if (record?.status !== UPLOAD_TOKEN_REVOCATION.status) return null;
|
|
155
|
+
return REVOCATION_REASONS.includes(record.revoked_reason) ? record.revoked_reason : null;
|
|
156
|
+
}
|
|
157
|
+
|
|
96
158
|
/**
|
|
97
159
|
* The response header that names the code Core refused an upload with for
|
|
98
160
|
* good: Forge sends it on every terminal answer to a tus request, a HEAD's
|
package/src/http.ts
CHANGED
|
@@ -175,7 +175,7 @@ export class MobileHttpClient {
|
|
|
175
175
|
// normalize to SparkVaultNetworkError or consumers misclassify an offline
|
|
176
176
|
// failure as a generic (non-retryable) error.
|
|
177
177
|
if (err instanceof TypeError || (err instanceof Error && err.name === 'NetworkError')) {
|
|
178
|
-
return new SparkVaultNetworkError('
|
|
178
|
+
return new SparkVaultNetworkError("Couldn't reach SparkVault. Check your connection.");
|
|
179
179
|
}
|
|
180
180
|
|
|
181
181
|
return new SparkVaultMobileError(err instanceof Error ? err.message : 'Unknown request error');
|
package/src/index.ts
CHANGED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ingot sharing wire-contract assertions: COMPILE-TIME ONLY.
|
|
3
|
+
*
|
|
4
|
+
* `IngotSharingConfig` has no runtime: the client returns the response body as
|
|
5
|
+
* it arrives, so a unit test can never catch the type drifting from the server
|
|
6
|
+
* and every assertion would pass. `tsc --noEmit` (`pnpm typecheck`) is the gate
|
|
7
|
+
* instead. It is deliberately NOT a `*.test.ts`, which tsconfig excludes.
|
|
8
|
+
*
|
|
9
|
+
* Mirrored server source: apps/api/src/ingots/sharing.js (`formatSharingConfig`,
|
|
10
|
+
* the one shape GET and PUT /vaults/:id/ingots/:ingot_id/sharing answer). A
|
|
11
|
+
* field the server never sends reads as undefined wherever an app trusts it:
|
|
12
|
+
* a link section keyed on it never renders.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import type { IngotSharingConfig } from './types.js';
|
|
16
|
+
|
|
17
|
+
/** Fails to compile unless `T` resolves to exactly `true`. */
|
|
18
|
+
type Assert<T extends true> = T;
|
|
19
|
+
|
|
20
|
+
/** Invariant type equality: the SAME type, not merely mutually assignable. */
|
|
21
|
+
type Equals<A, B> = (<T>() => T extends A ? 1 : 2) extends <T>() => T extends B ? 1 : 2
|
|
22
|
+
? true
|
|
23
|
+
: false;
|
|
24
|
+
|
|
25
|
+
export type IngotsWireContract = [
|
|
26
|
+
// Exactly the fields formatSharingConfig builds, every one always present.
|
|
27
|
+
Assert<
|
|
28
|
+
Equals<
|
|
29
|
+
keyof IngotSharingConfig,
|
|
30
|
+
| 'ingot_id'
|
|
31
|
+
| 'vault_id'
|
|
32
|
+
| 'sharing_enabled'
|
|
33
|
+
| 'shared'
|
|
34
|
+
| 'visibility'
|
|
35
|
+
| 'public_url'
|
|
36
|
+
| 'link_code'
|
|
37
|
+
| 'vault_all_ingots_public'
|
|
38
|
+
| 'session_length_seconds'
|
|
39
|
+
| 'invites'
|
|
40
|
+
>
|
|
41
|
+
>,
|
|
42
|
+
// The durable link and its code are null while the Ingot is not shared.
|
|
43
|
+
Assert<Equals<IngotSharingConfig['public_url'], string | null>>,
|
|
44
|
+
Assert<Equals<IngotSharingConfig['link_code'], string | null>>,
|
|
45
|
+
Assert<Equals<IngotSharingConfig['visibility'], 'invite_only' | 'authenticated' | 'public' | null>>,
|
|
46
|
+
];
|
package/src/ingots.ts
CHANGED
|
@@ -122,8 +122,25 @@ export interface UploadFromUriOptions extends UploadOptions {
|
|
|
122
122
|
}
|
|
123
123
|
|
|
124
124
|
/** A replace addresses its ingot by id: no name is placed, so the create-only hooks do not apply. */
|
|
125
|
-
export interface ReplaceFromUriOptions extends Omit<UploadFromUriOptions, 'onNameConflict' | 'onIngotCreated'> {
|
|
125
|
+
export interface ReplaceFromUriOptions extends Omit<UploadFromUriOptions, 'name' | 'onNameConflict' | 'onIngotCreated'> {
|
|
126
126
|
ingotId: string;
|
|
127
|
+
/**
|
|
128
|
+
* A new name for the ingot, stored in the same request as the content.
|
|
129
|
+
* Omitted, the server keeps the name the ingot holds: a replace that sent
|
|
130
|
+
* back a name it read earlier would undo a rename made since. The result's
|
|
131
|
+
* `name` is the name the ingot is stored under either way.
|
|
132
|
+
*/
|
|
133
|
+
name?: string;
|
|
134
|
+
/**
|
|
135
|
+
* For a read-modify-write: the `content_version` of the content the
|
|
136
|
+
* replacement was built from, or null when that content carried none. The
|
|
137
|
+
* server refuses the replace with a 412 once that content has been replaced,
|
|
138
|
+
* or while another replacement of the ingot is in flight: on the PUT
|
|
139
|
+
* (`SparkVaultMobileError`) or on the upload's final PATCH
|
|
140
|
+
* (`TusUploadError`), both with `statusCode` 412. Omitted, the replace
|
|
141
|
+
* carries no precondition and overwrites whatever is stored.
|
|
142
|
+
*/
|
|
143
|
+
expectedContentVersion?: string | null;
|
|
127
144
|
}
|
|
128
145
|
|
|
129
146
|
export interface ResumeUploadOptions {
|
|
@@ -303,6 +320,24 @@ function toTypedCreateError(err: unknown): unknown {
|
|
|
303
320
|
});
|
|
304
321
|
}
|
|
305
322
|
|
|
323
|
+
/**
|
|
324
|
+
* The `content_version` the read after an upload found on its ingot: this
|
|
325
|
+
* upload's publication or a later writer's (see `UploadResult.content_version`),
|
|
326
|
+
* null when the server recorded none. That read is `verifyIngotActive`'s,
|
|
327
|
+
* which returns only an active ingot, so every upload that resolves reports it.
|
|
328
|
+
*/
|
|
329
|
+
function publicationOf(ingot: Ingot): Pick<UploadResult, 'content_version'> {
|
|
330
|
+
return { content_version: ingot.content_version ?? null };
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
/**
|
|
334
|
+
* Forge's id for an upload: the last segment of its session URL, where
|
|
335
|
+
* resolveForgeSessionUrl placed the session Forge's create answered with.
|
|
336
|
+
*/
|
|
337
|
+
function uploadIdOf(uploadUrl: string): string {
|
|
338
|
+
return uploadUrl.slice(uploadUrl.lastIndexOf('/') + 1);
|
|
339
|
+
}
|
|
340
|
+
|
|
306
341
|
export class MobileIngotsClient {
|
|
307
342
|
// Server-side finalization (encryption) of a just-uploaded ingot runs
|
|
308
343
|
// asynchronously and scales with file size, so a large video can sit in
|
|
@@ -355,7 +390,8 @@ export class MobileIngotsClient {
|
|
|
355
390
|
fileSize: options.fileSize,
|
|
356
391
|
filename: name,
|
|
357
392
|
forgeUrl: init.forgeUrl,
|
|
358
|
-
onSessionCreated: session =>
|
|
393
|
+
onSessionCreated: session =>
|
|
394
|
+
options.onSessionCreated?.({ ...session, ingotId: init.ingotId, created, uploadId: uploadIdOf(session.uploadUrl) }),
|
|
359
395
|
onSessionExpiry: options.onSessionExpiry,
|
|
360
396
|
transport: options.transport,
|
|
361
397
|
transferPolicy: options.transferPolicy,
|
|
@@ -380,6 +416,7 @@ export class MobileIngotsClient {
|
|
|
380
416
|
// only other outcome, and it always says so).
|
|
381
417
|
created,
|
|
382
418
|
status: ingot.status,
|
|
419
|
+
...publicationOf(ingot),
|
|
383
420
|
};
|
|
384
421
|
}
|
|
385
422
|
|
|
@@ -430,6 +467,7 @@ export class MobileIngotsClient {
|
|
|
430
467
|
storage_location: 's3',
|
|
431
468
|
created: false,
|
|
432
469
|
status: ingot.status,
|
|
470
|
+
...publicationOf(ingot),
|
|
433
471
|
};
|
|
434
472
|
}
|
|
435
473
|
|
|
@@ -503,7 +541,7 @@ export class MobileIngotsClient {
|
|
|
503
541
|
}
|
|
504
542
|
|
|
505
543
|
async replaceFromUri(options: ReplaceFromUriOptions): Promise<UploadResult> {
|
|
506
|
-
const { vaultId, ingotId, vat,
|
|
544
|
+
const { vaultId, ingotId, vat, contentType, fileUri, fileSize, onProgress, abortSignal, debug } = options;
|
|
507
545
|
validateVaultId(vaultId);
|
|
508
546
|
validateIngotId(ingotId);
|
|
509
547
|
|
|
@@ -514,15 +552,24 @@ export class MobileIngotsClient {
|
|
|
514
552
|
const response = await this.http.put<IngotUploadInitResponse>(
|
|
515
553
|
apiPath`/vaults/${vaultId}/ingots/${ingotId}`,
|
|
516
554
|
{
|
|
517
|
-
name
|
|
555
|
+
// Omitted, the server keeps the stored name.
|
|
556
|
+
...(options.name !== undefined && { name: options.name }),
|
|
518
557
|
content_type: contentType,
|
|
519
558
|
size_bytes: fileSize,
|
|
520
559
|
...(options.contentHmac && { content_hmac: options.contentHmac }),
|
|
560
|
+
// Null is a precondition too (the edited content carried no version);
|
|
561
|
+
// only an omitted one leaves the replace unconditioned.
|
|
562
|
+
...(options.expectedContentVersion !== undefined && {
|
|
563
|
+
expected_content_version: options.expectedContentVersion,
|
|
564
|
+
}),
|
|
521
565
|
},
|
|
522
566
|
{ vat }
|
|
523
567
|
);
|
|
524
568
|
|
|
525
|
-
|
|
569
|
+
// The name the ingot is stored under after the PUT: the server answers
|
|
570
|
+
// it, and it is what the transfer's errors and log lines name.
|
|
571
|
+
const name = response.data.name ?? options.name;
|
|
572
|
+
if (!response.data.ingot_id || !response.data.forge_url || !name) {
|
|
526
573
|
throw new SparkVaultMobileError('Server returned invalid response for ingot replacement');
|
|
527
574
|
}
|
|
528
575
|
|
|
@@ -532,7 +579,8 @@ export class MobileIngotsClient {
|
|
|
532
579
|
filename: name,
|
|
533
580
|
forgeUrl: response.data.forge_url,
|
|
534
581
|
// A replace never mints an ingot: the row is the caller's existing one.
|
|
535
|
-
onSessionCreated: session =>
|
|
582
|
+
onSessionCreated: session =>
|
|
583
|
+
options.onSessionCreated?.({ ...session, ingotId, created: false, uploadId: uploadIdOf(session.uploadUrl) }),
|
|
536
584
|
onSessionExpiry: options.onSessionExpiry,
|
|
537
585
|
transport: options.transport,
|
|
538
586
|
transferPolicy: options.transferPolicy,
|
|
@@ -556,6 +604,7 @@ export class MobileIngotsClient {
|
|
|
556
604
|
// A replace never mints an ingot: the row is the caller's existing one.
|
|
557
605
|
created: false,
|
|
558
606
|
status: ingot.status,
|
|
607
|
+
...publicationOf(ingot),
|
|
559
608
|
};
|
|
560
609
|
}
|
|
561
610
|
|
|
@@ -903,6 +952,14 @@ export class MobileIngotsClient {
|
|
|
903
952
|
* received, publication is unconfirmed), so the caller resumes the session
|
|
904
953
|
* it persisted later, which asks Forge for the receipt again and sends no
|
|
905
954
|
* bytes, rather than recording a backup the vault may not hold.
|
|
955
|
+
*
|
|
956
|
+
* Every read is strongly consistent: an eventually consistent read can
|
|
957
|
+
* still serve the row as it stood before this upload published, and a
|
|
958
|
+
* replaced row reads `active` throughout, so that stale image would pass
|
|
959
|
+
* the status check and report a `content_version` older than this
|
|
960
|
+
* upload's. A consistent read reports the version at the read, which a
|
|
961
|
+
* later writer's publication can already have replaced: the upload's own
|
|
962
|
+
* publication is its session's `uploadId`.
|
|
906
963
|
*/
|
|
907
964
|
private async verifyIngotActive(
|
|
908
965
|
ingotRef: { vaultId: string; ingotId: string; vat: string },
|
|
@@ -912,7 +969,7 @@ export class MobileIngotsClient {
|
|
|
912
969
|
const { vaultId, ingotId, vat } = ingotRef;
|
|
913
970
|
const deadline = Date.now() + MobileIngotsClient.INGOT_STATUS_POLL_BUDGET_MS;
|
|
914
971
|
let delay = MobileIngotsClient.INGOT_STATUS_POLL_INITIAL_MS;
|
|
915
|
-
let ingot = await this.get(vaultId, ingotId, vat);
|
|
972
|
+
let ingot = await this.get(vaultId, ingotId, vat, { consistent: true });
|
|
916
973
|
|
|
917
974
|
while (ingot.status !== 'active') {
|
|
918
975
|
const remaining = deadline - Date.now();
|
|
@@ -929,7 +986,7 @@ export class MobileIngotsClient {
|
|
|
929
986
|
|
|
930
987
|
await new Promise(resolve => setTimeout(resolve, Math.min(delay, remaining)));
|
|
931
988
|
delay = Math.min(delay * 2, MobileIngotsClient.INGOT_STATUS_POLL_MAX_MS);
|
|
932
|
-
ingot = await this.get(vaultId, ingotId, vat);
|
|
989
|
+
ingot = await this.get(vaultId, ingotId, vat, { consistent: true });
|
|
933
990
|
}
|
|
934
991
|
|
|
935
992
|
return ingot;
|