Files UI complete with search, sharing via symlink.

This commit is contained in:
Bruno Bernardino
2024-04-04 17:55:47 +01:00
parent bd4be8dbec
commit aee720fbc4
16 changed files with 316 additions and 589 deletions

View File

@@ -1,7 +1,7 @@
import { Handlers } from 'fresh/server.ts';
import { DirectoryFile, FreshContextState } from '/lib/types.ts';
import { getDirectoryAccess, getFileAccess, getFiles, renameDirectoryOrFile } from '/lib/data/files.ts';
import { getFiles, renameDirectoryOrFile } from '/lib/data/files.ts';
interface Data {}
@@ -33,35 +33,10 @@ export const handler: Handlers<Data, FreshContextState> = {
return new Response('Bad Request', { status: 400 });
}
let { hasWriteAccess: hasOldWriteAccess, ownerUserId, ownerParentPath: oldOwnerParentPath } = await getFileAccess(
const movedFile = await renameDirectoryOrFile(
context.state.user.id,
requestBody.oldParentPath,
requestBody.name.trim(),
);
if (!hasOldWriteAccess) {
const directoryAccessResult = await getDirectoryAccess(context.state.user.id, requestBody.oldParentPath);
hasOldWriteAccess = directoryAccessResult.hasWriteAccess;
ownerUserId = directoryAccessResult.ownerUserId;
oldOwnerParentPath = directoryAccessResult.ownerParentPath;
return new Response('Forbidden', { status: 403 });
}
const { hasWriteAccess: hasNewWriteAccess, ownerParentPath: newOwnerParentPath } = await getDirectoryAccess(
context.state.user.id,
requestBody.newParentPath,
);
if (!hasNewWriteAccess) {
return new Response('Forbidden', { status: 403 });
}
const movedFile = await renameDirectoryOrFile(
ownerUserId,
oldOwnerParentPath,
newOwnerParentPath,
requestBody.name.trim(),
requestBody.name.trim(),
);