mirror of
https://github.com/kmc7468/arkvault.git
synced 2025-12-16 06:58:46 +00:00
파일 업로드에 성공한 경우 캐시에도 파일을 저장하도록 개선
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import { callGetApi, callPostApi } from "$lib/hooks";
|
||||
import { storeHmacSecrets } from "$lib/indexedDB";
|
||||
import { generateDataKey, wrapDataKey, unwrapHmacSecret, encryptString } from "$lib/modules/crypto";
|
||||
import { deleteFileCache, uploadFile } from "$lib/modules/file";
|
||||
import { storeFileCache, deleteFileCache, uploadFile } from "$lib/modules/file";
|
||||
import type {
|
||||
DirectoryRenameRequest,
|
||||
DirectoryCreateRequest,
|
||||
@@ -63,7 +63,11 @@ export const requestFileUpload = async (
|
||||
masterKey: MasterKey,
|
||||
onDuplicate: () => Promise<boolean>,
|
||||
) => {
|
||||
return await uploadFile(file, parentId, hmacSecret, masterKey, onDuplicate);
|
||||
const res = await uploadFile(file, parentId, hmacSecret, masterKey, onDuplicate);
|
||||
if (!res) return false;
|
||||
|
||||
storeFileCache(res.fileId, res.fileBuffer); // Intended
|
||||
return true;
|
||||
};
|
||||
|
||||
export const requestDirectoryEntryRename = async (
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
import Busboy from "@fastify/busboy";
|
||||
import { error, text } from "@sveltejs/kit";
|
||||
import { error, json } from "@sveltejs/kit";
|
||||
import { Readable, Writable } from "stream";
|
||||
import { authorize } from "$lib/server/modules/auth";
|
||||
import { fileUploadRequest } from "$lib/server/schemas";
|
||||
import {
|
||||
fileUploadRequest,
|
||||
fileUploadResponse,
|
||||
type FileUploadResponse,
|
||||
} from "$lib/server/schemas";
|
||||
import { uploadFile } from "$lib/server/services/file";
|
||||
import type { RequestHandler } from "./$types";
|
||||
|
||||
@@ -87,8 +91,8 @@ export const POST: RequestHandler = async ({ locals, request }) => {
|
||||
if (!metadata || content) error(400, "Invalid request body");
|
||||
content = file;
|
||||
|
||||
await uploadFile(metadata, content, checksum);
|
||||
resolve(text("File uploaded", { headers: { "Content-Type": "text/plain" } }));
|
||||
const { fileId } = await uploadFile(metadata, content, checksum);
|
||||
resolve(json(fileUploadResponse.parse({ file: fileId } satisfies FileUploadResponse)));
|
||||
}),
|
||||
);
|
||||
bb.on("finish", () => rejectChecksum(new Error("Invalid request body")));
|
||||
|
||||
Reference in New Issue
Block a user