mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-03-07 18:27:40 +08:00
refactor: use query functions instead of direct ORM modifications in service layer
Add update_asset_info_name and update_asset_info_updated_at query functions and update asset_management.py to use them instead of modifying ORM objects directly. This ensures the service layer only uses explicit operations from the queries package. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
e3b8e512ca
commit
5571508e61
@ -18,6 +18,8 @@ from app.assets.database.queries.asset_info import (
|
|||||||
fetch_asset_info_asset_and_tags,
|
fetch_asset_info_asset_and_tags,
|
||||||
fetch_asset_info_and_asset,
|
fetch_asset_info_and_asset,
|
||||||
update_asset_info_access_time,
|
update_asset_info_access_time,
|
||||||
|
update_asset_info_name,
|
||||||
|
update_asset_info_updated_at,
|
||||||
set_asset_info_metadata,
|
set_asset_info_metadata,
|
||||||
delete_asset_info_by_id,
|
delete_asset_info_by_id,
|
||||||
set_asset_info_preview,
|
set_asset_info_preview,
|
||||||
@ -68,6 +70,8 @@ __all__ = [
|
|||||||
"fetch_asset_info_asset_and_tags",
|
"fetch_asset_info_asset_and_tags",
|
||||||
"fetch_asset_info_and_asset",
|
"fetch_asset_info_and_asset",
|
||||||
"update_asset_info_access_time",
|
"update_asset_info_access_time",
|
||||||
|
"update_asset_info_name",
|
||||||
|
"update_asset_info_updated_at",
|
||||||
"set_asset_info_metadata",
|
"set_asset_info_metadata",
|
||||||
"delete_asset_info_by_id",
|
"delete_asset_info_by_id",
|
||||||
"set_asset_info_preview",
|
"set_asset_info_preview",
|
||||||
|
|||||||
@ -400,6 +400,34 @@ def update_asset_info_access_time(
|
|||||||
session.execute(stmt.values(last_access_time=ts))
|
session.execute(stmt.values(last_access_time=ts))
|
||||||
|
|
||||||
|
|
||||||
|
def update_asset_info_name(
|
||||||
|
session: Session,
|
||||||
|
asset_info_id: str,
|
||||||
|
name: str,
|
||||||
|
) -> None:
|
||||||
|
"""Update the name of an AssetInfo."""
|
||||||
|
now = get_utc_now()
|
||||||
|
session.execute(
|
||||||
|
sa.update(AssetInfo)
|
||||||
|
.where(AssetInfo.id == asset_info_id)
|
||||||
|
.values(name=name, updated_at=now)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def update_asset_info_updated_at(
|
||||||
|
session: Session,
|
||||||
|
asset_info_id: str,
|
||||||
|
ts: datetime | None = None,
|
||||||
|
) -> None:
|
||||||
|
"""Update the updated_at timestamp of an AssetInfo."""
|
||||||
|
ts = ts or get_utc_now()
|
||||||
|
session.execute(
|
||||||
|
sa.update(AssetInfo)
|
||||||
|
.where(AssetInfo.id == asset_info_id)
|
||||||
|
.values(updated_at=ts)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def set_asset_info_metadata(
|
def set_asset_info_metadata(
|
||||||
session: Session,
|
session: Session,
|
||||||
asset_info_id: str,
|
asset_info_id: str,
|
||||||
|
|||||||
@ -29,6 +29,8 @@ from app.assets.database.queries import (
|
|||||||
set_asset_info_metadata,
|
set_asset_info_metadata,
|
||||||
set_asset_info_preview,
|
set_asset_info_preview,
|
||||||
set_asset_info_tags,
|
set_asset_info_tags,
|
||||||
|
update_asset_info_name,
|
||||||
|
update_asset_info_updated_at,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -78,7 +80,7 @@ def update_asset_metadata(
|
|||||||
|
|
||||||
touched = False
|
touched = False
|
||||||
if name is not None and name != info.name:
|
if name is not None and name != info.name:
|
||||||
info.name = name
|
update_asset_info_name(session, asset_info_id=asset_info_id, name=name)
|
||||||
touched = True
|
touched = True
|
||||||
|
|
||||||
# Compute filename from best live path
|
# Compute filename from best live path
|
||||||
@ -111,8 +113,7 @@ def update_asset_metadata(
|
|||||||
touched = True
|
touched = True
|
||||||
|
|
||||||
if touched and user_metadata is None:
|
if touched and user_metadata is None:
|
||||||
info.updated_at = get_utc_now()
|
update_asset_info_updated_at(session, asset_info_id=asset_info_id)
|
||||||
session.flush()
|
|
||||||
|
|
||||||
# Fetch updated info with tags
|
# Fetch updated info with tags
|
||||||
result = fetch_asset_info_asset_and_tags(
|
result = fetch_asset_info_asset_and_tags(
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user