from app.assets.database.queries.asset import (
    asset_exists_by_hash,
    bulk_insert_assets,
    create_stub_asset,
    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,
    count_active_siblings,
    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_all_file_paths_by_asset_id,
    list_references_by_asset_id,
    list_references_page,
    mark_references_missing_outside_prefixes,
    rebuild_metadata_projection,
    reference_exists,
    reference_exists_for_asset_id,
    restore_references_by_paths,
    set_reference_metadata,
    set_reference_preview,
    set_reference_system_metadata,
    soft_delete_reference_by_id,
    update_reference_access_time,
    update_reference_name,
    update_is_missing_by_asset_id,
    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_tag_counts_for_filtered_assets,
    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",
    "count_active_siblings",
    "create_stub_asset",
    "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_all_file_paths_by_asset_id",
    "list_references_by_asset_id",
    "list_references_page",
    "list_tag_counts_for_filtered_assets",
    "list_tags_with_usage",
    "mark_references_missing_outside_prefixes",
    "reassign_asset_references",
    "rebuild_metadata_projection",
    "reference_exists",
    "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",
    "set_reference_system_metadata",
    "soft_delete_reference_by_id",
    "set_reference_tags",
    "update_asset_hash_and_mime",
    "update_is_missing_by_asset_id",
    "update_reference_access_time",
    "update_reference_name",
    "update_reference_timestamps",
    "update_reference_updated_at",
    "upsert_asset",
    "upsert_reference",
    "validate_tags_exist",
]
