Refactor data handlers + misc fixes
This refactors the data handlers into a more standard/understood model-like architecture, to prepare for a new, more robust config system. It also fixes a problem with creating new Notes and uploading new Photos via the web interface (related to #58). Finally, it speeds up docker builds by sending in less files, which aren't necessary or will be built anyway. This is all in preparation to allow building #13 more robustly.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import { Handlers } from 'fresh/server.ts';
|
||||
|
||||
import { Directory, FreshContextState } from '/lib/types.ts';
|
||||
import { createDirectory, getDirectories } from '/lib/data/files.ts';
|
||||
import { DirectoryModel } from '/lib/models/files.ts';
|
||||
|
||||
interface Data {}
|
||||
|
||||
@@ -30,13 +30,13 @@ export const handler: Handlers<Data, FreshContextState> = {
|
||||
return new Response('Bad Request', { status: 400 });
|
||||
}
|
||||
|
||||
const createdDirectory = await createDirectory(
|
||||
const createdDirectory = await DirectoryModel.create(
|
||||
context.state.user.id,
|
||||
requestBody.parentPath,
|
||||
requestBody.name.trim(),
|
||||
);
|
||||
|
||||
const newDirectories = await getDirectories(context.state.user.id, requestBody.parentPath);
|
||||
const newDirectories = await DirectoryModel.list(context.state.user.id, requestBody.parentPath);
|
||||
|
||||
const responseBody: ResponseBody = { success: createdDirectory, newDirectories };
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Handlers } from 'fresh/server.ts';
|
||||
|
||||
import { Directory, FreshContextState } from '/lib/types.ts';
|
||||
import { deleteDirectoryOrFile, getDirectories } from '/lib/data/files.ts';
|
||||
import { DirectoryModel } from '/lib/models/files.ts';
|
||||
|
||||
interface Data {}
|
||||
|
||||
@@ -30,13 +30,13 @@ export const handler: Handlers<Data, FreshContextState> = {
|
||||
return new Response('Bad Request', { status: 400 });
|
||||
}
|
||||
|
||||
const deletedDirectory = await deleteDirectoryOrFile(
|
||||
const deletedDirectory = await DirectoryModel.delete(
|
||||
context.state.user.id,
|
||||
requestBody.parentPath,
|
||||
requestBody.name.trim(),
|
||||
);
|
||||
|
||||
const newDirectories = await getDirectories(context.state.user.id, requestBody.parentPath);
|
||||
const newDirectories = await DirectoryModel.list(context.state.user.id, requestBody.parentPath);
|
||||
|
||||
const responseBody: ResponseBody = { success: deletedDirectory, newDirectories };
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Handlers } from 'fresh/server.ts';
|
||||
|
||||
import { DirectoryFile, FreshContextState } from '/lib/types.ts';
|
||||
import { deleteDirectoryOrFile, getFiles } from '/lib/data/files.ts';
|
||||
import { FileModel } from '/lib/models/files.ts';
|
||||
|
||||
interface Data {}
|
||||
|
||||
@@ -30,13 +30,13 @@ export const handler: Handlers<Data, FreshContextState> = {
|
||||
return new Response('Bad Request', { status: 400 });
|
||||
}
|
||||
|
||||
const deletedFile = await deleteDirectoryOrFile(
|
||||
const deletedFile = await FileModel.delete(
|
||||
context.state.user.id,
|
||||
requestBody.parentPath,
|
||||
requestBody.name.trim(),
|
||||
);
|
||||
|
||||
const newFiles = await getFiles(context.state.user.id, requestBody.parentPath);
|
||||
const newFiles = await FileModel.list(context.state.user.id, requestBody.parentPath);
|
||||
|
||||
const responseBody: ResponseBody = { success: deletedFile, newFiles };
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Handlers } from 'fresh/server.ts';
|
||||
|
||||
import { Directory, FreshContextState } from '/lib/types.ts';
|
||||
import { getDirectories } from '/lib/data/files.ts';
|
||||
import { DirectoryModel } from '/lib/models/files.ts';
|
||||
|
||||
interface Data {}
|
||||
|
||||
@@ -29,7 +29,7 @@ export const handler: Handlers<Data, FreshContextState> = {
|
||||
return new Response('Bad Request', { status: 400 });
|
||||
}
|
||||
|
||||
const directories = await getDirectories(
|
||||
const directories = await DirectoryModel.list(
|
||||
context.state.user.id,
|
||||
requestBody.parentPath,
|
||||
);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Handlers } from 'fresh/server.ts';
|
||||
|
||||
import { DirectoryFile, FreshContextState } from '/lib/types.ts';
|
||||
import { getFiles } from '/lib/data/files.ts';
|
||||
import { FileModel } from '/lib/models/files.ts';
|
||||
|
||||
interface Data {}
|
||||
|
||||
@@ -28,7 +28,7 @@ export const handler: Handlers<Data, FreshContextState> = {
|
||||
return new Response('Bad Request', { status: 400 });
|
||||
}
|
||||
|
||||
const files = await getFiles(
|
||||
const files = await FileModel.list(
|
||||
context.state.user.id,
|
||||
requestBody.parentPath,
|
||||
);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Handlers } from 'fresh/server.ts';
|
||||
|
||||
import { Directory, FreshContextState } from '/lib/types.ts';
|
||||
import { getDirectories, renameDirectoryOrFile } from '/lib/data/files.ts';
|
||||
import { DirectoryModel } from '/lib/models/files.ts';
|
||||
|
||||
interface Data {}
|
||||
|
||||
@@ -33,7 +33,7 @@ export const handler: Handlers<Data, FreshContextState> = {
|
||||
return new Response('Bad Request', { status: 400 });
|
||||
}
|
||||
|
||||
const movedDirectory = await renameDirectoryOrFile(
|
||||
const movedDirectory = await DirectoryModel.rename(
|
||||
context.state.user.id,
|
||||
requestBody.oldParentPath,
|
||||
requestBody.newParentPath,
|
||||
@@ -41,7 +41,7 @@ export const handler: Handlers<Data, FreshContextState> = {
|
||||
requestBody.name.trim(),
|
||||
);
|
||||
|
||||
const newDirectories = await getDirectories(context.state.user.id, requestBody.oldParentPath);
|
||||
const newDirectories = await DirectoryModel.list(context.state.user.id, requestBody.oldParentPath);
|
||||
|
||||
const responseBody: ResponseBody = { success: movedDirectory, newDirectories };
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Handlers } from 'fresh/server.ts';
|
||||
|
||||
import { DirectoryFile, FreshContextState } from '/lib/types.ts';
|
||||
import { getFiles, renameDirectoryOrFile } from '/lib/data/files.ts';
|
||||
import { FileModel } from '/lib/models/files.ts';
|
||||
|
||||
interface Data {}
|
||||
|
||||
@@ -33,7 +33,7 @@ export const handler: Handlers<Data, FreshContextState> = {
|
||||
return new Response('Bad Request', { status: 400 });
|
||||
}
|
||||
|
||||
const movedFile = await renameDirectoryOrFile(
|
||||
const movedFile = await FileModel.rename(
|
||||
context.state.user.id,
|
||||
requestBody.oldParentPath,
|
||||
requestBody.newParentPath,
|
||||
@@ -41,7 +41,7 @@ export const handler: Handlers<Data, FreshContextState> = {
|
||||
requestBody.name.trim(),
|
||||
);
|
||||
|
||||
const newFiles = await getFiles(context.state.user.id, requestBody.oldParentPath);
|
||||
const newFiles = await FileModel.list(context.state.user.id, requestBody.oldParentPath);
|
||||
|
||||
const responseBody: ResponseBody = { success: movedFile, newFiles };
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Handlers } from 'fresh/server.ts';
|
||||
|
||||
import { Directory, FreshContextState } from '/lib/types.ts';
|
||||
import { getDirectories, renameDirectoryOrFile } from '/lib/data/files.ts';
|
||||
import { DirectoryModel } from '/lib/models/files.ts';
|
||||
|
||||
interface Data {}
|
||||
|
||||
@@ -32,7 +32,7 @@ export const handler: Handlers<Data, FreshContextState> = {
|
||||
return new Response('Bad Request', { status: 400 });
|
||||
}
|
||||
|
||||
const movedDirectory = await renameDirectoryOrFile(
|
||||
const movedDirectory = await DirectoryModel.rename(
|
||||
context.state.user.id,
|
||||
requestBody.parentPath,
|
||||
requestBody.parentPath,
|
||||
@@ -40,7 +40,7 @@ export const handler: Handlers<Data, FreshContextState> = {
|
||||
requestBody.newName.trim(),
|
||||
);
|
||||
|
||||
const newDirectories = await getDirectories(context.state.user.id, requestBody.parentPath);
|
||||
const newDirectories = await DirectoryModel.list(context.state.user.id, requestBody.parentPath);
|
||||
|
||||
const responseBody: ResponseBody = { success: movedDirectory, newDirectories };
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Handlers } from 'fresh/server.ts';
|
||||
|
||||
import { DirectoryFile, FreshContextState } from '/lib/types.ts';
|
||||
import { getFiles, renameDirectoryOrFile } from '/lib/data/files.ts';
|
||||
import { FileModel } from '/lib/models/files.ts';
|
||||
|
||||
interface Data {}
|
||||
|
||||
@@ -32,7 +32,7 @@ export const handler: Handlers<Data, FreshContextState> = {
|
||||
return new Response('Bad Request', { status: 400 });
|
||||
}
|
||||
|
||||
const movedFile = await renameDirectoryOrFile(
|
||||
const movedFile = await FileModel.rename(
|
||||
context.state.user.id,
|
||||
requestBody.parentPath,
|
||||
requestBody.parentPath,
|
||||
@@ -40,7 +40,7 @@ export const handler: Handlers<Data, FreshContextState> = {
|
||||
requestBody.newName.trim(),
|
||||
);
|
||||
|
||||
const newFiles = await getFiles(context.state.user.id, requestBody.parentPath);
|
||||
const newFiles = await FileModel.list(context.state.user.id, requestBody.parentPath);
|
||||
|
||||
const responseBody: ResponseBody = { success: movedFile, newFiles };
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Handlers } from 'fresh/server.ts';
|
||||
|
||||
import { Directory, DirectoryFile, FreshContextState } from '/lib/types.ts';
|
||||
import { searchFilesAndDirectories } from '/lib/data/files.ts';
|
||||
import { searchFilesAndDirectories } from '/lib/models/files.ts';
|
||||
|
||||
interface Data {}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Handlers } from 'fresh/server.ts';
|
||||
|
||||
import { Directory, DirectoryFile, FreshContextState } from '/lib/types.ts';
|
||||
import { createFile, getDirectories, getFiles } from '/lib/data/files.ts';
|
||||
import { DirectoryModel, FileModel } from '/lib/models/files.ts';
|
||||
|
||||
interface Data {}
|
||||
|
||||
@@ -33,10 +33,10 @@ export const handler: Handlers<Data, FreshContextState> = {
|
||||
|
||||
const fileContents = typeof contents === 'string' ? contents : await contents.arrayBuffer();
|
||||
|
||||
const createdFile = await createFile(context.state.user.id, parentPath, name.trim(), fileContents);
|
||||
const createdFile = await FileModel.create(context.state.user.id, parentPath, name.trim(), fileContents);
|
||||
|
||||
const newFiles = await getFiles(context.state.user.id, pathInView);
|
||||
const newDirectories = await getDirectories(context.state.user.id, pathInView);
|
||||
const newFiles = await FileModel.list(context.state.user.id, pathInView);
|
||||
const newDirectories = await DirectoryModel.list(context.state.user.id, pathInView);
|
||||
|
||||
const responseBody: ResponseBody = { success: createdFile, newFiles, newDirectories };
|
||||
|
||||
|
||||
Reference in New Issue
Block a user