From 6fb49ba61a125be783418808fdedee50a34bbc1b Mon Sep 17 00:00:00 2001 From: Kenneth Date: Tue, 16 Dec 2025 01:47:00 +0000 Subject: [PATCH] feat: ret dir item parent id in dir content query --- apps/backend/internal/catalog/directory.go | 11 +++++++++-- apps/backend/internal/catalog/file.go | 2 ++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/apps/backend/internal/catalog/directory.go b/apps/backend/internal/catalog/directory.go index adced8c..777d470 100644 --- a/apps/backend/internal/catalog/directory.go +++ b/apps/backend/internal/catalog/directory.go @@ -24,6 +24,8 @@ type DirectoryInfo struct { Kind string `json:"kind" example:"directory"` // Unique directory identifier ID string `json:"id" example:"kRp2XYTq9A55"` + // ParentID is the pbulic ID of the directory this directory is in + ParentID string `json:"parentId,omitempty" example:"kRp2XYTq9A55"` // Full path from root (included when ?include=path) Path virtualfs.Path `json:"path,omitempty"` // Directory name @@ -270,6 +272,7 @@ func (h *HTTPHandler) listDirectory(c *fiber.Ctx) error { items[i] = FileInfo{ Kind: DirItemKindFile, ID: child.PublicID, + ParentID: node.PublicID, Name: child.Name, Size: child.Size, MimeType: child.MimeType, @@ -384,7 +387,6 @@ func (h *HTTPHandler) deleteDirectory(c *fiber.Ctx) error { return c.SendStatus(fiber.StatusNoContent) } - } // deleteDirectories removes multiple directories @@ -536,7 +538,12 @@ func (h *HTTPHandler) moveItemsToDirectory(c *fiber.Ctx) error { return httperr.Internal(err) } - res := moveItemsToDirectoryResponse{} + res := moveItemsToDirectoryResponse{ + Items: make([]any, 0), + Moved: make([]string, 0), + Conflicts: make([]string, 0), + Errors: make([]moveItemError, 0), + } for _, node := range result.Moved { res.Items = append(res.Items, toDirectoryItem(node)) diff --git a/apps/backend/internal/catalog/file.go b/apps/backend/internal/catalog/file.go index 75aad5b..bec3e3b 100644 --- a/apps/backend/internal/catalog/file.go +++ b/apps/backend/internal/catalog/file.go @@ -18,6 +18,8 @@ type FileInfo struct { Kind string `json:"kind" example:"file"` // Unique file identifier ID string `json:"id" example:"mElnUNCm8F22"` + // ParentID is the pbulic ID of the directory this file is in + ParentID string `json:"parentId,omitempty" exmaple:"kRp2XYTq9A55"` // File name Name string `json:"name" example:"document.pdf"` // File size in bytes