@tharris5141/asset-sdk 1.0.2 → 1.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/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -9
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export declare const getAssetUrl: (assetId?: string | null) => Promise<string |
|
|
|
2
2
|
export declare const useAssetUrl: (assetId?: string | null) => string | null;
|
|
3
3
|
export interface UploadAssetOptions {
|
|
4
4
|
purpose: string;
|
|
5
|
-
tenantId
|
|
5
|
+
tenantId?: string | null;
|
|
6
6
|
accessToken?: string;
|
|
7
7
|
onProgress?: (percent: number) => void;
|
|
8
8
|
}
|
|
@@ -14,5 +14,5 @@ export declare const uploadAsset: (file: File | Blob | {
|
|
|
14
14
|
assetId: string;
|
|
15
15
|
url: string;
|
|
16
16
|
} | null>;
|
|
17
|
-
export declare const deleteAsset: (assetId: string) => Promise<boolean>;
|
|
17
|
+
export declare const deleteAsset: (assetId: string, accessToken?: string) => Promise<boolean>;
|
|
18
18
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,WAAW,GAAU,UAAU,MAAM,GAAG,IAAI,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAkBhF,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,UAAU,MAAM,GAAG,IAAI,KAAG,MAAM,GAAG,IAM9D,CAAA;AAMD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACvC;AAED,eAAO,MAAM,WAAW,GACtB,MAAM,IAAI,GAAG,IAAI,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EAChE,SAAS,kBAAkB,KAC1B,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAoEjD,CAAA;AAKD,eAAO,MAAM,WAAW,GAAU,SAAS,MAAM,EAAE,cAAc,MAAM,KAAG,OAAO,CAAC,OAAO,CAexF,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -34,7 +34,6 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.deleteAsset = exports.uploadAsset = exports.useAssetUrl = exports.getAssetUrl = void 0;
|
|
37
|
-
// packages/sdk/src/index.ts
|
|
38
37
|
const React = __importStar(require("react"));
|
|
39
38
|
const getBaseUrl = () => {
|
|
40
39
|
// @ts-ignore – Expo injects EXPO_PUBLIC_* at build time
|
|
@@ -77,14 +76,15 @@ const useAssetUrl = (assetId) => {
|
|
|
77
76
|
};
|
|
78
77
|
exports.useAssetUrl = useAssetUrl;
|
|
79
78
|
const uploadAsset = async (file, options) => {
|
|
80
|
-
const { purpose, tenantId, onProgress, accessToken } = options;
|
|
79
|
+
const { purpose, tenantId, onProgress, accessToken } = options;
|
|
81
80
|
const filename = 'name' in file ? file.name : 'upload';
|
|
82
81
|
const mimeType = file.type || 'application/octet-stream';
|
|
83
82
|
const headers = { 'Content-Type': 'application/json' };
|
|
84
83
|
if (accessToken) {
|
|
85
|
-
headers['Authorization'] = `Bearer ${accessToken}`;
|
|
84
|
+
headers['Authorization'] = `Bearer ${accessToken}`;
|
|
86
85
|
}
|
|
87
86
|
// 1. Get signed upload URL from server
|
|
87
|
+
// The server logic now handles 'user' vs 'tenant' based on 'purpose'
|
|
88
88
|
const uploadRes = await fetch(`${getBaseUrl()}/assets/upload`, {
|
|
89
89
|
method: 'POST',
|
|
90
90
|
headers: headers,
|
|
@@ -92,15 +92,16 @@ const uploadAsset = async (file, options) => {
|
|
|
92
92
|
filename,
|
|
93
93
|
mime_type: mimeType,
|
|
94
94
|
purpose,
|
|
95
|
-
tenant_id: tenantId,
|
|
95
|
+
tenant_id: tenantId || null, // 👈 Pass null if not provided
|
|
96
96
|
}),
|
|
97
97
|
});
|
|
98
98
|
if (!uploadRes.ok) {
|
|
99
|
-
|
|
99
|
+
const errorData = await uploadRes.json().catch(() => ({}));
|
|
100
|
+
console.error('[@summit/asset-sdk] Failed to get upload URL:', errorData.error || uploadRes.statusText);
|
|
100
101
|
return null;
|
|
101
102
|
}
|
|
102
103
|
const { asset_id, upload_url } = await uploadRes.json();
|
|
103
|
-
// 2. Upload directly to Supabase
|
|
104
|
+
// 2. Upload directly to Supabase Storage via XHR (for progress tracking)
|
|
104
105
|
return new Promise((resolve) => {
|
|
105
106
|
const xhr = new XMLHttpRequest();
|
|
106
107
|
xhr.upload.onprogress = (e) => {
|
|
@@ -114,23 +115,39 @@ const uploadAsset = async (file, options) => {
|
|
|
114
115
|
resolve({ assetId: asset_id, url: url });
|
|
115
116
|
}
|
|
116
117
|
else {
|
|
118
|
+
console.error('[@summit/asset-sdk] Binary upload failed', xhr.statusText);
|
|
117
119
|
resolve(null);
|
|
118
120
|
}
|
|
119
121
|
};
|
|
120
|
-
xhr.onerror = () =>
|
|
122
|
+
xhr.onerror = () => {
|
|
123
|
+
console.error('[@summit/asset-sdk] XHR error during binary upload');
|
|
124
|
+
resolve(null);
|
|
125
|
+
};
|
|
121
126
|
xhr.open('PUT', upload_url);
|
|
122
127
|
xhr.setRequestHeader('Content-Type', mimeType);
|
|
123
|
-
|
|
128
|
+
// For React Native / Expo compatibility
|
|
129
|
+
if ('uri' in file) {
|
|
130
|
+
// @ts-ignore
|
|
131
|
+
xhr.send(file);
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
xhr.send(file);
|
|
135
|
+
}
|
|
124
136
|
});
|
|
125
137
|
};
|
|
126
138
|
exports.uploadAsset = uploadAsset;
|
|
127
139
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
128
140
|
// DELETE ASSET
|
|
129
141
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
130
|
-
const deleteAsset = async (assetId) => {
|
|
142
|
+
const deleteAsset = async (assetId, accessToken) => {
|
|
131
143
|
try {
|
|
144
|
+
const headers = {};
|
|
145
|
+
if (accessToken) {
|
|
146
|
+
headers['Authorization'] = `Bearer ${accessToken}`;
|
|
147
|
+
}
|
|
132
148
|
const res = await fetch(`${getBaseUrl()}/assets/${assetId}`, {
|
|
133
149
|
method: 'DELETE',
|
|
150
|
+
headers
|
|
134
151
|
});
|
|
135
152
|
return res.ok;
|
|
136
153
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tharris5141/asset-sdk",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"files": [
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"scripts": {
|
|
10
10
|
"build": "tsc"
|
|
11
11
|
},
|
|
12
|
-
"peerDependencies": {
|
|
12
|
+
"peerDependencies": {
|
|
13
13
|
"react": ">=16.8.0"
|
|
14
14
|
},
|
|
15
15
|
"devDependencies": {
|
|
@@ -17,4 +17,4 @@
|
|
|
17
17
|
"@types/react": "^18.3.27",
|
|
18
18
|
"typescript": "^5.5.4"
|
|
19
19
|
}
|
|
20
|
-
}
|
|
20
|
+
}
|