diff --git a/frontend/src/stores/upload.ts b/frontend/src/stores/upload.ts index ee96ff9..459dd94 100644 --- a/frontend/src/stores/upload.ts +++ b/frontend/src/stores/upload.ts @@ -44,11 +44,6 @@ const UPLOAD_UPLOADING_ENTRY: UploadQueueEntry = { message: UPLOAD_UPLOADING_MESSAGE }; -const UPLOAD_UPLOADED_ENTRY: UploadQueueEntry = { - status: 'uploaded', - message: UPLOAD_UPLOADED_MESSAGE -}; - const UPLOAD_FAILED_ENTRY: UploadQueueEntry = { status: 'failed', message: UPLOAD_FAILED_MESSAGE @@ -177,11 +172,18 @@ export const useUploadStore = defineStore('upload', () => { setUploadEntry(key, UPLOAD_UPLOADING_ENTRY); try { - const { request } = prepared; + const { request, fragmentKey } = prepared; - await uploadZk(request, altcha); + const result = await uploadZk(request, altcha); - setUploadEntry(key, UPLOAD_UPLOADED_ENTRY); + setUploadEntry(key, { + status: 'uploaded', + message: UPLOAD_UPLOADED_MESSAGE, + uploadId: result.id, + mode: 'zk', + deleteToken: result.deleteToken, + urlSecret: fragmentKey + }); } catch (error) { console.error('[upload] upload failed', { file: file.name, error }); @@ -203,11 +205,18 @@ export const useUploadStore = defineStore('upload', () => { setUploadEntry(key, UPLOAD_UPLOADING_ENTRY); try { - const { request } = prepared; + const { request, secret } = prepared; - await uploadHotlink(request, altcha); + const result = await uploadHotlink(request, altcha); - setUploadEntry(key, UPLOAD_UPLOADED_ENTRY); + setUploadEntry(key, { + status: 'uploaded', + message: UPLOAD_UPLOADED_MESSAGE, + uploadId: result.id, + mode: 'hotlink', + deleteToken: result.deleteToken, + urlSecret: secret + }); } catch (error) { console.error('[upload] upload failed', { file: file.name, error }); diff --git a/frontend/src/types/upload/UploadQueueEntry.ts b/frontend/src/types/upload/UploadQueueEntry.ts index 699dab9..d56923f 100644 --- a/frontend/src/types/upload/UploadQueueEntry.ts +++ b/frontend/src/types/upload/UploadQueueEntry.ts @@ -1,8 +1,17 @@ +import type { UploadMode } from '@/types/upload/UploadMode'; + export type UploadQueueEntry = | { status: 'idle'; message: string } | { status: 'queued'; message: string } | { status: 'preparing'; message: string } | { status: 'uploading'; message: string } - | { status: 'uploaded'; message: string } + | { + status: 'uploaded'; + message: string; + uploadId: string; + deleteToken: string; + urlSecret: string; + mode: UploadMode; + } | { status: 'failed'; message: string } | { status: 'skipped'; message: string };