Remove tags from body of @ROUTES.put(f"/api/assets/{{id:{UUID_RE}}}"), add note about blake3 requirement to test out

This commit is contained in:
Jedrzej Kosinski 2026-01-28 16:04:19 -08:00
parent d5e6e2a81f
commit 902e84d7ad
3 changed files with 6 additions and 7 deletions

View File

@ -338,7 +338,6 @@ async def update_asset(request: web.Request) -> web.Response:
result = manager.update_asset(
asset_info_id=asset_info_id,
name=body.name,
tags=body.tags,
user_metadata=body.user_metadata,
owner_id=USER_MANAGER.get_request_user_id(request),
)

View File

@ -58,16 +58,12 @@ class ListAssetsQuery(BaseModel):
class UpdateAssetBody(BaseModel):
name: str | None = None
tags: list[str] | None = None
user_metadata: dict[str, Any] | None = None
@model_validator(mode="after")
def _at_least_one(self):
if self.name is None and self.tags is None and self.user_metadata is None:
raise ValueError("Provide at least one of: name, tags, user_metadata.")
if self.tags is not None:
if not isinstance(self.tags, list) or not all(isinstance(t, str) for t in self.tags):
raise ValueError("Field 'tags' must be an array of strings.")
if self.name is None and self.user_metadata is None:
raise ValueError("Provide at least one of: name, user_metadata.")
return self

View File

@ -172,7 +172,11 @@ def upload_asset_from_temp_path(
owner_id: str = "",
expected_asset_hash: str | None = None,
) -> schemas_out.AssetCreated:
"""
Create new asset or update existing asset from a temporary file path.
"""
try:
# NOTE: blake3 is not required right now, so this will fail if blake3 is not installed in local environment
import app.assets.hashing as hashing
digest = hashing.blake3_hash(temp_path)
except Exception as e: