""" DB Service - Database access layer with automatic filtering and access control. Provides: - DBServiceConfig: Configuration registration (call at startup) - QueryService: Main entry point - SelectQuery: Read operations - UpdateQuery: Update operations - DeleteQuery: Soft delete operations - BaseQuery: Shared filtering logic Usage: # 1. Register configuration at startup from services.db_service import DBServiceConfig from core.models import User, GeminiJob, ... DBServiceConfig.register( user_filter_column="user_id", soft_delete_column="deleted_at", user_read_scoped=[User, GeminiJob, ...], ... ) # 2. Use in endpoints from services.db_service import QueryService qs = QueryService(user, db) jobs = await qs.select().execute(select(GeminiJob)) """ from services.db_service.config import DBServiceConfig from services.db_service.query_service import QueryService, get_query_service from services.db_service.select_query import SelectQuery from services.db_service.update_query import UpdateQuery from services.db_service.delete_query import DeleteQuery from services.db_service.base_query import BaseQuery from services.db_service.db_init import ( init_database, drop_database, reset_database, get_registered_models, get_model_by_name, ) __all__ = [ 'DBServiceConfig', 'QueryService', 'get_query_service', 'SelectQuery', 'UpdateQuery', 'DeleteQuery', 'BaseQuery', # Database initialization 'init_database', 'drop_database', 'reset_database', 'get_registered_models', 'get_model_by_name', ]