ComfyUI/app/assets/services/schemas.py
Luke Mino-Altherr 80d99e7b63 chore: remove module-level comments and docstrings from assets package
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 20:04:47 -08:00

64 lines
1.5 KiB
Python

from dataclasses import dataclass
from datetime import datetime
@dataclass(frozen=True)
class AssetData:
"""Plain data extracted from an Asset ORM object."""
hash: str
size_bytes: int | None
mime_type: str | None
@dataclass(frozen=True)
class AssetInfoData:
"""Plain data extracted from an AssetInfo ORM object."""
id: str
name: str
user_metadata: dict | None
preview_id: str | None
created_at: datetime
updated_at: datetime
last_access_time: datetime | None
@dataclass(frozen=True)
class AssetDetailResult:
"""Result from get_asset_detail and similar operations."""
info: AssetInfoData
asset: AssetData | None
tags: list[str]
@dataclass(frozen=True)
class RegisterAssetResult:
"""Result from register_existing_asset."""
info: AssetInfoData
asset: AssetData
tags: list[str]
created: bool
def extract_info_data(info) -> AssetInfoData:
"""Extract plain data from an AssetInfo ORM object."""
return AssetInfoData(
id=info.id,
name=info.name,
user_metadata=info.user_metadata,
preview_id=info.preview_id,
created_at=info.created_at,
updated_at=info.updated_at,
last_access_time=info.last_access_time,
)
def extract_asset_data(asset) -> AssetData | None:
"""Extract plain data from an Asset ORM object."""
if asset is None:
return None
return AssetData(
hash=asset.hash,
size_bytes=asset.size_bytes,
mime_type=asset.mime_type,
)