Documentation

Folder Types

Types for folder management operations

Folder

A folder in the user's file hierarchy

@dataclass(frozen=True)
class Folder:
id: str # Unique folder identifier
name: str # Folder name (1-255 chars)
depth: int # Nesting depth (0 = root level)
parent_id: Optional[str] # Parent folder ID (None for root)
file_count: int # Number of files in this folder
subfolder_count: int # Number of direct subfolders
created_at: Optional[datetime]
updated_at: Optional[datetime]

FolderBreadcrumb

A breadcrumb entry in a folder's path

@dataclass(frozen=True)
class FolderBreadcrumb:
id: str # Folder identifier
name: str # Folder name
depth: int # Nesting depth

FolderTree

Complete folder tree for the user

@dataclass(frozen=True)
class FolderTree:
folders: list[Folder] # All folders as flat list

FolderContents

Contents of a folder including metadata and children

@dataclass(frozen=True)
class FolderContents:
breadcrumbs: list[FolderBreadcrumb] # Path from root to this folder
subfolders: list[Folder] # Direct child folders
total_files: int # Total files in this folder
has_more_files: bool # More files beyond current page
folder: Optional[Folder] # The folder itself (None if root)

FolderBreadcrumbs

Breadcrumb path for a folder

@dataclass(frozen=True)
class FolderBreadcrumbs:
breadcrumbs: list[FolderBreadcrumb] # Path from root to folder

DeleteFolderResult

Result of folder deletion

@dataclass(frozen=True)
class DeleteFolderResult:
id: str # Deleted folder identifier
mode: str # "move_to_parent" or "delete_all"
files_affected: int # Number of files affected
subfolders_affected: int # Number of subfolders affected

MoveFilesResult

Result of moving files to a folder

@dataclass(frozen=True)
class MoveFilesResult:
moved: int # Files successfully moved
total_requested: int # Total files requested to move