mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-03-05 17:27:42 +08:00
- Add deleted_at column to AssetReference model and migration
- soft_delete_reference_by_id sets deleted_at instead of removing rows
- DELETE /api/assets/{id} defaults to soft-delete; delete_content=true
for hard-delete
- Add deleted_at IS NULL filters to read queries, tag queries, and
scanner queries so soft-deleted refs are invisible
- restore_references_by_paths skips soft-deleted refs
- upsert_reference clears deleted_at on explicit re-ingest
- Add tests for soft-delete API behavior, scanner persistence, bulk
insert, enrichment exclusion, and seed asset garbage collection
Amp-Thread-ID: https://ampcode.com/threads/T-019cb6fc-c05c-761f-b855-6d5d1c9defa2
Co-authored-by: Amp <amp@ampcode.com>
122 lines
3.5 KiB
Python
122 lines
3.5 KiB
Python
from app.assets.database.queries.asset import (
|
|
asset_exists_by_hash,
|
|
bulk_insert_assets,
|
|
get_asset_by_hash,
|
|
get_existing_asset_ids,
|
|
reassign_asset_references,
|
|
update_asset_hash_and_mime,
|
|
upsert_asset,
|
|
)
|
|
from app.assets.database.queries.asset_reference import (
|
|
CacheStateRow,
|
|
UnenrichedReferenceRow,
|
|
bulk_insert_references_ignore_conflicts,
|
|
bulk_update_enrichment_level,
|
|
bulk_update_is_missing,
|
|
bulk_update_needs_verify,
|
|
convert_metadata_to_rows,
|
|
delete_assets_by_ids,
|
|
delete_orphaned_seed_asset,
|
|
delete_reference_by_id,
|
|
delete_references_by_ids,
|
|
fetch_reference_and_asset,
|
|
fetch_reference_asset_and_tags,
|
|
get_or_create_reference,
|
|
get_reference_by_file_path,
|
|
get_reference_by_id,
|
|
get_reference_with_owner_check,
|
|
get_reference_ids_by_ids,
|
|
get_references_by_paths_and_asset_ids,
|
|
get_references_for_prefixes,
|
|
get_unenriched_references,
|
|
get_unreferenced_unhashed_asset_ids,
|
|
insert_reference,
|
|
list_references_by_asset_id,
|
|
list_references_page,
|
|
mark_references_missing_outside_prefixes,
|
|
reference_exists_for_asset_id,
|
|
restore_references_by_paths,
|
|
set_reference_metadata,
|
|
set_reference_preview,
|
|
soft_delete_reference_by_id,
|
|
update_reference_access_time,
|
|
update_reference_name,
|
|
update_reference_timestamps,
|
|
update_reference_updated_at,
|
|
upsert_reference,
|
|
)
|
|
from app.assets.database.queries.tags import (
|
|
AddTagsResult,
|
|
RemoveTagsResult,
|
|
SetTagsResult,
|
|
add_missing_tag_for_asset_id,
|
|
add_tags_to_reference,
|
|
bulk_insert_tags_and_meta,
|
|
ensure_tags_exist,
|
|
get_reference_tags,
|
|
list_tags_with_usage,
|
|
remove_missing_tag_for_asset_id,
|
|
remove_tags_from_reference,
|
|
set_reference_tags,
|
|
validate_tags_exist,
|
|
)
|
|
|
|
__all__ = [
|
|
"AddTagsResult",
|
|
"CacheStateRow",
|
|
"RemoveTagsResult",
|
|
"SetTagsResult",
|
|
"UnenrichedReferenceRow",
|
|
"add_missing_tag_for_asset_id",
|
|
"add_tags_to_reference",
|
|
"asset_exists_by_hash",
|
|
"bulk_insert_assets",
|
|
"bulk_insert_references_ignore_conflicts",
|
|
"bulk_insert_tags_and_meta",
|
|
"bulk_update_enrichment_level",
|
|
"bulk_update_is_missing",
|
|
"bulk_update_needs_verify",
|
|
"convert_metadata_to_rows",
|
|
"delete_assets_by_ids",
|
|
"delete_orphaned_seed_asset",
|
|
"delete_reference_by_id",
|
|
"delete_references_by_ids",
|
|
"ensure_tags_exist",
|
|
"fetch_reference_and_asset",
|
|
"fetch_reference_asset_and_tags",
|
|
"get_asset_by_hash",
|
|
"get_existing_asset_ids",
|
|
"get_or_create_reference",
|
|
"get_reference_by_file_path",
|
|
"get_reference_by_id",
|
|
"get_reference_with_owner_check",
|
|
"get_reference_ids_by_ids",
|
|
"get_reference_tags",
|
|
"get_references_by_paths_and_asset_ids",
|
|
"get_references_for_prefixes",
|
|
"get_unenriched_references",
|
|
"get_unreferenced_unhashed_asset_ids",
|
|
"insert_reference",
|
|
"list_references_by_asset_id",
|
|
"list_references_page",
|
|
"list_tags_with_usage",
|
|
"mark_references_missing_outside_prefixes",
|
|
"reassign_asset_references",
|
|
"reference_exists_for_asset_id",
|
|
"remove_missing_tag_for_asset_id",
|
|
"remove_tags_from_reference",
|
|
"restore_references_by_paths",
|
|
"set_reference_metadata",
|
|
"set_reference_preview",
|
|
"soft_delete_reference_by_id",
|
|
"set_reference_tags",
|
|
"update_asset_hash_and_mime",
|
|
"update_reference_access_time",
|
|
"update_reference_name",
|
|
"update_reference_timestamps",
|
|
"update_reference_updated_at",
|
|
"upsert_asset",
|
|
"upsert_reference",
|
|
"validate_tags_exist",
|
|
]
|