Spaces:
Sleeping
Sleeping
| """ | |
| 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', | |
| ] | |