mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-02-06 19:42:34 +08:00
Rename functions across app/assets/ to follow verb-based naming: - is_scalar → check_is_scalar - project_kv → expand_metadata_to_rows - _visible_owner_clause → _build_visible_owner_clause - _chunk_rows → _iter_row_chunks - _at_least_one → _validate_at_least_one_field - _tags_norm → _normalize_tags_field - _ser_dt → _serialize_datetime - _ser_updated → _serialize_updated_at - _error_response → _build_error_response - _validation_error_response → _build_validation_error_response - file_sender → stream_file_chunks - seed_assets_endpoint → seed_assets - utcnow → get_utc_now - _safe_sort_field → _validate_sort_field - _safe_filename → _sanitize_filename - fast_asset_file_check → check_asset_file_fast - prefixes_for_root → get_prefixes_for_root - blake3_hash → compute_blake3_hash - blake3_hash_async → compute_blake3_hash_async - _is_within → _check_is_within - _rel → _compute_relative Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
94 lines
2.5 KiB
Python
94 lines
2.5 KiB
Python
from datetime import datetime
|
|
from typing import Any
|
|
|
|
from pydantic import BaseModel, ConfigDict, Field, field_serializer
|
|
|
|
|
|
class AssetSummary(BaseModel):
|
|
id: str
|
|
name: str
|
|
asset_hash: str | None = None
|
|
size: int | None = None
|
|
mime_type: str | None = None
|
|
tags: list[str] = Field(default_factory=list)
|
|
preview_url: str | None = None
|
|
created_at: datetime | None = None
|
|
updated_at: datetime | None = None
|
|
last_access_time: datetime | None = None
|
|
|
|
model_config = ConfigDict(from_attributes=True)
|
|
|
|
@field_serializer("created_at", "updated_at", "last_access_time")
|
|
def _serialize_datetime(self, v: datetime | None, _info):
|
|
return v.isoformat() if v else None
|
|
|
|
|
|
class AssetsList(BaseModel):
|
|
assets: list[AssetSummary]
|
|
total: int
|
|
has_more: bool
|
|
|
|
|
|
class AssetUpdated(BaseModel):
|
|
id: str
|
|
name: str
|
|
asset_hash: str | None = None
|
|
tags: list[str] = Field(default_factory=list)
|
|
user_metadata: dict[str, Any] = Field(default_factory=dict)
|
|
updated_at: datetime | None = None
|
|
|
|
model_config = ConfigDict(from_attributes=True)
|
|
|
|
@field_serializer("updated_at")
|
|
def _serialize_updated_at(self, v: datetime | None, _info):
|
|
return v.isoformat() if v else None
|
|
|
|
|
|
class AssetDetail(BaseModel):
|
|
id: str
|
|
name: str
|
|
asset_hash: str | None = None
|
|
size: int | None = None
|
|
mime_type: str | None = None
|
|
tags: list[str] = Field(default_factory=list)
|
|
user_metadata: dict[str, Any] = Field(default_factory=dict)
|
|
preview_id: str | None = None
|
|
created_at: datetime | None = None
|
|
last_access_time: datetime | None = None
|
|
|
|
model_config = ConfigDict(from_attributes=True)
|
|
|
|
@field_serializer("created_at", "last_access_time")
|
|
def _serialize_datetime(self, v: datetime | None, _info):
|
|
return v.isoformat() if v else None
|
|
|
|
|
|
class AssetCreated(AssetDetail):
|
|
created_new: bool
|
|
|
|
|
|
class TagUsage(BaseModel):
|
|
name: str
|
|
count: int
|
|
type: str
|
|
|
|
|
|
class TagsList(BaseModel):
|
|
tags: list[TagUsage] = Field(default_factory=list)
|
|
total: int
|
|
has_more: bool
|
|
|
|
|
|
class TagsAdd(BaseModel):
|
|
model_config = ConfigDict(str_strip_whitespace=True)
|
|
added: list[str] = Field(default_factory=list)
|
|
already_present: list[str] = Field(default_factory=list)
|
|
total_tags: list[str] = Field(default_factory=list)
|
|
|
|
|
|
class TagsRemove(BaseModel):
|
|
model_config = ConfigDict(str_strip_whitespace=True)
|
|
removed: list[str] = Field(default_factory=list)
|
|
not_present: list[str] = Field(default_factory=list)
|
|
total_tags: list[str] = Field(default_factory=list)
|