You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
947 B
51 lines
947 B
from __future__ import annotations
|
|
|
|
from datetime import datetime
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class FileSummary(BaseModel):
|
|
id: str
|
|
directory_id: str
|
|
name: str
|
|
mime_type: str | None
|
|
size_bytes: int
|
|
current_version_id: str | None
|
|
created_at: datetime
|
|
updated_at: datetime
|
|
|
|
|
|
class PreviewArtifactSummary(BaseModel):
|
|
id: str
|
|
artifact_type: str
|
|
blob_id: str
|
|
status: str
|
|
created_at: datetime
|
|
updated_at: datetime
|
|
|
|
|
|
class FileDetailResponse(BaseModel):
|
|
file: FileSummary
|
|
preview_artifacts: list[PreviewArtifactSummary] = []
|
|
|
|
|
|
class DeletedFileSummary(FileSummary):
|
|
deleted_at: datetime
|
|
|
|
|
|
class RecycleBinResponse(BaseModel):
|
|
items: list[DeletedFileSummary]
|
|
|
|
|
|
class FileMutationResponse(BaseModel):
|
|
ok: bool = True
|
|
file: FileSummary | DeletedFileSummary
|
|
|
|
|
|
class RenameFileRequest(BaseModel):
|
|
name: str
|
|
|
|
|
|
class MoveFileRequest(BaseModel):
|
|
target_parent_id: str
|
|
|