mirror of
https://github.com/kmc7468/arkvault.git
synced 2026-02-04 08:06:56 +00:00
로그인할 때마다 다른 디바이스에서 삭제된 파일을 스캔하여 현재 디바이스에서도 삭제하도록 구현
This commit is contained in:
@@ -341,6 +341,11 @@ export const getAllFilesByCategory = async (
|
||||
return files.map(({ file_id, depth }) => ({ id: file_id, isRecursive: depth > 0 }));
|
||||
};
|
||||
|
||||
export const getAllFileIds = async (userId: number) => {
|
||||
const files = await db.selectFrom("file").select("id").where("user_id", "=", userId).execute();
|
||||
return files.map(({ id }) => id);
|
||||
};
|
||||
|
||||
export const getAllFileIdsByContentHmac = async (
|
||||
userId: number,
|
||||
hskVersion: number,
|
||||
|
||||
@@ -42,6 +42,11 @@ export const fileThumbnailUploadRequest = z.object({
|
||||
});
|
||||
export type FileThumbnailUploadRequest = z.input<typeof fileThumbnailUploadRequest>;
|
||||
|
||||
export const fileListResponse = z.object({
|
||||
files: z.number().int().positive().array(),
|
||||
});
|
||||
export type FileListResponse = z.output<typeof fileListResponse>;
|
||||
|
||||
export const duplicateFileScanRequest = z.object({
|
||||
hskVersion: z.number().int().positive(),
|
||||
contentHmac: z.string().base64().nonempty(),
|
||||
|
||||
@@ -9,6 +9,7 @@ import { v4 as uuidv4 } from "uuid";
|
||||
import { IntegrityError } from "$lib/server/db/error";
|
||||
import {
|
||||
registerFile,
|
||||
getAllFileIds,
|
||||
getAllFileIdsByContentHmac,
|
||||
getFile,
|
||||
setFileEncName,
|
||||
@@ -148,6 +149,11 @@ export const uploadFileThumbnail = async (
|
||||
}
|
||||
};
|
||||
|
||||
export const getFileList = async (userId: number) => {
|
||||
const fileIds = await getAllFileIds(userId);
|
||||
return { files: fileIds };
|
||||
};
|
||||
|
||||
export const scanDuplicateFiles = async (
|
||||
userId: number,
|
||||
hskVersion: number,
|
||||
|
||||
Reference in New Issue
Block a user