SDK
DriveNode
Um arquivo ou pasta de um workspace (`docs/PROTOCOL.md §9`) — o índice que o cofre tem dele, nunca o conteúdo. Todo nó tem a própria DEK, embrulhada para o security group em `encrypted_keys`; o nome fica selado em `encrypted_name` até `name_of` abri-lo sob demanda (fazer isso para uma página inteira significaria um AES-GCM por linha que ninguém pediu). Uma pasta não tem conteúdo nem campos de upload; o `size` de um arquivo é o que o cofre mediu, nunca só o declarado.
class
Assinatura #
class DriveNode(*, node_id: str, workspace_id: str, security_group_id: str, kind: Literal['file', 'folder'] = 'file', status: Literal['pending', 'ready', 'failed'], exam_id: str | None = None, parent_id: str | None = None, mode: Literal['single', 'multipart'] | None = None, media_kind: Literal['image', 'video', 'dicom', 'other'] | None = None, declared_size: int | None = None, size: int | None = None, mime_type: str | None = None, encrypted_name: EncryptedPayload, encrypted_keys: dict[str, EncryptedPayload], storage_path: str | None = None, optimized_variants: list[OptimizedVariant] = [], processing_status: str | None = None, processing_error: str | None = None, total_size: int | None = None, created_by: str, created_at: str, completed_at: str | None = None, is_deleted: bool = False) Bases: BaseModel
Um arquivo ou pasta de um workspace (docs/PROTOCOL.md §9) — o índice que o cofre tem dele, nunca o conteúdo.
Todo nó tem a própria DEK, embrulhada para o security group em
encrypted_keys; o nome fica selado em encrypted_name até name_of
abri-lo sob demanda (fazer isso para uma página inteira significaria um
AES-GCM por linha que ninguém pediu). Uma pasta não tem conteúdo nem
campos de upload; o size de um arquivo é o que o cofre mediu, nunca só
o declarado.
Membros #
node_id: str #
attribute
workspace_id: str #
attribute
security_group_id: str #
attribute
kind: Literal['file', 'folder'] = 'file' #
attribute
status: Literal['pending', 'ready', 'failed'] #
attribute
exam_id: str | None = None #
attribute
parent_id: str | None = None #
attribute
mode: Literal['single', 'multipart'] | None = None #
attribute
media_kind: Literal['image', 'video', 'dicom', 'other'] | None = None #
attribute
declared_size: int | None = None #
attribute
size: int | None = None #
attribute
mime_type: str | None = None #
attribute
encrypted_name: EncryptedPayload #
attribute
encrypted_keys: dict[str, EncryptedPayload] #
attribute
storage_path: str | None = None #
attribute
optimized_variants: list[OptimizedVariant] = [] #
attribute
processing_status: str | None = None #
attribute
processing_error: str | None = None #
attribute
total_size: int | None = None #
attribute
created_by: str #
attribute
created_at: str #
attribute
completed_at: str | None = None #
attribute
is_deleted: bool = False #
attribute