refactor: initial frontend wiring for new api

This commit is contained in:
2025-12-15 00:13:10 +00:00
parent 528aa943fa
commit 05edf69ca7
63 changed files with 1876 additions and 1991 deletions

View File

@@ -30,6 +30,8 @@ func NewHTTPHandler(vfs *virtualfs.VirtualFS, db *bun.DB) *HTTPHandler {
}
func (h *HTTPHandler) RegisterRoutes(api fiber.Router) {
api.Delete("/files", h.deleteFiles)
fg := api.Group("/files/:fileID")
fg.Use(h.currentFileMiddleware)
fg.Get("/", h.fetchFile)
@@ -38,6 +40,7 @@ func (h *HTTPHandler) RegisterRoutes(api fiber.Router) {
fg.Delete("/", h.deleteFile)
api.Post("/directories", h.createDirectory)
api.Delete("/directories", h.deleteDirectories)
dg := api.Group("/directories/:directoryID")
dg.Use(h.currentDirectoryMiddleware)
@@ -47,3 +50,35 @@ func (h *HTTPHandler) RegisterRoutes(api fiber.Router) {
dg.Patch("/", h.patchDirectory)
dg.Delete("/", h.deleteDirectory)
}
func fileInfoFromNode(node *virtualfs.Node) FileInfo {
return FileInfo{
Kind: DirItemKindFile,
ID: node.PublicID,
Name: node.Name,
Size: node.Size,
MimeType: node.MimeType,
}
}
func directoryInfoFromNode(node *virtualfs.Node) DirectoryInfo {
return DirectoryInfo{
Kind: DirItemKindDirectory,
ID: node.PublicID,
Name: node.Name,
CreatedAt: node.CreatedAt,
UpdatedAt: node.UpdatedAt,
DeletedAt: node.DeletedAt,
}
}
func toDirectoryItem(node *virtualfs.Node) any {
switch node.Kind {
default:
return FileInfo{}
case virtualfs.NodeKindDirectory:
return directoryInfoFromNode(node)
case virtualfs.NodeKindFile:
return fileInfoFromNode(node)
}
}