사소한 리팩토링

This commit is contained in:
static
2026-01-12 20:50:19 +09:00
parent 00b9858db7
commit a4912c8952
21 changed files with 132 additions and 180 deletions

View File

@@ -42,18 +42,25 @@ export const clearMigrationStates = () => {
};
const requestFileUpload = limitFunction(
async (state: MigrationState, fileId: number, fileBuffer: ArrayBuffer, dataKey: CryptoKey) => {
async (
state: MigrationState,
fileId: number,
fileBuffer: ArrayBuffer,
dataKey: CryptoKey,
dataKeyVersion: Date,
) => {
state.status = "uploading";
const { uploadId } = await trpc().upload.startMigrationUpload.mutate({
file: fileId,
chunks: Math.ceil(fileBuffer.byteLength / CHUNK_SIZE),
dekVersion: dataKeyVersion,
});
await uploadBlob(uploadId, new Blob([fileBuffer]), dataKey, {
onProgress(s) {
state.progress = s.progress;
state.rate = s.rateBps;
state.rate = s.rate;
},
});
@@ -76,7 +83,7 @@ export const requestFileMigration = async (fileInfo: FileInfo) => {
}
try {
const dataKey = fileInfo.dataKey?.key;
const dataKey = fileInfo.dataKey;
if (!dataKey) {
throw new Error("Data key not available");
}
@@ -86,10 +93,10 @@ export const requestFileMigration = async (fileInfo: FileInfo) => {
await scheduler.schedule(
async () => {
state.status = "downloading";
fileBuffer = await requestFileDownload(fileInfo.id, dataKey, true);
fileBuffer = await requestFileDownload(fileInfo.id, dataKey.key, true);
return fileBuffer.byteLength;
},
() => requestFileUpload(state, fileInfo.id, fileBuffer!, dataKey),
() => requestFileUpload(state, fileInfo.id, fileBuffer!, dataKey.key, dataKey.version),
);
} catch (e) {
state.status = "error";

View File

@@ -3,7 +3,6 @@
queued: "대기 중",
"generation-pending": "준비 중",
generating: "생성하는 중",
"upload-pending": "업로드를 기다리는 중",
uploading: "업로드하는 중",
error: "실패",
} as const;

View File

@@ -10,7 +10,6 @@ export type GenerationStatus =
| "queued"
| "generation-pending"
| "generating"
| "upload-pending"
| "uploading"
| "uploaded"
| "error";
@@ -39,6 +38,8 @@ const requestThumbnailUpload = limitFunction(
);
if (!thumbnail) return false;
statuses.set(fileInfo.id, "uploading");
const res = await requestFileThumbnailUpload(
fileInfo.id,
thumbnail,