Storx supports arbitrarily deep folder hierarchies. You can create folders inside other folders, navigate into them via click, and jump back up the tree at any level using the breadcrumb bar in the header. Folders share the sameDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/nayalsaurav/Storx/llms.txt
Use this file to discover all available pages before exploring further.
files table as regular files, distinguished only by the isFolder flag.
Creating Folders
Folders are created from theCreateFolderDialog component rendered inside ActionBar. Submitting the dialog calls useFileOperations.createFolder(), which sends a POST request to /api/folders/create:
parentId to null (or omit it) to create a folder at the root level.
Server-side validation rules:
namemust be a non-empty string —name.trim() === ""returns400 folder name is required- If
parentIdis provided, the referenced folder must exist, belong to the authenticated user, and haveisFolder = true— otherwise the server returns404 Parent folder not found
fetchFiles(currentFolder) and fetchStorageInfo() to refresh the view.
Nested Structure
Thefiles table uses a self-referential parentId foreign key to model the tree hierarchy:
- Root items have
parentId = null. TheGET /api/filesendpoint usesisNull(files.parentId)to fetch them when noparentIdquery parameter is supplied. - Nested items have
parentIdset to the UUID of their containing folder. The endpoint filters witheq(files.parentId, parentId)when the query parameter is present.
Navigating Folders
useDashboardState manages the current folder context and the breadcrumb trail:
Breadcrumb interface:
navigateToBreadcrumb(index), which trims the array back to that position and sets currentFolder to its id.
The Home button in Sidebar is wired to navigateToBreadcrumb(0), which always resets to the root:
Folder vs File
Both files and folders are rows in the singlefiles table. The isFolder boolean column is the only distinction:
| Column | File | Folder |
|---|---|---|
isFolder | false | true |
size | Actual byte count | 0 |
type | MIME type (e.g. image/png) | "folder" |
fileUrl | ImageKit CDN URL | "" (empty string) |
imagekitFileId | ImageKit file ID | null |
FileGrid and FileList, clicking a folder triggers onFolderClick(file.id, file.name) to navigate into it. Clicking a file has no default navigation action — use the action menu to download or manage it.
Moving files between folders is not yet supported. If you need a file in a
different folder, delete the original and re-upload it to the target folder.
The
parentId of an existing record is not updated by any current API endpoint.