diff --git a/api/commands.py b/api/commands.py index 45ee7a7a60..c2e62ec261 100644 --- a/api/commands.py +++ b/api/commands.py @@ -172,7 +172,7 @@ def migrate_annotation_vector_database(): per_page = 50 apps = ( db.session.query(App) - .filter(App.status == "normal") + .where(App.status == "normal") .order_by(App.created_at.desc()) .limit(per_page) .offset((page - 1) * per_page) @@ -202,7 +202,7 @@ def migrate_annotation_vector_database(): # get dataset_collection_binding info dataset_collection_binding = ( db.session.query(DatasetCollectionBinding) - .filter(DatasetCollectionBinding.id == app_annotation_setting.collection_binding_id) + .where(DatasetCollectionBinding.id == app_annotation_setting.collection_binding_id) .first() ) if not dataset_collection_binding: @@ -332,7 +332,7 @@ def migrate_knowledge_vector_database(): if dataset.collection_binding_id: dataset_collection_binding = ( db.session.query(DatasetCollectionBinding) - .filter(DatasetCollectionBinding.id == dataset.collection_binding_id) + .where(DatasetCollectionBinding.id == dataset.collection_binding_id) .one_or_none() ) if dataset_collection_binding: @@ -367,7 +367,7 @@ def migrate_knowledge_vector_database(): dataset_documents = ( db.session.query(DatasetDocument) - .filter( + .where( DatasetDocument.dataset_id == dataset.id, DatasetDocument.indexing_status == "completed", DatasetDocument.enabled == True, @@ -381,7 +381,7 @@ def migrate_knowledge_vector_database(): for dataset_document in dataset_documents: segments = ( db.session.query(DocumentSegment) - .filter( + .where( DocumentSegment.document_id == dataset_document.id, DocumentSegment.status == "completed", DocumentSegment.enabled == True, @@ -560,7 +560,7 @@ def old_metadata_migration(): try: stmt = ( select(DatasetDocument) - .filter(DatasetDocument.doc_metadata.is_not(None)) + .where(DatasetDocument.doc_metadata.is_not(None)) .order_by(DatasetDocument.created_at.desc()) ) documents = db.paginate(select=stmt, page=page, per_page=50, max_per_page=50, error_out=False) @@ -578,7 +578,7 @@ def old_metadata_migration(): else: dataset_metadata = ( db.session.query(DatasetMetadata) - .filter(DatasetMetadata.dataset_id == document.dataset_id, DatasetMetadata.name == key) + .where(DatasetMetadata.dataset_id == document.dataset_id, DatasetMetadata.name == key) .first() ) if not dataset_metadata: @@ -602,7 +602,7 @@ def old_metadata_migration(): else: dataset_metadata_binding = ( db.session.query(DatasetMetadataBinding) # type: ignore - .filter( + .where( DatasetMetadataBinding.dataset_id == document.dataset_id, DatasetMetadataBinding.document_id == document.id, DatasetMetadataBinding.metadata_id == dataset_metadata.id, diff --git a/api/controllers/console/apikey.py b/api/controllers/console/apikey.py index 7f34d3e317..d7500c415c 100644 --- a/api/controllers/console/apikey.py +++ b/api/controllers/console/apikey.py @@ -61,7 +61,7 @@ class BaseApiKeyListResource(Resource): _get_resource(resource_id, current_user.current_tenant_id, self.resource_model) keys = ( db.session.query(ApiToken) - .filter(ApiToken.type == self.resource_type, getattr(ApiToken, self.resource_id_field) == resource_id) + .where(ApiToken.type == self.resource_type, getattr(ApiToken, self.resource_id_field) == resource_id) .all() ) return {"items": keys} @@ -76,7 +76,7 @@ class BaseApiKeyListResource(Resource): current_key_count = ( db.session.query(ApiToken) - .filter(ApiToken.type == self.resource_type, getattr(ApiToken, self.resource_id_field) == resource_id) + .where(ApiToken.type == self.resource_type, getattr(ApiToken, self.resource_id_field) == resource_id) .count() ) @@ -117,7 +117,7 @@ class BaseApiKeyResource(Resource): key = ( db.session.query(ApiToken) - .filter( + .where( getattr(ApiToken, self.resource_id_field) == resource_id, ApiToken.type == self.resource_type, ApiToken.id == api_key_id, diff --git a/api/controllers/console/app/conversation.py b/api/controllers/console/app/conversation.py index 6e429396eb..b5b6d1f75b 100644 --- a/api/controllers/console/app/conversation.py +++ b/api/controllers/console/app/conversation.py @@ -121,7 +121,7 @@ class CompletionConversationDetailApi(Resource): conversation = ( db.session.query(Conversation) - .filter(Conversation.id == conversation_id, Conversation.app_id == app_model.id) + .where(Conversation.id == conversation_id, Conversation.app_id == app_model.id) .first() ) @@ -181,7 +181,7 @@ class ChatConversationApi(Resource): Message.conversation_id == Conversation.id, ) .join(subquery, subquery.c.conversation_id == Conversation.id) - .filter( + .where( or_( Message.query.ilike(keyword_filter), Message.answer.ilike(keyword_filter), @@ -286,7 +286,7 @@ class ChatConversationDetailApi(Resource): conversation = ( db.session.query(Conversation) - .filter(Conversation.id == conversation_id, Conversation.app_id == app_model.id) + .where(Conversation.id == conversation_id, Conversation.app_id == app_model.id) .first() ) @@ -308,7 +308,7 @@ api.add_resource(ChatConversationDetailApi, "/apps//chat-conversati def _get_conversation(app_model, conversation_id): conversation = ( db.session.query(Conversation) - .filter(Conversation.id == conversation_id, Conversation.app_id == app_model.id) + .where(Conversation.id == conversation_id, Conversation.app_id == app_model.id) .first() ) diff --git a/api/controllers/console/app/mcp_server.py b/api/controllers/console/app/mcp_server.py index b47ebd842b..2344fd5acb 100644 --- a/api/controllers/console/app/mcp_server.py +++ b/api/controllers/console/app/mcp_server.py @@ -104,8 +104,8 @@ class AppMCPServerRefreshController(Resource): raise NotFound() server = ( db.session.query(AppMCPServer) - .filter(AppMCPServer.id == server_id) - .filter(AppMCPServer.tenant_id == current_user.current_tenant_id) + .where(AppMCPServer.id == server_id) + .where(AppMCPServer.tenant_id == current_user.current_tenant_id) .first() ) if not server: diff --git a/api/controllers/console/app/message.py b/api/controllers/console/app/message.py index 37e596c282..5e79e8dece 100644 --- a/api/controllers/console/app/message.py +++ b/api/controllers/console/app/message.py @@ -56,7 +56,7 @@ class ChatMessageListApi(Resource): conversation = ( db.session.query(Conversation) - .filter(Conversation.id == args["conversation_id"], Conversation.app_id == app_model.id) + .where(Conversation.id == args["conversation_id"], Conversation.app_id == app_model.id) .first() ) @@ -66,7 +66,7 @@ class ChatMessageListApi(Resource): if args["first_id"]: first_message = ( db.session.query(Message) - .filter(Message.conversation_id == conversation.id, Message.id == args["first_id"]) + .where(Message.conversation_id == conversation.id, Message.id == args["first_id"]) .first() ) @@ -75,7 +75,7 @@ class ChatMessageListApi(Resource): history_messages = ( db.session.query(Message) - .filter( + .where( Message.conversation_id == conversation.id, Message.created_at < first_message.created_at, Message.id != first_message.id, @@ -87,7 +87,7 @@ class ChatMessageListApi(Resource): else: history_messages = ( db.session.query(Message) - .filter(Message.conversation_id == conversation.id) + .where(Message.conversation_id == conversation.id) .order_by(Message.created_at.desc()) .limit(args["limit"]) .all() @@ -98,7 +98,7 @@ class ChatMessageListApi(Resource): current_page_first_message = history_messages[-1] rest_count = ( db.session.query(Message) - .filter( + .where( Message.conversation_id == conversation.id, Message.created_at < current_page_first_message.created_at, Message.id != current_page_first_message.id, diff --git a/api/controllers/console/app/wraps.py b/api/controllers/console/app/wraps.py index 3322350e25..132dc1f96b 100644 --- a/api/controllers/console/app/wraps.py +++ b/api/controllers/console/app/wraps.py @@ -11,7 +11,7 @@ from models import App, AppMode def _load_app_model(app_id: str) -> Optional[App]: app_model = ( db.session.query(App) - .filter(App.id == app_id, App.tenant_id == current_user.current_tenant_id, App.status == "normal") + .where(App.id == app_id, App.tenant_id == current_user.current_tenant_id, App.status == "normal") .first() ) return app_model diff --git a/api/controllers/console/datasets/data_source.py b/api/controllers/console/datasets/data_source.py index 9708e612d6..39f8ab5787 100644 --- a/api/controllers/console/datasets/data_source.py +++ b/api/controllers/console/datasets/data_source.py @@ -30,7 +30,7 @@ class DataSourceApi(Resource): # get workspace data source integrates data_source_integrates = ( db.session.query(DataSourceOauthBinding) - .filter( + .where( DataSourceOauthBinding.tenant_id == current_user.current_tenant_id, DataSourceOauthBinding.disabled == False, ) diff --git a/api/controllers/console/datasets/datasets.py b/api/controllers/console/datasets/datasets.py index 750ddf48c4..f551bc2432 100644 --- a/api/controllers/console/datasets/datasets.py +++ b/api/controllers/console/datasets/datasets.py @@ -412,7 +412,7 @@ class DatasetIndexingEstimateApi(Resource): file_ids = args["info_list"]["file_info_list"]["file_ids"] file_details = ( db.session.query(UploadFile) - .filter(UploadFile.tenant_id == current_user.current_tenant_id, UploadFile.id.in_(file_ids)) + .where(UploadFile.tenant_id == current_user.current_tenant_id, UploadFile.id.in_(file_ids)) .all() ) @@ -517,14 +517,14 @@ class DatasetIndexingStatusApi(Resource): dataset_id = str(dataset_id) documents = ( db.session.query(Document) - .filter(Document.dataset_id == dataset_id, Document.tenant_id == current_user.current_tenant_id) + .where(Document.dataset_id == dataset_id, Document.tenant_id == current_user.current_tenant_id) .all() ) documents_status = [] for document in documents: completed_segments = ( db.session.query(DocumentSegment) - .filter( + .where( DocumentSegment.completed_at.isnot(None), DocumentSegment.document_id == str(document.id), DocumentSegment.status != "re_segment", @@ -533,7 +533,7 @@ class DatasetIndexingStatusApi(Resource): ) total_segments = ( db.session.query(DocumentSegment) - .filter(DocumentSegment.document_id == str(document.id), DocumentSegment.status != "re_segment") + .where(DocumentSegment.document_id == str(document.id), DocumentSegment.status != "re_segment") .count() ) # Create a dictionary with document attributes and additional fields @@ -568,7 +568,7 @@ class DatasetApiKeyApi(Resource): def get(self): keys = ( db.session.query(ApiToken) - .filter(ApiToken.type == self.resource_type, ApiToken.tenant_id == current_user.current_tenant_id) + .where(ApiToken.type == self.resource_type, ApiToken.tenant_id == current_user.current_tenant_id) .all() ) return {"items": keys} @@ -584,7 +584,7 @@ class DatasetApiKeyApi(Resource): current_key_count = ( db.session.query(ApiToken) - .filter(ApiToken.type == self.resource_type, ApiToken.tenant_id == current_user.current_tenant_id) + .where(ApiToken.type == self.resource_type, ApiToken.tenant_id == current_user.current_tenant_id) .count() ) @@ -620,7 +620,7 @@ class DatasetApiDeleteApi(Resource): key = ( db.session.query(ApiToken) - .filter( + .where( ApiToken.tenant_id == current_user.current_tenant_id, ApiToken.type == self.resource_type, ApiToken.id == api_key_id, diff --git a/api/controllers/console/datasets/datasets_document.py b/api/controllers/console/datasets/datasets_document.py index 28a2e93049..d14b208a4b 100644 --- a/api/controllers/console/datasets/datasets_document.py +++ b/api/controllers/console/datasets/datasets_document.py @@ -124,7 +124,7 @@ class GetProcessRuleApi(Resource): # get the latest process rule dataset_process_rule = ( db.session.query(DatasetProcessRule) - .filter(DatasetProcessRule.dataset_id == document.dataset_id) + .where(DatasetProcessRule.dataset_id == document.dataset_id) .order_by(DatasetProcessRule.created_at.desc()) .limit(1) .one_or_none() @@ -176,7 +176,7 @@ class DatasetDocumentListApi(Resource): if search: search = f"%{search}%" - query = query.filter(Document.name.like(search)) + query = query.where(Document.name.like(search)) if sort.startswith("-"): sort_logic = desc @@ -212,7 +212,7 @@ class DatasetDocumentListApi(Resource): for document in documents: completed_segments = ( db.session.query(DocumentSegment) - .filter( + .where( DocumentSegment.completed_at.isnot(None), DocumentSegment.document_id == str(document.id), DocumentSegment.status != "re_segment", @@ -221,7 +221,7 @@ class DatasetDocumentListApi(Resource): ) total_segments = ( db.session.query(DocumentSegment) - .filter(DocumentSegment.document_id == str(document.id), DocumentSegment.status != "re_segment") + .where(DocumentSegment.document_id == str(document.id), DocumentSegment.status != "re_segment") .count() ) document.completed_segments = completed_segments @@ -417,7 +417,7 @@ class DocumentIndexingEstimateApi(DocumentResource): file = ( db.session.query(UploadFile) - .filter(UploadFile.tenant_id == document.tenant_id, UploadFile.id == file_id) + .where(UploadFile.tenant_id == document.tenant_id, UploadFile.id == file_id) .first() ) @@ -492,7 +492,7 @@ class DocumentBatchIndexingEstimateApi(DocumentResource): file_id = data_source_info["upload_file_id"] file_detail = ( db.session.query(UploadFile) - .filter(UploadFile.tenant_id == current_user.current_tenant_id, UploadFile.id == file_id) + .where(UploadFile.tenant_id == current_user.current_tenant_id, UploadFile.id == file_id) .first() ) @@ -568,7 +568,7 @@ class DocumentBatchIndexingStatusApi(DocumentResource): for document in documents: completed_segments = ( db.session.query(DocumentSegment) - .filter( + .where( DocumentSegment.completed_at.isnot(None), DocumentSegment.document_id == str(document.id), DocumentSegment.status != "re_segment", @@ -577,7 +577,7 @@ class DocumentBatchIndexingStatusApi(DocumentResource): ) total_segments = ( db.session.query(DocumentSegment) - .filter(DocumentSegment.document_id == str(document.id), DocumentSegment.status != "re_segment") + .where(DocumentSegment.document_id == str(document.id), DocumentSegment.status != "re_segment") .count() ) # Create a dictionary with document attributes and additional fields @@ -611,7 +611,7 @@ class DocumentIndexingStatusApi(DocumentResource): completed_segments = ( db.session.query(DocumentSegment) - .filter( + .where( DocumentSegment.completed_at.isnot(None), DocumentSegment.document_id == str(document_id), DocumentSegment.status != "re_segment", @@ -620,7 +620,7 @@ class DocumentIndexingStatusApi(DocumentResource): ) total_segments = ( db.session.query(DocumentSegment) - .filter(DocumentSegment.document_id == str(document_id), DocumentSegment.status != "re_segment") + .where(DocumentSegment.document_id == str(document_id), DocumentSegment.status != "re_segment") .count() ) diff --git a/api/controllers/console/datasets/datasets_segments.py b/api/controllers/console/datasets/datasets_segments.py index 48142dbe73..b3704ce8b1 100644 --- a/api/controllers/console/datasets/datasets_segments.py +++ b/api/controllers/console/datasets/datasets_segments.py @@ -78,7 +78,7 @@ class DatasetDocumentSegmentListApi(Resource): query = ( select(DocumentSegment) - .filter( + .where( DocumentSegment.document_id == str(document_id), DocumentSegment.tenant_id == current_user.current_tenant_id, ) @@ -86,19 +86,19 @@ class DatasetDocumentSegmentListApi(Resource): ) if status_list: - query = query.filter(DocumentSegment.status.in_(status_list)) + query = query.where(DocumentSegment.status.in_(status_list)) if hit_count_gte is not None: - query = query.filter(DocumentSegment.hit_count >= hit_count_gte) + query = query.where(DocumentSegment.hit_count >= hit_count_gte) if keyword: query = query.where(DocumentSegment.content.ilike(f"%{keyword}%")) if args["enabled"].lower() != "all": if args["enabled"].lower() == "true": - query = query.filter(DocumentSegment.enabled == True) + query = query.where(DocumentSegment.enabled == True) elif args["enabled"].lower() == "false": - query = query.filter(DocumentSegment.enabled == False) + query = query.where(DocumentSegment.enabled == False) segments = db.paginate(select=query, page=page, per_page=limit, max_per_page=100, error_out=False) @@ -285,7 +285,7 @@ class DatasetDocumentSegmentUpdateApi(Resource): segment_id = str(segment_id) segment = ( db.session.query(DocumentSegment) - .filter(DocumentSegment.id == str(segment_id), DocumentSegment.tenant_id == current_user.current_tenant_id) + .where(DocumentSegment.id == str(segment_id), DocumentSegment.tenant_id == current_user.current_tenant_id) .first() ) if not segment: @@ -331,7 +331,7 @@ class DatasetDocumentSegmentUpdateApi(Resource): segment_id = str(segment_id) segment = ( db.session.query(DocumentSegment) - .filter(DocumentSegment.id == str(segment_id), DocumentSegment.tenant_id == current_user.current_tenant_id) + .where(DocumentSegment.id == str(segment_id), DocumentSegment.tenant_id == current_user.current_tenant_id) .first() ) if not segment: @@ -436,7 +436,7 @@ class ChildChunkAddApi(Resource): segment_id = str(segment_id) segment = ( db.session.query(DocumentSegment) - .filter(DocumentSegment.id == str(segment_id), DocumentSegment.tenant_id == current_user.current_tenant_id) + .where(DocumentSegment.id == str(segment_id), DocumentSegment.tenant_id == current_user.current_tenant_id) .first() ) if not segment: @@ -493,7 +493,7 @@ class ChildChunkAddApi(Resource): segment_id = str(segment_id) segment = ( db.session.query(DocumentSegment) - .filter(DocumentSegment.id == str(segment_id), DocumentSegment.tenant_id == current_user.current_tenant_id) + .where(DocumentSegment.id == str(segment_id), DocumentSegment.tenant_id == current_user.current_tenant_id) .first() ) if not segment: @@ -540,7 +540,7 @@ class ChildChunkAddApi(Resource): segment_id = str(segment_id) segment = ( db.session.query(DocumentSegment) - .filter(DocumentSegment.id == str(segment_id), DocumentSegment.tenant_id == current_user.current_tenant_id) + .where(DocumentSegment.id == str(segment_id), DocumentSegment.tenant_id == current_user.current_tenant_id) .first() ) if not segment: @@ -586,7 +586,7 @@ class ChildChunkUpdateApi(Resource): segment_id = str(segment_id) segment = ( db.session.query(DocumentSegment) - .filter(DocumentSegment.id == str(segment_id), DocumentSegment.tenant_id == current_user.current_tenant_id) + .where(DocumentSegment.id == str(segment_id), DocumentSegment.tenant_id == current_user.current_tenant_id) .first() ) if not segment: @@ -595,7 +595,7 @@ class ChildChunkUpdateApi(Resource): child_chunk_id = str(child_chunk_id) child_chunk = ( db.session.query(ChildChunk) - .filter(ChildChunk.id == str(child_chunk_id), ChildChunk.tenant_id == current_user.current_tenant_id) + .where(ChildChunk.id == str(child_chunk_id), ChildChunk.tenant_id == current_user.current_tenant_id) .first() ) if not child_chunk: @@ -635,7 +635,7 @@ class ChildChunkUpdateApi(Resource): segment_id = str(segment_id) segment = ( db.session.query(DocumentSegment) - .filter(DocumentSegment.id == str(segment_id), DocumentSegment.tenant_id == current_user.current_tenant_id) + .where(DocumentSegment.id == str(segment_id), DocumentSegment.tenant_id == current_user.current_tenant_id) .first() ) if not segment: @@ -644,7 +644,7 @@ class ChildChunkUpdateApi(Resource): child_chunk_id = str(child_chunk_id) child_chunk = ( db.session.query(ChildChunk) - .filter(ChildChunk.id == str(child_chunk_id), ChildChunk.tenant_id == current_user.current_tenant_id) + .where(ChildChunk.id == str(child_chunk_id), ChildChunk.tenant_id == current_user.current_tenant_id) .first() ) if not child_chunk: diff --git a/api/controllers/console/explore/installed_app.py b/api/controllers/console/explore/installed_app.py index 2087704c06..ffdf73c368 100644 --- a/api/controllers/console/explore/installed_app.py +++ b/api/controllers/console/explore/installed_app.py @@ -34,7 +34,7 @@ class InstalledAppsListApi(Resource): if app_id: installed_apps = ( db.session.query(InstalledApp) - .filter(and_(InstalledApp.tenant_id == current_tenant_id, InstalledApp.app_id == app_id)) + .where(and_(InstalledApp.tenant_id == current_tenant_id, InstalledApp.app_id == app_id)) .all() ) else: @@ -109,7 +109,7 @@ class InstalledAppsListApi(Resource): installed_app = ( db.session.query(InstalledApp) - .filter(and_(InstalledApp.app_id == args["app_id"], InstalledApp.tenant_id == current_tenant_id)) + .where(and_(InstalledApp.app_id == args["app_id"], InstalledApp.tenant_id == current_tenant_id)) .first() ) diff --git a/api/controllers/console/explore/wraps.py b/api/controllers/console/explore/wraps.py index afbd78bd5b..de97fb149e 100644 --- a/api/controllers/console/explore/wraps.py +++ b/api/controllers/console/explore/wraps.py @@ -28,7 +28,7 @@ def installed_app_required(view=None): installed_app = ( db.session.query(InstalledApp) - .filter( + .where( InstalledApp.id == str(installed_app_id), InstalledApp.tenant_id == current_user.current_tenant_id ) .first() diff --git a/api/controllers/console/workspace/__init__.py b/api/controllers/console/workspace/__init__.py index 072e904caf..ef814dd738 100644 --- a/api/controllers/console/workspace/__init__.py +++ b/api/controllers/console/workspace/__init__.py @@ -21,7 +21,7 @@ def plugin_permission_required( with Session(db.engine) as session: permission = ( session.query(TenantPluginPermission) - .filter( + .where( TenantPluginPermission.tenant_id == tenant_id, ) .first() diff --git a/api/controllers/console/workspace/account.py b/api/controllers/console/workspace/account.py index c238424ef5..5cd2e0cd2d 100644 --- a/api/controllers/console/workspace/account.py +++ b/api/controllers/console/workspace/account.py @@ -68,7 +68,7 @@ class AccountInitApi(Resource): # check invitation code invitation_code = ( db.session.query(InvitationCode) - .filter( + .where( InvitationCode.code == args["invitation_code"], InvitationCode.status == "unused", ) diff --git a/api/controllers/inner_api/plugin/wraps.py b/api/controllers/inner_api/plugin/wraps.py index 02708428b6..b533614d4d 100644 --- a/api/controllers/inner_api/plugin/wraps.py +++ b/api/controllers/inner_api/plugin/wraps.py @@ -71,7 +71,7 @@ def get_user_tenant(view: Optional[Callable] = None): try: tenant_model = ( db.session.query(Tenant) - .filter( + .where( Tenant.id == tenant_id, ) .first() diff --git a/api/controllers/service_api/dataset/document.py b/api/controllers/service_api/dataset/document.py index 9876b5028a..ac85c0b38d 100644 --- a/api/controllers/service_api/dataset/document.py +++ b/api/controllers/service_api/dataset/document.py @@ -406,7 +406,7 @@ class DocumentListApi(DatasetApiResource): if search: search = f"%{search}%" - query = query.filter(Document.name.like(search)) + query = query.where(Document.name.like(search)) query = query.order_by(desc(Document.created_at), desc(Document.position)) @@ -441,7 +441,7 @@ class DocumentIndexingStatusApi(DatasetApiResource): for document in documents: completed_segments = ( db.session.query(DocumentSegment) - .filter( + .where( DocumentSegment.completed_at.isnot(None), DocumentSegment.document_id == str(document.id), DocumentSegment.status != "re_segment", @@ -450,7 +450,7 @@ class DocumentIndexingStatusApi(DatasetApiResource): ) total_segments = ( db.session.query(DocumentSegment) - .filter(DocumentSegment.document_id == str(document.id), DocumentSegment.status != "re_segment") + .where(DocumentSegment.document_id == str(document.id), DocumentSegment.status != "re_segment") .count() ) # Create a dictionary with document attributes and additional fields diff --git a/api/controllers/service_api/wraps.py b/api/controllers/service_api/wraps.py index 336b7e1f25..da81cc8bc3 100644 --- a/api/controllers/service_api/wraps.py +++ b/api/controllers/service_api/wraps.py @@ -62,10 +62,10 @@ def validate_app_token(view: Optional[Callable] = None, *, fetch_user_arg: Optio tenant_account_join = ( db.session.query(Tenant, TenantAccountJoin) - .filter(Tenant.id == api_token.tenant_id) - .filter(TenantAccountJoin.tenant_id == Tenant.id) - .filter(TenantAccountJoin.role.in_(["owner"])) - .filter(Tenant.status == TenantStatus.NORMAL) + .where(Tenant.id == api_token.tenant_id) + .where(TenantAccountJoin.tenant_id == Tenant.id) + .where(TenantAccountJoin.role.in_(["owner"])) + .where(Tenant.status == TenantStatus.NORMAL) .one_or_none() ) # TODO: only owner information is required, so only one is returned. if tenant_account_join: @@ -213,10 +213,10 @@ def validate_dataset_token(view=None): api_token = validate_and_get_api_token("dataset") tenant_account_join = ( db.session.query(Tenant, TenantAccountJoin) - .filter(Tenant.id == api_token.tenant_id) - .filter(TenantAccountJoin.tenant_id == Tenant.id) - .filter(TenantAccountJoin.role.in_(["owner"])) - .filter(Tenant.status == TenantStatus.NORMAL) + .where(Tenant.id == api_token.tenant_id) + .where(TenantAccountJoin.tenant_id == Tenant.id) + .where(TenantAccountJoin.role.in_(["owner"])) + .where(Tenant.status == TenantStatus.NORMAL) .one_or_none() ) # TODO: only owner information is required, so only one is returned. if tenant_account_join: @@ -293,7 +293,7 @@ def create_or_update_end_user_for_user_id(app_model: App, user_id: Optional[str] end_user = ( db.session.query(EndUser) - .filter( + .where( EndUser.tenant_id == app_model.tenant_id, EndUser.app_id == app_model.id, EndUser.session_id == user_id, diff --git a/api/core/agent/base_agent_runner.py b/api/core/agent/base_agent_runner.py index e800558577..1f3c218d59 100644 --- a/api/core/agent/base_agent_runner.py +++ b/api/core/agent/base_agent_runner.py @@ -99,7 +99,7 @@ class BaseAgentRunner(AppRunner): # get how many agent thoughts have been created self.agent_thought_count = ( db.session.query(MessageAgentThought) - .filter( + .where( MessageAgentThought.message_id == self.message.id, ) .count() diff --git a/api/core/app/apps/completion/app_generator.py b/api/core/app/apps/completion/app_generator.py index 195e7e2e3d..9356bd1cea 100644 --- a/api/core/app/apps/completion/app_generator.py +++ b/api/core/app/apps/completion/app_generator.py @@ -248,7 +248,7 @@ class CompletionAppGenerator(MessageBasedAppGenerator): """ message = ( db.session.query(Message) - .filter( + .where( Message.id == message_id, Message.app_id == app_model.id, Message.from_source == ("api" if isinstance(user, EndUser) else "console"), diff --git a/api/core/app/apps/message_based_app_generator.py b/api/core/app/apps/message_based_app_generator.py index d52f32e847..f5bc480f0a 100644 --- a/api/core/app/apps/message_based_app_generator.py +++ b/api/core/app/apps/message_based_app_generator.py @@ -85,7 +85,7 @@ class MessageBasedAppGenerator(BaseAppGenerator): if conversation: app_model_config = ( db.session.query(AppModelConfig) - .filter(AppModelConfig.id == conversation.app_model_config_id, AppModelConfig.app_id == app_model.id) + .where(AppModelConfig.id == conversation.app_model_config_id, AppModelConfig.app_id == app_model.id) .first() ) diff --git a/api/core/callback_handler/index_tool_callback_handler.py b/api/core/callback_handler/index_tool_callback_handler.py index 1d007c8ad0..c55ba5e0fe 100644 --- a/api/core/callback_handler/index_tool_callback_handler.py +++ b/api/core/callback_handler/index_tool_callback_handler.py @@ -59,7 +59,7 @@ class DatasetIndexToolCallbackHandler: if dataset_document.doc_form == IndexType.PARENT_CHILD_INDEX: child_chunk = ( db.session.query(ChildChunk) - .filter( + .where( ChildChunk.index_node_id == document.metadata["doc_id"], ChildChunk.dataset_id == dataset_document.dataset_id, ChildChunk.document_id == dataset_document.id, @@ -69,7 +69,7 @@ class DatasetIndexToolCallbackHandler: if child_chunk: segment = ( db.session.query(DocumentSegment) - .filter(DocumentSegment.id == child_chunk.segment_id) + .where(DocumentSegment.id == child_chunk.segment_id) .update( {DocumentSegment.hit_count: DocumentSegment.hit_count + 1}, synchronize_session=False ) @@ -80,7 +80,7 @@ class DatasetIndexToolCallbackHandler: ) if "dataset_id" in document.metadata: - query = query.filter(DocumentSegment.dataset_id == document.metadata["dataset_id"]) + query = query.where(DocumentSegment.dataset_id == document.metadata["dataset_id"]) # add hit count to document segment query.update({DocumentSegment.hit_count: DocumentSegment.hit_count + 1}, synchronize_session=False) diff --git a/api/core/entities/provider_configuration.py b/api/core/entities/provider_configuration.py index 66d8d0f414..af5c18e267 100644 --- a/api/core/entities/provider_configuration.py +++ b/api/core/entities/provider_configuration.py @@ -191,7 +191,7 @@ class ProviderConfiguration(BaseModel): provider_record = ( db.session.query(Provider) - .filter( + .where( Provider.tenant_id == self.tenant_id, Provider.provider_type == ProviderType.CUSTOM.value, Provider.provider_name.in_(provider_names), @@ -351,7 +351,7 @@ class ProviderConfiguration(BaseModel): provider_model_record = ( db.session.query(ProviderModel) - .filter( + .where( ProviderModel.tenant_id == self.tenant_id, ProviderModel.provider_name.in_(provider_names), ProviderModel.model_name == model, @@ -481,7 +481,7 @@ class ProviderConfiguration(BaseModel): return ( db.session.query(ProviderModelSetting) - .filter( + .where( ProviderModelSetting.tenant_id == self.tenant_id, ProviderModelSetting.provider_name.in_(provider_names), ProviderModelSetting.model_type == model_type.to_origin_model_type(), @@ -560,7 +560,7 @@ class ProviderConfiguration(BaseModel): return ( db.session.query(LoadBalancingModelConfig) - .filter( + .where( LoadBalancingModelConfig.tenant_id == self.tenant_id, LoadBalancingModelConfig.provider_name.in_(provider_names), LoadBalancingModelConfig.model_type == model_type.to_origin_model_type(), @@ -583,7 +583,7 @@ class ProviderConfiguration(BaseModel): load_balancing_config_count = ( db.session.query(LoadBalancingModelConfig) - .filter( + .where( LoadBalancingModelConfig.tenant_id == self.tenant_id, LoadBalancingModelConfig.provider_name.in_(provider_names), LoadBalancingModelConfig.model_type == model_type.to_origin_model_type(), @@ -627,7 +627,7 @@ class ProviderConfiguration(BaseModel): model_setting = ( db.session.query(ProviderModelSetting) - .filter( + .where( ProviderModelSetting.tenant_id == self.tenant_id, ProviderModelSetting.provider_name.in_(provider_names), ProviderModelSetting.model_type == model_type.to_origin_model_type(), @@ -693,7 +693,7 @@ class ProviderConfiguration(BaseModel): preferred_model_provider = ( db.session.query(TenantPreferredModelProvider) - .filter( + .where( TenantPreferredModelProvider.tenant_id == self.tenant_id, TenantPreferredModelProvider.provider_name.in_(provider_names), ) diff --git a/api/core/external_data_tool/api/api.py b/api/core/external_data_tool/api/api.py index 53acdf075f..2099a9e34c 100644 --- a/api/core/external_data_tool/api/api.py +++ b/api/core/external_data_tool/api/api.py @@ -32,7 +32,7 @@ class ApiExternalDataTool(ExternalDataTool): # get api_based_extension api_based_extension = ( db.session.query(APIBasedExtension) - .filter(APIBasedExtension.tenant_id == tenant_id, APIBasedExtension.id == api_based_extension_id) + .where(APIBasedExtension.tenant_id == tenant_id, APIBasedExtension.id == api_based_extension_id) .first() ) @@ -56,7 +56,7 @@ class ApiExternalDataTool(ExternalDataTool): # get api_based_extension api_based_extension = ( db.session.query(APIBasedExtension) - .filter(APIBasedExtension.tenant_id == self.tenant_id, APIBasedExtension.id == api_based_extension_id) + .where(APIBasedExtension.tenant_id == self.tenant_id, APIBasedExtension.id == api_based_extension_id) .first() ) diff --git a/api/core/indexing_runner.py b/api/core/indexing_runner.py index 766783dcf2..fc5d0547fc 100644 --- a/api/core/indexing_runner.py +++ b/api/core/indexing_runner.py @@ -59,7 +59,7 @@ class IndexingRunner: # get the process rule processing_rule = ( db.session.query(DatasetProcessRule) - .filter(DatasetProcessRule.id == dataset_document.dataset_process_rule_id) + .where(DatasetProcessRule.id == dataset_document.dataset_process_rule_id) .first() ) if not processing_rule: @@ -124,7 +124,7 @@ class IndexingRunner: # get the process rule processing_rule = ( db.session.query(DatasetProcessRule) - .filter(DatasetProcessRule.id == dataset_document.dataset_process_rule_id) + .where(DatasetProcessRule.id == dataset_document.dataset_process_rule_id) .first() ) if not processing_rule: @@ -212,7 +212,7 @@ class IndexingRunner: # get the process rule processing_rule = ( db.session.query(DatasetProcessRule) - .filter(DatasetProcessRule.id == dataset_document.dataset_process_rule_id) + .where(DatasetProcessRule.id == dataset_document.dataset_process_rule_id) .first() ) diff --git a/api/core/mcp/server/streamable_http.py b/api/core/mcp/server/streamable_http.py index 39f7c6336d..496b5432a0 100644 --- a/api/core/mcp/server/streamable_http.py +++ b/api/core/mcp/server/streamable_http.py @@ -192,7 +192,7 @@ class MCPServerStreamableHTTPRequestHandler: def retrieve_end_user(self): return ( db.session.query(EndUser) - .filter(EndUser.external_user_id == self.mcp_server.id, EndUser.type == "mcp") + .where(EndUser.external_user_id == self.mcp_server.id, EndUser.type == "mcp") .first() ) diff --git a/api/core/moderation/api/api.py b/api/core/moderation/api/api.py index c65a3885fd..332381555b 100644 --- a/api/core/moderation/api/api.py +++ b/api/core/moderation/api/api.py @@ -89,7 +89,7 @@ class ApiModeration(Moderation): def _get_api_based_extension(tenant_id: str, api_based_extension_id: str) -> Optional[APIBasedExtension]: extension = ( db.session.query(APIBasedExtension) - .filter(APIBasedExtension.tenant_id == tenant_id, APIBasedExtension.id == api_based_extension_id) + .where(APIBasedExtension.tenant_id == tenant_id, APIBasedExtension.id == api_based_extension_id) .first() ) diff --git a/api/core/ops/arize_phoenix_trace/arize_phoenix_trace.py b/api/core/ops/arize_phoenix_trace/arize_phoenix_trace.py index 3385a5d5e0..1b72a4775a 100644 --- a/api/core/ops/arize_phoenix_trace/arize_phoenix_trace.py +++ b/api/core/ops/arize_phoenix_trace/arize_phoenix_trace.py @@ -703,7 +703,7 @@ class ArizePhoenixDataTrace(BaseTraceInstance): WorkflowNodeExecutionModel.process_data, WorkflowNodeExecutionModel.execution_metadata, ) - .filter(WorkflowNodeExecutionModel.workflow_run_id == workflow_run_id) + .where(WorkflowNodeExecutionModel.workflow_run_id == workflow_run_id) .all() ) return workflow_nodes diff --git a/api/core/ops/ops_trace_manager.py b/api/core/ops/ops_trace_manager.py index cd335a3231..2b546b47cc 100644 --- a/api/core/ops/ops_trace_manager.py +++ b/api/core/ops/ops_trace_manager.py @@ -218,7 +218,7 @@ class OpsTraceManager: """ trace_config_data: Optional[TraceAppConfig] = ( db.session.query(TraceAppConfig) - .filter(TraceAppConfig.app_id == app_id, TraceAppConfig.tracing_provider == tracing_provider) + .where(TraceAppConfig.app_id == app_id, TraceAppConfig.tracing_provider == tracing_provider) .first() ) @@ -304,7 +304,7 @@ class OpsTraceManager: if conversation_data.app_model_config_id: app_model_config = ( db.session.query(AppModelConfig) - .filter(AppModelConfig.id == conversation_data.app_model_config_id) + .where(AppModelConfig.id == conversation_data.app_model_config_id) .first() ) elif conversation_data.app_model_config_id is None and conversation_data.override_model_configs: diff --git a/api/core/provider_manager.py b/api/core/provider_manager.py index 488a394679..6de4f3a303 100644 --- a/api/core/provider_manager.py +++ b/api/core/provider_manager.py @@ -275,7 +275,7 @@ class ProviderManager: # Get the corresponding TenantDefaultModel record default_model = ( db.session.query(TenantDefaultModel) - .filter( + .where( TenantDefaultModel.tenant_id == tenant_id, TenantDefaultModel.model_type == model_type.to_origin_model_type(), ) @@ -367,7 +367,7 @@ class ProviderManager: # Get the list of available models from get_configurations and check if it is LLM default_model = ( db.session.query(TenantDefaultModel) - .filter( + .where( TenantDefaultModel.tenant_id == tenant_id, TenantDefaultModel.model_type == model_type.to_origin_model_type(), ) @@ -541,7 +541,7 @@ class ProviderManager: db.session.rollback() existed_provider_record = ( db.session.query(Provider) - .filter( + .where( Provider.tenant_id == tenant_id, Provider.provider_name == ModelProviderID(provider_name).provider_name, Provider.provider_type == ProviderType.SYSTEM.value, diff --git a/api/core/rag/datasource/keyword/jieba/jieba.py b/api/core/rag/datasource/keyword/jieba/jieba.py index 36fe4a9b0a..ec3a23bd96 100644 --- a/api/core/rag/datasource/keyword/jieba/jieba.py +++ b/api/core/rag/datasource/keyword/jieba/jieba.py @@ -97,7 +97,7 @@ class Jieba(BaseKeyword): DocumentSegment.dataset_id == self.dataset.id, DocumentSegment.index_node_id == chunk_index ) if document_ids_filter: - segment_query = segment_query.filter(DocumentSegment.document_id.in_(document_ids_filter)) + segment_query = segment_query.where(DocumentSegment.document_id.in_(document_ids_filter)) segment = segment_query.first() if segment: @@ -214,7 +214,7 @@ class Jieba(BaseKeyword): def _update_segment_keywords(self, dataset_id: str, node_id: str, keywords: list[str]): document_segment = ( db.session.query(DocumentSegment) - .filter(DocumentSegment.dataset_id == dataset_id, DocumentSegment.index_node_id == node_id) + .where(DocumentSegment.dataset_id == dataset_id, DocumentSegment.index_node_id == node_id) .first() ) if document_segment: diff --git a/api/core/rag/datasource/retrieval_service.py b/api/core/rag/datasource/retrieval_service.py index 28e93a89fa..e872a4e375 100644 --- a/api/core/rag/datasource/retrieval_service.py +++ b/api/core/rag/datasource/retrieval_service.py @@ -294,7 +294,7 @@ class RetrievalService: dataset_documents = { doc.id: doc for doc in db.session.query(DatasetDocument) - .filter(DatasetDocument.id.in_(document_ids)) + .where(DatasetDocument.id.in_(document_ids)) .options(load_only(DatasetDocument.id, DatasetDocument.doc_form, DatasetDocument.dataset_id)) .all() } @@ -326,7 +326,7 @@ class RetrievalService: segment = ( db.session.query(DocumentSegment) - .filter( + .where( DocumentSegment.dataset_id == dataset_document.dataset_id, DocumentSegment.enabled == True, DocumentSegment.status == "completed", @@ -381,7 +381,7 @@ class RetrievalService: segment = ( db.session.query(DocumentSegment) - .filter( + .where( DocumentSegment.dataset_id == dataset_document.dataset_id, DocumentSegment.enabled == True, DocumentSegment.status == "completed", diff --git a/api/core/rag/datasource/vdb/qdrant/qdrant_vector.py b/api/core/rag/datasource/vdb/qdrant/qdrant_vector.py index 05fa73011a..dfb95a1839 100644 --- a/api/core/rag/datasource/vdb/qdrant/qdrant_vector.py +++ b/api/core/rag/datasource/vdb/qdrant/qdrant_vector.py @@ -443,7 +443,7 @@ class QdrantVectorFactory(AbstractVectorFactory): if dataset.collection_binding_id: dataset_collection_binding = ( db.session.query(DatasetCollectionBinding) - .filter(DatasetCollectionBinding.id == dataset.collection_binding_id) + .where(DatasetCollectionBinding.id == dataset.collection_binding_id) .one_or_none() ) if dataset_collection_binding: diff --git a/api/core/rag/datasource/vdb/tidb_on_qdrant/tidb_on_qdrant_vector.py b/api/core/rag/datasource/vdb/tidb_on_qdrant/tidb_on_qdrant_vector.py index 2ca38714d8..ba6a9654f0 100644 --- a/api/core/rag/datasource/vdb/tidb_on_qdrant/tidb_on_qdrant_vector.py +++ b/api/core/rag/datasource/vdb/tidb_on_qdrant/tidb_on_qdrant_vector.py @@ -424,7 +424,7 @@ class TidbOnQdrantVectorFactory(AbstractVectorFactory): with redis_client.lock("create_tidb_serverless_cluster_lock", timeout=900): tidb_auth_binding = ( db.session.query(TidbAuthBinding) - .filter(TidbAuthBinding.tenant_id == dataset.tenant_id) + .where(TidbAuthBinding.tenant_id == dataset.tenant_id) .one_or_none() ) if tidb_auth_binding: @@ -433,7 +433,7 @@ class TidbOnQdrantVectorFactory(AbstractVectorFactory): else: idle_tidb_auth_binding = ( db.session.query(TidbAuthBinding) - .filter(TidbAuthBinding.active == False, TidbAuthBinding.status == "ACTIVE") + .where(TidbAuthBinding.active == False, TidbAuthBinding.status == "ACTIVE") .limit(1) .one_or_none() ) diff --git a/api/core/rag/datasource/vdb/vector_factory.py b/api/core/rag/datasource/vdb/vector_factory.py index 00080b0fae..e018f7d3d4 100644 --- a/api/core/rag/datasource/vdb/vector_factory.py +++ b/api/core/rag/datasource/vdb/vector_factory.py @@ -47,7 +47,7 @@ class Vector: if dify_config.VECTOR_STORE_WHITELIST_ENABLE: whitelist = ( db.session.query(Whitelist) - .filter(Whitelist.tenant_id == self._dataset.tenant_id, Whitelist.category == "vector_db") + .where(Whitelist.tenant_id == self._dataset.tenant_id, Whitelist.category == "vector_db") .one_or_none() ) if whitelist: diff --git a/api/core/rag/docstore/dataset_docstore.py b/api/core/rag/docstore/dataset_docstore.py index 5d86d15d20..f844770a20 100644 --- a/api/core/rag/docstore/dataset_docstore.py +++ b/api/core/rag/docstore/dataset_docstore.py @@ -63,7 +63,7 @@ class DatasetDocumentStore: def add_documents(self, docs: Sequence[Document], allow_update: bool = True, save_child: bool = False) -> None: max_position = ( db.session.query(func.max(DocumentSegment.position)) - .filter(DocumentSegment.document_id == self._document_id) + .where(DocumentSegment.document_id == self._document_id) .scalar() ) @@ -230,7 +230,7 @@ class DatasetDocumentStore: def get_document_segment(self, doc_id: str) -> Optional[DocumentSegment]: document_segment = ( db.session.query(DocumentSegment) - .filter(DocumentSegment.dataset_id == self._dataset.id, DocumentSegment.index_node_id == doc_id) + .where(DocumentSegment.dataset_id == self._dataset.id, DocumentSegment.index_node_id == doc_id) .first() ) diff --git a/api/core/rag/extractor/notion_extractor.py b/api/core/rag/extractor/notion_extractor.py index 81a0810e28..875626eb34 100644 --- a/api/core/rag/extractor/notion_extractor.py +++ b/api/core/rag/extractor/notion_extractor.py @@ -366,7 +366,7 @@ class NotionExtractor(BaseExtractor): def _get_access_token(cls, tenant_id: str, notion_workspace_id: str) -> str: data_source_binding = ( db.session.query(DataSourceOauthBinding) - .filter( + .where( db.and_( DataSourceOauthBinding.tenant_id == tenant_id, DataSourceOauthBinding.provider == "notion", diff --git a/api/core/rag/index_processor/processor/parent_child_index_processor.py b/api/core/rag/index_processor/processor/parent_child_index_processor.py index 3156dc28f0..52756fbacd 100644 --- a/api/core/rag/index_processor/processor/parent_child_index_processor.py +++ b/api/core/rag/index_processor/processor/parent_child_index_processor.py @@ -118,7 +118,7 @@ class ParentChildIndexProcessor(BaseIndexProcessor): child_node_ids = ( db.session.query(ChildChunk.index_node_id) .join(DocumentSegment, ChildChunk.segment_id == DocumentSegment.id) - .filter( + .where( DocumentSegment.dataset_id == dataset.id, DocumentSegment.index_node_id.in_(node_ids), ChildChunk.dataset_id == dataset.id, diff --git a/api/core/rag/retrieval/dataset_retrieval.py b/api/core/rag/retrieval/dataset_retrieval.py index 1e79b0995c..a25bc65646 100644 --- a/api/core/rag/retrieval/dataset_retrieval.py +++ b/api/core/rag/retrieval/dataset_retrieval.py @@ -242,7 +242,7 @@ class DatasetRetrieval: dataset = db.session.query(Dataset).filter_by(id=segment.dataset_id).first() document = ( db.session.query(DatasetDocument) - .filter( + .where( DatasetDocument.id == segment.document_id, DatasetDocument.enabled == True, DatasetDocument.archived == False, @@ -516,14 +516,14 @@ class DatasetRetrieval: if document.metadata is not None: dataset_document = ( db.session.query(DatasetDocument) - .filter(DatasetDocument.id == document.metadata["document_id"]) + .where(DatasetDocument.id == document.metadata["document_id"]) .first() ) if dataset_document: if dataset_document.doc_form == IndexType.PARENT_CHILD_INDEX: child_chunk = ( db.session.query(ChildChunk) - .filter( + .where( ChildChunk.index_node_id == document.metadata["doc_id"], ChildChunk.dataset_id == dataset_document.dataset_id, ChildChunk.document_id == dataset_document.id, @@ -533,7 +533,7 @@ class DatasetRetrieval: if child_chunk: segment = ( db.session.query(DocumentSegment) - .filter(DocumentSegment.id == child_chunk.segment_id) + .where(DocumentSegment.id == child_chunk.segment_id) .update( {DocumentSegment.hit_count: DocumentSegment.hit_count + 1}, synchronize_session=False, @@ -547,7 +547,7 @@ class DatasetRetrieval: # if 'dataset_id' in document.metadata: if "dataset_id" in document.metadata: - query = query.filter(DocumentSegment.dataset_id == document.metadata["dataset_id"]) + query = query.where(DocumentSegment.dataset_id == document.metadata["dataset_id"]) # add hit count to document segment query.update( @@ -930,9 +930,9 @@ class DatasetRetrieval: raise ValueError("Invalid metadata filtering mode") if filters: if metadata_filtering_conditions and metadata_filtering_conditions.logical_operator == "and": # type: ignore - document_query = document_query.filter(and_(*filters)) + document_query = document_query.where(and_(*filters)) else: - document_query = document_query.filter(or_(*filters)) + document_query = document_query.where(or_(*filters)) documents = document_query.all() # group by dataset_id metadata_filter_document_ids = defaultdict(list) if documents else None # type: ignore diff --git a/api/core/tools/custom_tool/provider.py b/api/core/tools/custom_tool/provider.py index fbe1d79137..95fab6151a 100644 --- a/api/core/tools/custom_tool/provider.py +++ b/api/core/tools/custom_tool/provider.py @@ -178,7 +178,7 @@ class ApiToolProviderController(ToolProviderController): # get tenant api providers db_providers: list[ApiToolProvider] = ( db.session.query(ApiToolProvider) - .filter(ApiToolProvider.tenant_id == tenant_id, ApiToolProvider.name == self.entity.identity.name) + .where(ApiToolProvider.tenant_id == tenant_id, ApiToolProvider.name == self.entity.identity.name) .all() ) diff --git a/api/core/tools/tool_file_manager.py b/api/core/tools/tool_file_manager.py index ece02f9d59..ff054041cf 100644 --- a/api/core/tools/tool_file_manager.py +++ b/api/core/tools/tool_file_manager.py @@ -160,7 +160,7 @@ class ToolFileManager: with Session(self._engine, expire_on_commit=False) as session: tool_file: ToolFile | None = ( session.query(ToolFile) - .filter( + .where( ToolFile.id == id, ) .first() @@ -184,7 +184,7 @@ class ToolFileManager: with Session(self._engine, expire_on_commit=False) as session: message_file: MessageFile | None = ( session.query(MessageFile) - .filter( + .where( MessageFile.id == id, ) .first() @@ -204,7 +204,7 @@ class ToolFileManager: tool_file: ToolFile | None = ( session.query(ToolFile) - .filter( + .where( ToolFile.id == tool_file_id, ) .first() @@ -228,7 +228,7 @@ class ToolFileManager: with Session(self._engine, expire_on_commit=False) as session: tool_file: ToolFile | None = ( session.query(ToolFile) - .filter( + .where( ToolFile.id == tool_file_id, ) .first() diff --git a/api/core/tools/tool_label_manager.py b/api/core/tools/tool_label_manager.py index 06e747fbb2..cdfefbadb3 100644 --- a/api/core/tools/tool_label_manager.py +++ b/api/core/tools/tool_label_manager.py @@ -57,7 +57,7 @@ class ToolLabelManager: labels = ( db.session.query(ToolLabelBinding.label_name) - .filter( + .where( ToolLabelBinding.tool_id == provider_id, ToolLabelBinding.tool_type == controller.provider_type.value, ) diff --git a/api/core/tools/tool_manager.py b/api/core/tools/tool_manager.py index 4cd8df3f4f..f286466de0 100644 --- a/api/core/tools/tool_manager.py +++ b/api/core/tools/tool_manager.py @@ -198,7 +198,7 @@ class ToolManager: try: builtin_provider = ( db.session.query(BuiltinToolProvider) - .filter( + .where( BuiltinToolProvider.tenant_id == tenant_id, BuiltinToolProvider.id == credential_id, ) @@ -216,7 +216,7 @@ class ToolManager: # use the default provider builtin_provider = ( db.session.query(BuiltinToolProvider) - .filter( + .where( BuiltinToolProvider.tenant_id == tenant_id, (BuiltinToolProvider.provider == str(provider_id_entity)) | (BuiltinToolProvider.provider == provider_id_entity.provider_name), @@ -229,7 +229,7 @@ class ToolManager: else: builtin_provider = ( db.session.query(BuiltinToolProvider) - .filter(BuiltinToolProvider.tenant_id == tenant_id, (BuiltinToolProvider.provider == provider_id)) + .where(BuiltinToolProvider.tenant_id == tenant_id, (BuiltinToolProvider.provider == provider_id)) .order_by(BuiltinToolProvider.is_default.desc(), BuiltinToolProvider.created_at.asc()) .first() ) @@ -316,7 +316,7 @@ class ToolManager: elif provider_type == ToolProviderType.WORKFLOW: workflow_provider = ( db.session.query(WorkflowToolProvider) - .filter(WorkflowToolProvider.tenant_id == tenant_id, WorkflowToolProvider.id == provider_id) + .where(WorkflowToolProvider.tenant_id == tenant_id, WorkflowToolProvider.id == provider_id) .first() ) @@ -731,7 +731,7 @@ class ToolManager: """ provider: ApiToolProvider | None = ( db.session.query(ApiToolProvider) - .filter( + .where( ApiToolProvider.id == provider_id, ApiToolProvider.tenant_id == tenant_id, ) @@ -768,7 +768,7 @@ class ToolManager: """ provider: MCPToolProvider | None = ( db.session.query(MCPToolProvider) - .filter( + .where( MCPToolProvider.server_identifier == provider_id, MCPToolProvider.tenant_id == tenant_id, ) @@ -793,7 +793,7 @@ class ToolManager: provider_name = provider provider_obj: ApiToolProvider | None = ( db.session.query(ApiToolProvider) - .filter( + .where( ApiToolProvider.tenant_id == tenant_id, ApiToolProvider.name == provider, ) @@ -885,7 +885,7 @@ class ToolManager: try: workflow_provider: WorkflowToolProvider | None = ( db.session.query(WorkflowToolProvider) - .filter(WorkflowToolProvider.tenant_id == tenant_id, WorkflowToolProvider.id == provider_id) + .where(WorkflowToolProvider.tenant_id == tenant_id, WorkflowToolProvider.id == provider_id) .first() ) @@ -902,7 +902,7 @@ class ToolManager: try: api_provider: ApiToolProvider | None = ( db.session.query(ApiToolProvider) - .filter(ApiToolProvider.tenant_id == tenant_id, ApiToolProvider.id == provider_id) + .where(ApiToolProvider.tenant_id == tenant_id, ApiToolProvider.id == provider_id) .first() ) @@ -919,7 +919,7 @@ class ToolManager: try: mcp_provider: MCPToolProvider | None = ( db.session.query(MCPToolProvider) - .filter(MCPToolProvider.tenant_id == tenant_id, MCPToolProvider.server_identifier == provider_id) + .where(MCPToolProvider.tenant_id == tenant_id, MCPToolProvider.server_identifier == provider_id) .first() ) diff --git a/api/core/tools/utils/dataset_retriever/dataset_multi_retriever_tool.py b/api/core/tools/utils/dataset_retriever/dataset_multi_retriever_tool.py index 04180645ee..7eb4bc017a 100644 --- a/api/core/tools/utils/dataset_retriever/dataset_multi_retriever_tool.py +++ b/api/core/tools/utils/dataset_retriever/dataset_multi_retriever_tool.py @@ -87,7 +87,7 @@ class DatasetMultiRetrieverTool(DatasetRetrieverBaseTool): index_node_ids = [document.metadata["doc_id"] for document in all_documents if document.metadata] segments = ( db.session.query(DocumentSegment) - .filter( + .where( DocumentSegment.dataset_id.in_(self.dataset_ids), DocumentSegment.completed_at.isnot(None), DocumentSegment.status == "completed", @@ -114,7 +114,7 @@ class DatasetMultiRetrieverTool(DatasetRetrieverBaseTool): dataset = db.session.query(Dataset).filter_by(id=segment.dataset_id).first() document = ( db.session.query(Document) - .filter( + .where( Document.id == segment.document_id, Document.enabled == True, Document.archived == False, diff --git a/api/core/tools/utils/dataset_retriever/dataset_retriever_tool.py b/api/core/tools/utils/dataset_retriever/dataset_retriever_tool.py index dcd2f7273a..f7689d7707 100644 --- a/api/core/tools/utils/dataset_retriever/dataset_retriever_tool.py +++ b/api/core/tools/utils/dataset_retriever/dataset_retriever_tool.py @@ -190,7 +190,7 @@ class DatasetRetrieverTool(DatasetRetrieverBaseTool): dataset = db.session.query(Dataset).filter_by(id=segment.dataset_id).first() document = ( db.session.query(DatasetDocument) # type: ignore - .filter( + .where( DatasetDocument.id == segment.document_id, DatasetDocument.enabled == True, DatasetDocument.archived == False, diff --git a/api/core/tools/workflow_as_tool/provider.py b/api/core/tools/workflow_as_tool/provider.py index 7661e1e6a5..83f5f558d5 100644 --- a/api/core/tools/workflow_as_tool/provider.py +++ b/api/core/tools/workflow_as_tool/provider.py @@ -84,7 +84,7 @@ class WorkflowToolProviderController(ToolProviderController): """ workflow: Workflow | None = ( db.session.query(Workflow) - .filter(Workflow.app_id == db_provider.app_id, Workflow.version == db_provider.version) + .where(Workflow.app_id == db_provider.app_id, Workflow.version == db_provider.version) .first() ) @@ -190,7 +190,7 @@ class WorkflowToolProviderController(ToolProviderController): db_providers: WorkflowToolProvider | None = ( db.session.query(WorkflowToolProvider) - .filter( + .where( WorkflowToolProvider.tenant_id == tenant_id, WorkflowToolProvider.app_id == self.provider_id, ) diff --git a/api/core/tools/workflow_as_tool/tool.py b/api/core/tools/workflow_as_tool/tool.py index 033563a579..8b89c2a7a9 100644 --- a/api/core/tools/workflow_as_tool/tool.py +++ b/api/core/tools/workflow_as_tool/tool.py @@ -142,7 +142,7 @@ class WorkflowTool(Tool): if not version: workflow = ( db.session.query(Workflow) - .filter(Workflow.app_id == app_id, Workflow.version != "draft") + .where(Workflow.app_id == app_id, Workflow.version != "draft") .order_by(Workflow.created_at.desc()) .first() ) diff --git a/api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py b/api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py index c59297ea08..34b0afc75d 100644 --- a/api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py +++ b/api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py @@ -228,7 +228,7 @@ class KnowledgeRetrievalNode(BaseNode): # Subquery: Count the number of available documents for each dataset subquery = ( db.session.query(Document.dataset_id, func.count(Document.id).label("available_document_count")) - .filter( + .where( Document.indexing_status == "completed", Document.enabled == True, Document.archived == False, @@ -242,8 +242,8 @@ class KnowledgeRetrievalNode(BaseNode): results = ( db.session.query(Dataset) .outerjoin(subquery, Dataset.id == subquery.c.dataset_id) - .filter(Dataset.tenant_id == self.tenant_id, Dataset.id.in_(dataset_ids)) - .filter((subquery.c.available_document_count > 0) | (Dataset.provider == "external")) + .where(Dataset.tenant_id == self.tenant_id, Dataset.id.in_(dataset_ids)) + .where((subquery.c.available_document_count > 0) | (Dataset.provider == "external")) .all() ) @@ -370,7 +370,7 @@ class KnowledgeRetrievalNode(BaseNode): dataset = db.session.query(Dataset).filter_by(id=segment.dataset_id).first() # type: ignore document = ( db.session.query(Document) - .filter( + .where( Document.id == segment.document_id, Document.enabled == True, Document.archived == False, @@ -493,9 +493,9 @@ class KnowledgeRetrievalNode(BaseNode): node_data.metadata_filtering_conditions and node_data.metadata_filtering_conditions.logical_operator == "and" ): # type: ignore - document_query = document_query.filter(and_(*filters)) + document_query = document_query.where(and_(*filters)) else: - document_query = document_query.filter(or_(*filters)) + document_query = document_query.where(or_(*filters)) documents = document_query.all() # group by dataset_id metadata_filter_document_ids = defaultdict(list) if documents else None # type: ignore diff --git a/api/events/event_handlers/create_document_index.py b/api/events/event_handlers/create_document_index.py index cb48bd92a0..dc50ca8d96 100644 --- a/api/events/event_handlers/create_document_index.py +++ b/api/events/event_handlers/create_document_index.py @@ -22,7 +22,7 @@ def handle(sender, **kwargs): document = ( db.session.query(Document) - .filter( + .where( Document.id == document_id, Document.dataset_id == dataset_id, ) diff --git a/api/extensions/ext_login.py b/api/extensions/ext_login.py index ab56828b79..9b18e25eaa 100644 --- a/api/extensions/ext_login.py +++ b/api/extensions/ext_login.py @@ -40,9 +40,9 @@ def load_user_from_request(request_from_flask_login): if workspace_id: tenant_account_join = ( db.session.query(Tenant, TenantAccountJoin) - .filter(Tenant.id == workspace_id) - .filter(TenantAccountJoin.tenant_id == Tenant.id) - .filter(TenantAccountJoin.role == "owner") + .where(Tenant.id == workspace_id) + .where(TenantAccountJoin.tenant_id == Tenant.id) + .where(TenantAccountJoin.role == "owner") .one_or_none() ) if tenant_account_join: @@ -83,7 +83,7 @@ def load_user_from_request(request_from_flask_login): raise NotFound("App MCP server not found.") end_user = ( db.session.query(EndUser) - .filter(EndUser.external_user_id == app_mcp_server.id, EndUser.type == "mcp") + .where(EndUser.external_user_id == app_mcp_server.id, EndUser.type == "mcp") .first() ) if not end_user: diff --git a/api/models/account.py b/api/models/account.py index 9b41841bff..4c3b1f9e04 100644 --- a/api/models/account.py +++ b/api/models/account.py @@ -137,9 +137,9 @@ class Account(UserMixin, Base): tuple[Tenant, TenantAccountJoin], ( db.session.query(Tenant, TenantAccountJoin) - .filter(Tenant.id == tenant_id) - .filter(TenantAccountJoin.tenant_id == Tenant.id) - .filter(TenantAccountJoin.account_id == self.id) + .where(Tenant.id == tenant_id) + .where(TenantAccountJoin.tenant_id == Tenant.id) + .where(TenantAccountJoin.account_id == self.id) .one_or_none() ), ) @@ -163,7 +163,7 @@ class Account(UserMixin, Base): def get_by_openid(cls, provider: str, open_id: str): account_integrate = ( db.session.query(AccountIntegrate) - .filter(AccountIntegrate.provider == provider, AccountIntegrate.open_id == open_id) + .where(AccountIntegrate.provider == provider, AccountIntegrate.open_id == open_id) .one_or_none() ) if account_integrate: @@ -213,7 +213,7 @@ class Tenant(Base): def get_accounts(self) -> list[Account]: return ( db.session.query(Account) - .filter(Account.id == TenantAccountJoin.account_id, TenantAccountJoin.tenant_id == self.id) + .where(Account.id == TenantAccountJoin.account_id, TenantAccountJoin.tenant_id == self.id) .all() ) diff --git a/api/models/dataset.py b/api/models/dataset.py index ff38a0752f..1f38f680c6 100644 --- a/api/models/dataset.py +++ b/api/models/dataset.py @@ -95,7 +95,7 @@ class Dataset(Base): def latest_process_rule(self): return ( db.session.query(DatasetProcessRule) - .filter(DatasetProcessRule.dataset_id == self.id) + .where(DatasetProcessRule.dataset_id == self.id) .order_by(DatasetProcessRule.created_at.desc()) .first() ) @@ -104,7 +104,7 @@ class Dataset(Base): def app_count(self): return ( db.session.query(func.count(AppDatasetJoin.id)) - .filter(AppDatasetJoin.dataset_id == self.id, App.id == AppDatasetJoin.app_id) + .where(AppDatasetJoin.dataset_id == self.id, App.id == AppDatasetJoin.app_id) .scalar() ) @@ -116,7 +116,7 @@ class Dataset(Base): def available_document_count(self): return ( db.session.query(func.count(Document.id)) - .filter( + .where( Document.dataset_id == self.id, Document.indexing_status == "completed", Document.enabled == True, @@ -129,7 +129,7 @@ class Dataset(Base): def available_segment_count(self): return ( db.session.query(func.count(DocumentSegment.id)) - .filter( + .where( DocumentSegment.dataset_id == self.id, DocumentSegment.status == "completed", DocumentSegment.enabled == True, @@ -142,7 +142,7 @@ class Dataset(Base): return ( db.session.query(Document) .with_entities(func.coalesce(func.sum(Document.word_count), 0)) - .filter(Document.dataset_id == self.id) + .where(Document.dataset_id == self.id) .scalar() ) @@ -169,7 +169,7 @@ class Dataset(Base): tags = ( db.session.query(Tag) .join(TagBinding, Tag.id == TagBinding.tag_id) - .filter( + .where( TagBinding.target_id == self.id, TagBinding.tenant_id == self.tenant_id, Tag.tenant_id == self.tenant_id, @@ -191,7 +191,7 @@ class Dataset(Base): return None external_knowledge_api = db.session.scalars( select(ExternalKnowledgeApis) - .filter(ExternalKnowledgeApis.id == external_knowledge_binding.external_knowledge_api_id) + .where(ExternalKnowledgeApis.id == external_knowledge_binding.external_knowledge_api_id) .limit(1) ).first() if not external_knowledge_api: @@ -408,7 +408,7 @@ class Document(Base): data_source_info_dict = json.loads(self.data_source_info) file_detail = ( db.session.query(UploadFile) - .filter(UploadFile.id == data_source_info_dict["upload_file_id"]) + .where(UploadFile.id == data_source_info_dict["upload_file_id"]) .one_or_none() ) if file_detail: @@ -452,7 +452,7 @@ class Document(Base): return ( db.session.query(DocumentSegment) .with_entities(func.coalesce(func.sum(DocumentSegment.hit_count), 0)) - .filter(DocumentSegment.document_id == self.id) + .where(DocumentSegment.document_id == self.id) .scalar() ) @@ -475,7 +475,7 @@ class Document(Base): document_metadatas = ( db.session.query(DatasetMetadata) .join(DatasetMetadataBinding, DatasetMetadataBinding.metadata_id == DatasetMetadata.id) - .filter( + .where( DatasetMetadataBinding.dataset_id == self.dataset_id, DatasetMetadataBinding.document_id == self.id ) .all() @@ -697,7 +697,7 @@ class DocumentSegment(Base): def previous_segment(self): return db.session.scalars( select(DocumentSegment) - .filter(DocumentSegment.document_id == self.document_id, DocumentSegment.position == self.position - 1) + .where(DocumentSegment.document_id == self.document_id, DocumentSegment.position == self.position - 1) .limit(1) ).first() @@ -705,7 +705,7 @@ class DocumentSegment(Base): def next_segment(self): return db.session.scalars( select(DocumentSegment) - .filter(DocumentSegment.document_id == self.document_id, DocumentSegment.position == self.position + 1) + .where(DocumentSegment.document_id == self.document_id, DocumentSegment.position == self.position + 1) .limit(1) ).first() @@ -717,7 +717,7 @@ class DocumentSegment(Base): if rules.parent_mode and rules.parent_mode != ParentMode.FULL_DOC: child_chunks = ( db.session.query(ChildChunk) - .filter(ChildChunk.segment_id == self.id) + .where(ChildChunk.segment_id == self.id) .order_by(ChildChunk.position.asc()) .all() ) @@ -734,7 +734,7 @@ class DocumentSegment(Base): if rules.parent_mode: child_chunks = ( db.session.query(ChildChunk) - .filter(ChildChunk.segment_id == self.id) + .where(ChildChunk.segment_id == self.id) .order_by(ChildChunk.position.asc()) .all() ) @@ -1044,7 +1044,7 @@ class ExternalKnowledgeApis(Base): def dataset_bindings(self): external_knowledge_bindings = ( db.session.query(ExternalKnowledgeBindings) - .filter(ExternalKnowledgeBindings.external_knowledge_api_id == self.id) + .where(ExternalKnowledgeBindings.external_knowledge_api_id == self.id) .all() ) dataset_ids = [binding.dataset_id for binding in external_knowledge_bindings] diff --git a/api/models/model.py b/api/models/model.py index bf95a093f5..a78a91ebd5 100644 --- a/api/models/model.py +++ b/api/models/model.py @@ -282,7 +282,7 @@ class App(Base): tags = ( db.session.query(Tag) .join(TagBinding, Tag.id == TagBinding.tag_id) - .filter( + .where( TagBinding.target_id == self.id, TagBinding.tenant_id == self.tenant_id, Tag.tenant_id == self.tenant_id, @@ -751,7 +751,7 @@ class Conversation(Base): def user_feedback_stats(self): like = ( db.session.query(MessageFeedback) - .filter( + .where( MessageFeedback.conversation_id == self.id, MessageFeedback.from_source == "user", MessageFeedback.rating == "like", @@ -761,7 +761,7 @@ class Conversation(Base): dislike = ( db.session.query(MessageFeedback) - .filter( + .where( MessageFeedback.conversation_id == self.id, MessageFeedback.from_source == "user", MessageFeedback.rating == "dislike", @@ -775,7 +775,7 @@ class Conversation(Base): def admin_feedback_stats(self): like = ( db.session.query(MessageFeedback) - .filter( + .where( MessageFeedback.conversation_id == self.id, MessageFeedback.from_source == "admin", MessageFeedback.rating == "like", @@ -785,7 +785,7 @@ class Conversation(Base): dislike = ( db.session.query(MessageFeedback) - .filter( + .where( MessageFeedback.conversation_id == self.id, MessageFeedback.from_source == "admin", MessageFeedback.rating == "dislike", @@ -824,7 +824,7 @@ class Conversation(Base): def first_message(self): return ( db.session.query(Message) - .filter(Message.conversation_id == self.id) + .where(Message.conversation_id == self.id) .order_by(Message.created_at.asc()) .first() ) @@ -1040,7 +1040,7 @@ class Message(Base): def user_feedback(self): feedback = ( db.session.query(MessageFeedback) - .filter(MessageFeedback.message_id == self.id, MessageFeedback.from_source == "user") + .where(MessageFeedback.message_id == self.id, MessageFeedback.from_source == "user") .first() ) return feedback @@ -1049,7 +1049,7 @@ class Message(Base): def admin_feedback(self): feedback = ( db.session.query(MessageFeedback) - .filter(MessageFeedback.message_id == self.id, MessageFeedback.from_source == "admin") + .where(MessageFeedback.message_id == self.id, MessageFeedback.from_source == "admin") .first() ) return feedback @@ -1072,7 +1072,7 @@ class Message(Base): if annotation_history: annotation = ( db.session.query(MessageAnnotation) - .filter(MessageAnnotation.id == annotation_history.annotation_id) + .where(MessageAnnotation.id == annotation_history.annotation_id) .first() ) return annotation @@ -1082,9 +1082,7 @@ class Message(Base): def app_model_config(self): conversation = db.session.query(Conversation).where(Conversation.id == self.conversation_id).first() if conversation: - return ( - db.session.query(AppModelConfig).where(AppModelConfig.id == conversation.app_model_config_id).first() - ) + return db.session.query(AppModelConfig).where(AppModelConfig.id == conversation.app_model_config_id).first() return None @@ -1100,7 +1098,7 @@ class Message(Base): def agent_thoughts(self): return ( db.session.query(MessageAgentThought) - .filter(MessageAgentThought.message_id == self.id) + .where(MessageAgentThought.message_id == self.id) .order_by(MessageAgentThought.position.asc()) .all() ) @@ -1371,7 +1369,7 @@ class AppAnnotationHitHistory(Base): account = ( db.session.query(Account) .join(MessageAnnotation, MessageAnnotation.account_id == Account.id) - .filter(MessageAnnotation.id == self.annotation_id) + .where(MessageAnnotation.id == self.annotation_id) .first() ) return account @@ -1404,7 +1402,7 @@ class AppAnnotationSetting(Base): collection_binding_detail = ( db.session.query(DatasetCollectionBinding) - .filter(DatasetCollectionBinding.id == self.collection_binding_id) + .where(DatasetCollectionBinding.id == self.collection_binding_id) .first() ) return collection_binding_detail diff --git a/api/models/workflow.py b/api/models/workflow.py index 52449b2f67..79d96e42dd 100644 --- a/api/models/workflow.py +++ b/api/models/workflow.py @@ -343,7 +343,7 @@ class Workflow(Base): return ( db.session.query(WorkflowToolProvider) - .filter(WorkflowToolProvider.tenant_id == self.tenant_id, WorkflowToolProvider.app_id == self.app_id) + .where(WorkflowToolProvider.tenant_id == self.tenant_id, WorkflowToolProvider.app_id == self.app_id) .count() > 0 ) diff --git a/api/schedule/clean_embedding_cache_task.py b/api/schedule/clean_embedding_cache_task.py index 9efe120b7a..024e3d6f50 100644 --- a/api/schedule/clean_embedding_cache_task.py +++ b/api/schedule/clean_embedding_cache_task.py @@ -21,7 +21,7 @@ def clean_embedding_cache_task(): try: embedding_ids = ( db.session.query(Embedding.id) - .filter(Embedding.created_at < thirty_days_ago) + .where(Embedding.created_at < thirty_days_ago) .order_by(Embedding.created_at.desc()) .limit(100) .all() diff --git a/api/schedule/clean_messages.py b/api/schedule/clean_messages.py index 5dc98eb478..a6851e36e5 100644 --- a/api/schedule/clean_messages.py +++ b/api/schedule/clean_messages.py @@ -36,7 +36,7 @@ def clean_messages(): # Main query with join and filter messages = ( db.session.query(Message) - .filter(Message.created_at < plan_sandbox_clean_message_day) + .where(Message.created_at < plan_sandbox_clean_message_day) .order_by(Message.created_at.desc()) .limit(100) .all() diff --git a/api/schedule/clean_unused_datasets_task.py b/api/schedule/clean_unused_datasets_task.py index be228a6d95..72e2e73e65 100644 --- a/api/schedule/clean_unused_datasets_task.py +++ b/api/schedule/clean_unused_datasets_task.py @@ -27,7 +27,7 @@ def clean_unused_datasets_task(): # Subquery for counting new documents document_subquery_new = ( db.session.query(Document.dataset_id, func.count(Document.id).label("document_count")) - .filter( + .where( Document.indexing_status == "completed", Document.enabled == True, Document.archived == False, @@ -40,7 +40,7 @@ def clean_unused_datasets_task(): # Subquery for counting old documents document_subquery_old = ( db.session.query(Document.dataset_id, func.count(Document.id).label("document_count")) - .filter( + .where( Document.indexing_status == "completed", Document.enabled == True, Document.archived == False, @@ -55,7 +55,7 @@ def clean_unused_datasets_task(): select(Dataset) .outerjoin(document_subquery_new, Dataset.id == document_subquery_new.c.dataset_id) .outerjoin(document_subquery_old, Dataset.id == document_subquery_old.c.dataset_id) - .filter( + .where( Dataset.created_at < plan_sandbox_clean_day, func.coalesce(document_subquery_new.c.document_count, 0) == 0, func.coalesce(document_subquery_old.c.document_count, 0) > 0, @@ -72,7 +72,7 @@ def clean_unused_datasets_task(): for dataset in datasets: dataset_query = ( db.session.query(DatasetQuery) - .filter(DatasetQuery.created_at > plan_sandbox_clean_day, DatasetQuery.dataset_id == dataset.id) + .where(DatasetQuery.created_at > plan_sandbox_clean_day, DatasetQuery.dataset_id == dataset.id) .all() ) if not dataset_query or len(dataset_query) == 0: @@ -80,7 +80,7 @@ def clean_unused_datasets_task(): # add auto disable log documents = ( db.session.query(Document) - .filter( + .where( Document.dataset_id == dataset.id, Document.enabled == True, Document.archived == False, @@ -111,7 +111,7 @@ def clean_unused_datasets_task(): # Subquery for counting new documents document_subquery_new = ( db.session.query(Document.dataset_id, func.count(Document.id).label("document_count")) - .filter( + .where( Document.indexing_status == "completed", Document.enabled == True, Document.archived == False, @@ -124,7 +124,7 @@ def clean_unused_datasets_task(): # Subquery for counting old documents document_subquery_old = ( db.session.query(Document.dataset_id, func.count(Document.id).label("document_count")) - .filter( + .where( Document.indexing_status == "completed", Document.enabled == True, Document.archived == False, @@ -139,7 +139,7 @@ def clean_unused_datasets_task(): select(Dataset) .outerjoin(document_subquery_new, Dataset.id == document_subquery_new.c.dataset_id) .outerjoin(document_subquery_old, Dataset.id == document_subquery_old.c.dataset_id) - .filter( + .where( Dataset.created_at < plan_pro_clean_day, func.coalesce(document_subquery_new.c.document_count, 0) == 0, func.coalesce(document_subquery_old.c.document_count, 0) > 0, @@ -155,7 +155,7 @@ def clean_unused_datasets_task(): for dataset in datasets: dataset_query = ( db.session.query(DatasetQuery) - .filter(DatasetQuery.created_at > plan_pro_clean_day, DatasetQuery.dataset_id == dataset.id) + .where(DatasetQuery.created_at > plan_pro_clean_day, DatasetQuery.dataset_id == dataset.id) .all() ) if not dataset_query or len(dataset_query) == 0: diff --git a/api/schedule/update_tidb_serverless_status_task.py b/api/schedule/update_tidb_serverless_status_task.py index ce4ecb6e7c..4d6c1f1877 100644 --- a/api/schedule/update_tidb_serverless_status_task.py +++ b/api/schedule/update_tidb_serverless_status_task.py @@ -17,7 +17,7 @@ def update_tidb_serverless_status_task(): # check the number of idle tidb serverless tidb_serverless_list = ( db.session.query(TidbAuthBinding) - .filter(TidbAuthBinding.active == False, TidbAuthBinding.status == "CREATING") + .where(TidbAuthBinding.active == False, TidbAuthBinding.status == "CREATING") .all() ) if len(tidb_serverless_list) == 0: diff --git a/api/services/account_service.py b/api/services/account_service.py index 60beabeeaf..59bffa873c 100644 --- a/api/services/account_service.py +++ b/api/services/account_service.py @@ -900,7 +900,7 @@ class TenantService: return ( db.session.query(Tenant) .join(TenantAccountJoin, Tenant.id == TenantAccountJoin.tenant_id) - .filter(TenantAccountJoin.account_id == account.id, Tenant.status == TenantStatus.NORMAL) + .where(TenantAccountJoin.account_id == account.id, Tenant.status == TenantStatus.NORMAL) .all() ) @@ -929,7 +929,7 @@ class TenantService: tenant_account_join = ( db.session.query(TenantAccountJoin) .join(Tenant, TenantAccountJoin.tenant_id == Tenant.id) - .filter( + .where( TenantAccountJoin.account_id == account.id, TenantAccountJoin.tenant_id == tenant_id, Tenant.status == TenantStatus.NORMAL, @@ -955,7 +955,7 @@ class TenantService: db.session.query(Account, TenantAccountJoin.role) .select_from(Account) .join(TenantAccountJoin, Account.id == TenantAccountJoin.account_id) - .filter(TenantAccountJoin.tenant_id == tenant.id) + .where(TenantAccountJoin.tenant_id == tenant.id) ) # Initialize an empty list to store the updated accounts @@ -974,8 +974,8 @@ class TenantService: db.session.query(Account, TenantAccountJoin.role) .select_from(Account) .join(TenantAccountJoin, Account.id == TenantAccountJoin.account_id) - .filter(TenantAccountJoin.tenant_id == tenant.id) - .filter(TenantAccountJoin.role == "dataset_operator") + .where(TenantAccountJoin.tenant_id == tenant.id) + .where(TenantAccountJoin.role == "dataset_operator") ) # Initialize an empty list to store the updated accounts @@ -995,9 +995,7 @@ class TenantService: return ( db.session.query(TenantAccountJoin) - .filter( - TenantAccountJoin.tenant_id == tenant.id, TenantAccountJoin.role.in_([role.value for role in roles]) - ) + .where(TenantAccountJoin.tenant_id == tenant.id, TenantAccountJoin.role.in_([role.value for role in roles])) .first() is not None ) @@ -1007,7 +1005,7 @@ class TenantService: """Get the role of the current account for a given tenant""" join = ( db.session.query(TenantAccountJoin) - .filter(TenantAccountJoin.tenant_id == tenant.id, TenantAccountJoin.account_id == account.id) + .where(TenantAccountJoin.tenant_id == tenant.id, TenantAccountJoin.account_id == account.id) .first() ) return TenantAccountRole(join.role) if join else None @@ -1274,7 +1272,7 @@ class RegisterService: tenant = ( db.session.query(Tenant) - .filter(Tenant.id == invitation_data["workspace_id"], Tenant.status == "normal") + .where(Tenant.id == invitation_data["workspace_id"], Tenant.status == "normal") .first() ) @@ -1284,7 +1282,7 @@ class RegisterService: tenant_account = ( db.session.query(Account, TenantAccountJoin.role) .join(TenantAccountJoin, Account.id == TenantAccountJoin.account_id) - .filter(Account.email == invitation_data["email"], TenantAccountJoin.tenant_id == tenant.id) + .where(Account.email == invitation_data["email"], TenantAccountJoin.tenant_id == tenant.id) .first() ) diff --git a/api/services/agent_service.py b/api/services/agent_service.py index a23640fa98..7c6df2428f 100644 --- a/api/services/agent_service.py +++ b/api/services/agent_service.py @@ -25,7 +25,7 @@ class AgentService: conversation: Conversation | None = ( db.session.query(Conversation) - .filter( + .where( Conversation.id == conversation_id, Conversation.app_id == app_model.id, ) @@ -37,7 +37,7 @@ class AgentService: message: Optional[Message] = ( db.session.query(Message) - .filter( + .where( Message.id == message_id, Message.conversation_id == conversation_id, ) @@ -55,9 +55,7 @@ class AgentService: db.session.query(EndUser, EndUser.name).where(EndUser.id == conversation.from_end_user_id).first() ) else: - executor = ( - db.session.query(Account, Account.name).where(Account.id == conversation.from_account_id).first() - ) + executor = db.session.query(Account, Account.name).where(Account.id == conversation.from_account_id).first() if executor: executor = executor.name diff --git a/api/services/annotation_service.py b/api/services/annotation_service.py index 923abde69f..7cb0b46517 100644 --- a/api/services/annotation_service.py +++ b/api/services/annotation_service.py @@ -26,7 +26,7 @@ class AppAnnotationService: # get app info app = ( db.session.query(App) - .filter(App.id == app_id, App.tenant_id == current_user.current_tenant_id, App.status == "normal") + .where(App.id == app_id, App.tenant_id == current_user.current_tenant_id, App.status == "normal") .first() ) @@ -61,9 +61,7 @@ class AppAnnotationService: db.session.add(annotation) db.session.commit() # if annotation reply is enabled , add annotation to index - annotation_setting = ( - db.session.query(AppAnnotationSetting).where(AppAnnotationSetting.app_id == app_id).first() - ) + annotation_setting = db.session.query(AppAnnotationSetting).where(AppAnnotationSetting.app_id == app_id).first() if annotation_setting: add_annotation_to_index_task.delay( annotation.id, @@ -117,7 +115,7 @@ class AppAnnotationService: # get app info app = ( db.session.query(App) - .filter(App.id == app_id, App.tenant_id == current_user.current_tenant_id, App.status == "normal") + .where(App.id == app_id, App.tenant_id == current_user.current_tenant_id, App.status == "normal") .first() ) @@ -126,8 +124,8 @@ class AppAnnotationService: if keyword: stmt = ( select(MessageAnnotation) - .filter(MessageAnnotation.app_id == app_id) - .filter( + .where(MessageAnnotation.app_id == app_id) + .where( or_( MessageAnnotation.question.ilike("%{}%".format(keyword)), MessageAnnotation.content.ilike("%{}%".format(keyword)), @@ -138,7 +136,7 @@ class AppAnnotationService: else: stmt = ( select(MessageAnnotation) - .filter(MessageAnnotation.app_id == app_id) + .where(MessageAnnotation.app_id == app_id) .order_by(MessageAnnotation.created_at.desc(), MessageAnnotation.id.desc()) ) annotations = db.paginate(select=stmt, page=page, per_page=limit, max_per_page=100, error_out=False) @@ -149,7 +147,7 @@ class AppAnnotationService: # get app info app = ( db.session.query(App) - .filter(App.id == app_id, App.tenant_id == current_user.current_tenant_id, App.status == "normal") + .where(App.id == app_id, App.tenant_id == current_user.current_tenant_id, App.status == "normal") .first() ) @@ -157,7 +155,7 @@ class AppAnnotationService: raise NotFound("App not found") annotations = ( db.session.query(MessageAnnotation) - .filter(MessageAnnotation.app_id == app_id) + .where(MessageAnnotation.app_id == app_id) .order_by(MessageAnnotation.created_at.desc()) .all() ) @@ -168,7 +166,7 @@ class AppAnnotationService: # get app info app = ( db.session.query(App) - .filter(App.id == app_id, App.tenant_id == current_user.current_tenant_id, App.status == "normal") + .where(App.id == app_id, App.tenant_id == current_user.current_tenant_id, App.status == "normal") .first() ) @@ -181,9 +179,7 @@ class AppAnnotationService: db.session.add(annotation) db.session.commit() # if annotation reply is enabled , add annotation to index - annotation_setting = ( - db.session.query(AppAnnotationSetting).where(AppAnnotationSetting.app_id == app_id).first() - ) + annotation_setting = db.session.query(AppAnnotationSetting).where(AppAnnotationSetting.app_id == app_id).first() if annotation_setting: add_annotation_to_index_task.delay( annotation.id, @@ -199,7 +195,7 @@ class AppAnnotationService: # get app info app = ( db.session.query(App) - .filter(App.id == app_id, App.tenant_id == current_user.current_tenant_id, App.status == "normal") + .where(App.id == app_id, App.tenant_id == current_user.current_tenant_id, App.status == "normal") .first() ) @@ -236,7 +232,7 @@ class AppAnnotationService: # get app info app = ( db.session.query(App) - .filter(App.id == app_id, App.tenant_id == current_user.current_tenant_id, App.status == "normal") + .where(App.id == app_id, App.tenant_id == current_user.current_tenant_id, App.status == "normal") .first() ) @@ -252,7 +248,7 @@ class AppAnnotationService: annotation_hit_histories = ( db.session.query(AppAnnotationHitHistory) - .filter(AppAnnotationHitHistory.annotation_id == annotation_id) + .where(AppAnnotationHitHistory.annotation_id == annotation_id) .all() ) if annotation_hit_histories: @@ -275,7 +271,7 @@ class AppAnnotationService: # get app info app = ( db.session.query(App) - .filter(App.id == app_id, App.tenant_id == current_user.current_tenant_id, App.status == "normal") + .where(App.id == app_id, App.tenant_id == current_user.current_tenant_id, App.status == "normal") .first() ) @@ -314,7 +310,7 @@ class AppAnnotationService: # get app info app = ( db.session.query(App) - .filter(App.id == app_id, App.tenant_id == current_user.current_tenant_id, App.status == "normal") + .where(App.id == app_id, App.tenant_id == current_user.current_tenant_id, App.status == "normal") .first() ) @@ -328,7 +324,7 @@ class AppAnnotationService: stmt = ( select(AppAnnotationHitHistory) - .filter( + .where( AppAnnotationHitHistory.app_id == app_id, AppAnnotationHitHistory.annotation_id == annotation_id, ) @@ -384,16 +380,14 @@ class AppAnnotationService: # get app info app = ( db.session.query(App) - .filter(App.id == app_id, App.tenant_id == current_user.current_tenant_id, App.status == "normal") + .where(App.id == app_id, App.tenant_id == current_user.current_tenant_id, App.status == "normal") .first() ) if not app: raise NotFound("App not found") - annotation_setting = ( - db.session.query(AppAnnotationSetting).where(AppAnnotationSetting.app_id == app_id).first() - ) + annotation_setting = db.session.query(AppAnnotationSetting).where(AppAnnotationSetting.app_id == app_id).first() if annotation_setting: collection_binding_detail = annotation_setting.collection_binding_detail return { @@ -412,7 +406,7 @@ class AppAnnotationService: # get app info app = ( db.session.query(App) - .filter(App.id == app_id, App.tenant_id == current_user.current_tenant_id, App.status == "normal") + .where(App.id == app_id, App.tenant_id == current_user.current_tenant_id, App.status == "normal") .first() ) @@ -421,7 +415,7 @@ class AppAnnotationService: annotation_setting = ( db.session.query(AppAnnotationSetting) - .filter( + .where( AppAnnotationSetting.app_id == app_id, AppAnnotationSetting.id == annotation_setting_id, ) diff --git a/api/services/api_based_extension_service.py b/api/services/api_based_extension_service.py index 601d67d2fb..457c91e5c0 100644 --- a/api/services/api_based_extension_service.py +++ b/api/services/api_based_extension_service.py @@ -73,7 +73,7 @@ class APIBasedExtensionService: db.session.query(APIBasedExtension) .filter_by(tenant_id=extension_data.tenant_id) .filter_by(name=extension_data.name) - .filter(APIBasedExtension.id != extension_data.id) + .where(APIBasedExtension.id != extension_data.id) .first() ) diff --git a/api/services/auth/api_key_auth_service.py b/api/services/auth/api_key_auth_service.py index e5f4a3ef6e..996e9187f3 100644 --- a/api/services/auth/api_key_auth_service.py +++ b/api/services/auth/api_key_auth_service.py @@ -11,7 +11,7 @@ class ApiKeyAuthService: def get_provider_auth_list(tenant_id: str) -> list: data_source_api_key_bindings = ( db.session.query(DataSourceApiKeyAuthBinding) - .filter(DataSourceApiKeyAuthBinding.tenant_id == tenant_id, DataSourceApiKeyAuthBinding.disabled.is_(False)) + .where(DataSourceApiKeyAuthBinding.tenant_id == tenant_id, DataSourceApiKeyAuthBinding.disabled.is_(False)) .all() ) return data_source_api_key_bindings @@ -36,7 +36,7 @@ class ApiKeyAuthService: def get_auth_credentials(tenant_id: str, category: str, provider: str): data_source_api_key_bindings = ( db.session.query(DataSourceApiKeyAuthBinding) - .filter( + .where( DataSourceApiKeyAuthBinding.tenant_id == tenant_id, DataSourceApiKeyAuthBinding.category == category, DataSourceApiKeyAuthBinding.provider == provider, @@ -53,7 +53,7 @@ class ApiKeyAuthService: def delete_provider_auth(tenant_id: str, binding_id: str): data_source_api_key_binding = ( db.session.query(DataSourceApiKeyAuthBinding) - .filter(DataSourceApiKeyAuthBinding.tenant_id == tenant_id, DataSourceApiKeyAuthBinding.id == binding_id) + .where(DataSourceApiKeyAuthBinding.tenant_id == tenant_id, DataSourceApiKeyAuthBinding.id == binding_id) .first() ) if data_source_api_key_binding: diff --git a/api/services/billing_service.py b/api/services/billing_service.py index 9fffde0739..5a12aa2e54 100644 --- a/api/services/billing_service.py +++ b/api/services/billing_service.py @@ -75,7 +75,7 @@ class BillingService: join: Optional[TenantAccountJoin] = ( db.session.query(TenantAccountJoin) - .filter(TenantAccountJoin.tenant_id == tenant_id, TenantAccountJoin.account_id == current_user.id) + .where(TenantAccountJoin.tenant_id == tenant_id, TenantAccountJoin.account_id == current_user.id) .first() ) diff --git a/api/services/clear_free_plan_tenant_expired_logs.py b/api/services/clear_free_plan_tenant_expired_logs.py index a8f453fbe1..ad9b750d40 100644 --- a/api/services/clear_free_plan_tenant_expired_logs.py +++ b/api/services/clear_free_plan_tenant_expired_logs.py @@ -30,7 +30,7 @@ class ClearFreePlanTenantExpiredLogs: with Session(db.engine).no_autoflush as session: messages = ( session.query(Message) - .filter( + .where( Message.app_id.in_(app_ids), Message.created_at < datetime.datetime.now() - datetime.timedelta(days=days), ) @@ -70,7 +70,7 @@ class ClearFreePlanTenantExpiredLogs: with Session(db.engine).no_autoflush as session: conversations = ( session.query(Conversation) - .filter( + .where( Conversation.app_id.in_(app_ids), Conversation.updated_at < datetime.datetime.now() - datetime.timedelta(days=days), ) @@ -276,7 +276,7 @@ class ClearFreePlanTenantExpiredLogs: for test_interval in test_intervals: tenant_count = ( session.query(Tenant.id) - .filter(Tenant.created_at.between(current_time, current_time + test_interval)) + .where(Tenant.created_at.between(current_time, current_time + test_interval)) .count() ) if tenant_count <= 100: @@ -301,7 +301,7 @@ class ClearFreePlanTenantExpiredLogs: rs = ( session.query(Tenant.id) - .filter(Tenant.created_at.between(current_time, batch_end)) + .where(Tenant.created_at.between(current_time, batch_end)) .order_by(Tenant.created_at) ) diff --git a/api/services/conversation_service.py b/api/services/conversation_service.py index 40097d5ed5..525c87fe4a 100644 --- a/api/services/conversation_service.py +++ b/api/services/conversation_service.py @@ -123,7 +123,7 @@ class ConversationService: # get conversation first message message = ( db.session.query(Message) - .filter(Message.app_id == app_model.id, Message.conversation_id == conversation.id) + .where(Message.app_id == app_model.id, Message.conversation_id == conversation.id) .order_by(Message.created_at.asc()) .first() ) @@ -148,7 +148,7 @@ class ConversationService: def get_conversation(cls, app_model: App, conversation_id: str, user: Optional[Union[Account, EndUser]]): conversation = ( db.session.query(Conversation) - .filter( + .where( Conversation.id == conversation_id, Conversation.app_id == app_model.id, Conversation.from_source == ("api" if isinstance(user, EndUser) else "console"), diff --git a/api/services/dataset_service.py b/api/services/dataset_service.py index ba6117eb22..4872702a76 100644 --- a/api/services/dataset_service.py +++ b/api/services/dataset_service.py @@ -92,14 +92,14 @@ class DatasetService: if user.current_role == TenantAccountRole.DATASET_OPERATOR: # only show datasets that the user has permission to access if permitted_dataset_ids: - query = query.filter(Dataset.id.in_(permitted_dataset_ids)) + query = query.where(Dataset.id.in_(permitted_dataset_ids)) else: return [], 0 else: if user.current_role != TenantAccountRole.OWNER or not include_all: # show all datasets that the user has permission to access if permitted_dataset_ids: - query = query.filter( + query = query.where( db.or_( Dataset.permission == DatasetPermissionEnum.ALL_TEAM, db.and_( @@ -112,7 +112,7 @@ class DatasetService: ) ) else: - query = query.filter( + query = query.where( db.or_( Dataset.permission == DatasetPermissionEnum.ALL_TEAM, db.and_( @@ -122,15 +122,15 @@ class DatasetService: ) else: # if no user, only show datasets that are shared with all team members - query = query.filter(Dataset.permission == DatasetPermissionEnum.ALL_TEAM) + query = query.where(Dataset.permission == DatasetPermissionEnum.ALL_TEAM) if search: - query = query.filter(Dataset.name.ilike(f"%{search}%")) + query = query.where(Dataset.name.ilike(f"%{search}%")) if tag_ids: target_ids = TagService.get_target_ids_by_tag_ids("knowledge", tenant_id, tag_ids) if target_ids: - query = query.filter(Dataset.id.in_(target_ids)) + query = query.where(Dataset.id.in_(target_ids)) else: return [], 0 @@ -143,7 +143,7 @@ class DatasetService: # get the latest process rule dataset_process_rule = ( db.session.query(DatasetProcessRule) - .filter(DatasetProcessRule.dataset_id == dataset_id) + .where(DatasetProcessRule.dataset_id == dataset_id) .order_by(DatasetProcessRule.created_at.desc()) .limit(1) .one_or_none() @@ -697,7 +697,7 @@ class DatasetService: def get_related_apps(dataset_id: str): return ( db.session.query(AppDatasetJoin) - .filter(AppDatasetJoin.dataset_id == dataset_id) + .where(AppDatasetJoin.dataset_id == dataset_id) .order_by(db.desc(AppDatasetJoin.created_at)) .all() ) @@ -714,7 +714,7 @@ class DatasetService: start_date = datetime.datetime.now() - datetime.timedelta(days=30) dataset_auto_disable_logs = ( db.session.query(DatasetAutoDisableLog) - .filter( + .where( DatasetAutoDisableLog.dataset_id == dataset_id, DatasetAutoDisableLog.created_at >= start_date, ) @@ -859,7 +859,7 @@ class DocumentService: def get_document_by_ids(document_ids: list[str]) -> list[Document]: documents = ( db.session.query(Document) - .filter( + .where( Document.id.in_(document_ids), Document.enabled == True, Document.indexing_status == "completed", @@ -873,7 +873,7 @@ class DocumentService: def get_document_by_dataset_id(dataset_id: str) -> list[Document]: documents = ( db.session.query(Document) - .filter( + .where( Document.dataset_id == dataset_id, Document.enabled == True, ) @@ -886,7 +886,7 @@ class DocumentService: def get_working_documents_by_dataset_id(dataset_id: str) -> list[Document]: documents = ( db.session.query(Document) - .filter( + .where( Document.dataset_id == dataset_id, Document.enabled == True, Document.indexing_status == "completed", @@ -901,7 +901,7 @@ class DocumentService: def get_error_documents_by_dataset_id(dataset_id: str) -> list[Document]: documents = ( db.session.query(Document) - .filter(Document.dataset_id == dataset_id, Document.indexing_status.in_(["error", "paused"])) + .where(Document.dataset_id == dataset_id, Document.indexing_status.in_(["error", "paused"])) .all() ) return documents @@ -910,7 +910,7 @@ class DocumentService: def get_batch_documents(dataset_id: str, batch: str) -> list[Document]: documents = ( db.session.query(Document) - .filter( + .where( Document.batch == batch, Document.dataset_id == dataset_id, Document.tenant_id == current_user.current_tenant_id, @@ -1189,7 +1189,7 @@ class DocumentService: for file_id in upload_file_list: file = ( db.session.query(UploadFile) - .filter(UploadFile.tenant_id == dataset.tenant_id, UploadFile.id == file_id) + .where(UploadFile.tenant_id == dataset.tenant_id, UploadFile.id == file_id) .first() ) @@ -1270,7 +1270,7 @@ class DocumentService: workspace_id = notion_info.workspace_id data_source_binding = ( db.session.query(DataSourceOauthBinding) - .filter( + .where( db.and_( DataSourceOauthBinding.tenant_id == current_user.current_tenant_id, DataSourceOauthBinding.provider == "notion", @@ -1413,7 +1413,7 @@ class DocumentService: def get_tenant_documents_count(): documents_count = ( db.session.query(Document) - .filter( + .where( Document.completed_at.isnot(None), Document.enabled == True, Document.archived == False, @@ -1469,7 +1469,7 @@ class DocumentService: for file_id in upload_file_list: file = ( db.session.query(UploadFile) - .filter(UploadFile.tenant_id == dataset.tenant_id, UploadFile.id == file_id) + .where(UploadFile.tenant_id == dataset.tenant_id, UploadFile.id == file_id) .first() ) @@ -1489,7 +1489,7 @@ class DocumentService: workspace_id = notion_info.workspace_id data_source_binding = ( db.session.query(DataSourceOauthBinding) - .filter( + .where( db.and_( DataSourceOauthBinding.tenant_id == current_user.current_tenant_id, DataSourceOauthBinding.provider == "notion", @@ -2005,7 +2005,7 @@ class SegmentService: with redis_client.lock(lock_name, timeout=600): max_position = ( db.session.query(func.max(DocumentSegment.position)) - .filter(DocumentSegment.document_id == document.id) + .where(DocumentSegment.document_id == document.id) .scalar() ) segment_document = DocumentSegment( @@ -2062,7 +2062,7 @@ class SegmentService: ) max_position = ( db.session.query(func.max(DocumentSegment.position)) - .filter(DocumentSegment.document_id == document.id) + .where(DocumentSegment.document_id == document.id) .scalar() ) pre_segment_data_list = [] @@ -2201,7 +2201,7 @@ class SegmentService: # get the process rule processing_rule = ( db.session.query(DatasetProcessRule) - .filter(DatasetProcessRule.id == document.dataset_process_rule_id) + .where(DatasetProcessRule.id == document.dataset_process_rule_id) .first() ) if not processing_rule: @@ -2276,7 +2276,7 @@ class SegmentService: # get the process rule processing_rule = ( db.session.query(DatasetProcessRule) - .filter(DatasetProcessRule.id == document.dataset_process_rule_id) + .where(DatasetProcessRule.id == document.dataset_process_rule_id) .first() ) if not processing_rule: @@ -2321,7 +2321,7 @@ class SegmentService: index_node_ids = ( db.session.query(DocumentSegment) .with_entities(DocumentSegment.index_node_id) - .filter( + .where( DocumentSegment.id.in_(segment_ids), DocumentSegment.dataset_id == dataset.id, DocumentSegment.document_id == document.id, @@ -2340,7 +2340,7 @@ class SegmentService: if action == "enable": segments = ( db.session.query(DocumentSegment) - .filter( + .where( DocumentSegment.id.in_(segment_ids), DocumentSegment.dataset_id == dataset.id, DocumentSegment.document_id == document.id, @@ -2367,7 +2367,7 @@ class SegmentService: elif action == "disable": segments = ( db.session.query(DocumentSegment) - .filter( + .where( DocumentSegment.id.in_(segment_ids), DocumentSegment.dataset_id == dataset.id, DocumentSegment.document_id == document.id, @@ -2404,7 +2404,7 @@ class SegmentService: index_node_hash = helper.generate_text_hash(content) child_chunk_count = ( db.session.query(ChildChunk) - .filter( + .where( ChildChunk.tenant_id == current_user.current_tenant_id, ChildChunk.dataset_id == dataset.id, ChildChunk.document_id == document.id, @@ -2414,7 +2414,7 @@ class SegmentService: ) max_position = ( db.session.query(func.max(ChildChunk.position)) - .filter( + .where( ChildChunk.tenant_id == current_user.current_tenant_id, ChildChunk.dataset_id == dataset.id, ChildChunk.document_id == document.id, @@ -2457,7 +2457,7 @@ class SegmentService: ) -> list[ChildChunk]: child_chunks = ( db.session.query(ChildChunk) - .filter( + .where( ChildChunk.dataset_id == dataset.id, ChildChunk.document_id == document.id, ChildChunk.segment_id == segment.id, @@ -2578,7 +2578,7 @@ class SegmentService: """Get a child chunk by its ID.""" result = ( db.session.query(ChildChunk) - .filter(ChildChunk.id == child_chunk_id, ChildChunk.tenant_id == tenant_id) + .where(ChildChunk.id == child_chunk_id, ChildChunk.tenant_id == tenant_id) .first() ) return result if isinstance(result, ChildChunk) else None @@ -2599,10 +2599,10 @@ class SegmentService: ) if status_list: - query = query.filter(DocumentSegment.status.in_(status_list)) + query = query.where(DocumentSegment.status.in_(status_list)) if keyword: - query = query.filter(DocumentSegment.content.ilike(f"%{keyword}%")) + query = query.where(DocumentSegment.content.ilike(f"%{keyword}%")) query = query.order_by(DocumentSegment.position.asc()) paginated_segments = db.paginate(select=query, page=page, per_page=limit, max_per_page=100, error_out=False) @@ -2647,7 +2647,7 @@ class SegmentService: # check segment segment = ( db.session.query(DocumentSegment) - .filter(DocumentSegment.id == segment_id, DocumentSegment.tenant_id == user_id) + .where(DocumentSegment.id == segment_id, DocumentSegment.tenant_id == user_id) .first() ) if not segment: @@ -2664,7 +2664,7 @@ class SegmentService: """Get a segment by its ID.""" result = ( db.session.query(DocumentSegment) - .filter(DocumentSegment.id == segment_id, DocumentSegment.tenant_id == tenant_id) + .where(DocumentSegment.id == segment_id, DocumentSegment.tenant_id == tenant_id) .first() ) return result if isinstance(result, DocumentSegment) else None @@ -2677,7 +2677,7 @@ class DatasetCollectionBindingService: ) -> DatasetCollectionBinding: dataset_collection_binding = ( db.session.query(DatasetCollectionBinding) - .filter( + .where( DatasetCollectionBinding.provider_name == provider_name, DatasetCollectionBinding.model_name == model_name, DatasetCollectionBinding.type == collection_type, @@ -2703,7 +2703,7 @@ class DatasetCollectionBindingService: ) -> DatasetCollectionBinding: dataset_collection_binding = ( db.session.query(DatasetCollectionBinding) - .filter( + .where( DatasetCollectionBinding.id == collection_binding_id, DatasetCollectionBinding.type == collection_type ) .order_by(DatasetCollectionBinding.created_at) @@ -2722,7 +2722,7 @@ class DatasetPermissionService: db.session.query( DatasetPermission.account_id, ) - .filter(DatasetPermission.dataset_id == dataset_id) + .where(DatasetPermission.dataset_id == dataset_id) .all() ) diff --git a/api/services/external_knowledge_service.py b/api/services/external_knowledge_service.py index 06a4c22117..b7af03e91f 100644 --- a/api/services/external_knowledge_service.py +++ b/api/services/external_knowledge_service.py @@ -30,11 +30,11 @@ class ExternalDatasetService: ) -> tuple[list[ExternalKnowledgeApis], int | None]: query = ( select(ExternalKnowledgeApis) - .filter(ExternalKnowledgeApis.tenant_id == tenant_id) + .where(ExternalKnowledgeApis.tenant_id == tenant_id) .order_by(ExternalKnowledgeApis.created_at.desc()) ) if search: - query = query.filter(ExternalKnowledgeApis.name.ilike(f"%{search}%")) + query = query.where(ExternalKnowledgeApis.name.ilike(f"%{search}%")) external_knowledge_apis = db.paginate( select=query, page=page, per_page=per_page, max_per_page=100, error_out=False diff --git a/api/services/message_service.py b/api/services/message_service.py index 51b070ece7..283b7b9b4b 100644 --- a/api/services/message_service.py +++ b/api/services/message_service.py @@ -50,7 +50,7 @@ class MessageService: if first_id: first_message = ( db.session.query(Message) - .filter(Message.conversation_id == conversation.id, Message.id == first_id) + .where(Message.conversation_id == conversation.id, Message.id == first_id) .first() ) @@ -59,7 +59,7 @@ class MessageService: history_messages = ( db.session.query(Message) - .filter( + .where( Message.conversation_id == conversation.id, Message.created_at < first_message.created_at, Message.id != first_message.id, @@ -71,7 +71,7 @@ class MessageService: else: history_messages = ( db.session.query(Message) - .filter(Message.conversation_id == conversation.id) + .where(Message.conversation_id == conversation.id) .order_by(Message.created_at.desc()) .limit(fetch_limit) .all() @@ -109,19 +109,19 @@ class MessageService: app_model=app_model, user=user, conversation_id=conversation_id ) - base_query = base_query.filter(Message.conversation_id == conversation.id) + base_query = base_query.where(Message.conversation_id == conversation.id) if include_ids is not None: - base_query = base_query.filter(Message.id.in_(include_ids)) + base_query = base_query.where(Message.id.in_(include_ids)) if last_id: - last_message = base_query.filter(Message.id == last_id).first() + last_message = base_query.where(Message.id == last_id).first() if not last_message: raise LastMessageNotExistsError() history_messages = ( - base_query.filter(Message.created_at < last_message.created_at, Message.id != last_message.id) + base_query.where(Message.created_at < last_message.created_at, Message.id != last_message.id) .order_by(Message.created_at.desc()) .limit(fetch_limit) .all() @@ -183,7 +183,7 @@ class MessageService: offset = (page - 1) * limit feedbacks = ( db.session.query(MessageFeedback) - .filter(MessageFeedback.app_id == app_model.id) + .where(MessageFeedback.app_id == app_model.id) .order_by(MessageFeedback.created_at.desc(), MessageFeedback.id.desc()) .limit(limit) .offset(offset) @@ -196,7 +196,7 @@ class MessageService: def get_message(cls, app_model: App, user: Optional[Union[Account, EndUser]], message_id: str): message = ( db.session.query(Message) - .filter( + .where( Message.id == message_id, Message.app_id == app_model.id, Message.from_source == ("api" if isinstance(user, EndUser) else "console"), @@ -248,9 +248,7 @@ class MessageService: if not conversation.override_model_configs: app_model_config = ( db.session.query(AppModelConfig) - .filter( - AppModelConfig.id == conversation.app_model_config_id, AppModelConfig.app_id == app_model.id - ) + .where(AppModelConfig.id == conversation.app_model_config_id, AppModelConfig.app_id == app_model.id) .first() ) else: diff --git a/api/services/model_load_balancing_service.py b/api/services/model_load_balancing_service.py index 26311a6377..a200cfa146 100644 --- a/api/services/model_load_balancing_service.py +++ b/api/services/model_load_balancing_service.py @@ -103,7 +103,7 @@ class ModelLoadBalancingService: # Get load balancing configurations load_balancing_configs = ( db.session.query(LoadBalancingModelConfig) - .filter( + .where( LoadBalancingModelConfig.tenant_id == tenant_id, LoadBalancingModelConfig.provider_name == provider_configuration.provider.provider, LoadBalancingModelConfig.model_type == model_type_enum.to_origin_model_type(), @@ -219,7 +219,7 @@ class ModelLoadBalancingService: # Get load balancing configurations load_balancing_model_config = ( db.session.query(LoadBalancingModelConfig) - .filter( + .where( LoadBalancingModelConfig.tenant_id == tenant_id, LoadBalancingModelConfig.provider_name == provider_configuration.provider.provider, LoadBalancingModelConfig.model_type == model_type_enum.to_origin_model_type(), @@ -307,7 +307,7 @@ class ModelLoadBalancingService: current_load_balancing_configs = ( db.session.query(LoadBalancingModelConfig) - .filter( + .where( LoadBalancingModelConfig.tenant_id == tenant_id, LoadBalancingModelConfig.provider_name == provider_configuration.provider.provider, LoadBalancingModelConfig.model_type == model_type_enum.to_origin_model_type(), @@ -457,7 +457,7 @@ class ModelLoadBalancingService: # Get load balancing config load_balancing_model_config = ( db.session.query(LoadBalancingModelConfig) - .filter( + .where( LoadBalancingModelConfig.tenant_id == tenant_id, LoadBalancingModelConfig.provider_name == provider, LoadBalancingModelConfig.model_type == model_type_enum.to_origin_model_type(), diff --git a/api/services/ops_service.py b/api/services/ops_service.py index 83107a90db..62f37c1588 100644 --- a/api/services/ops_service.py +++ b/api/services/ops_service.py @@ -17,7 +17,7 @@ class OpsService: """ trace_config_data: Optional[TraceAppConfig] = ( db.session.query(TraceAppConfig) - .filter(TraceAppConfig.app_id == app_id, TraceAppConfig.tracing_provider == tracing_provider) + .where(TraceAppConfig.app_id == app_id, TraceAppConfig.tracing_provider == tracing_provider) .first() ) @@ -148,7 +148,7 @@ class OpsService: # check if trace config already exists trace_config_data: Optional[TraceAppConfig] = ( db.session.query(TraceAppConfig) - .filter(TraceAppConfig.app_id == app_id, TraceAppConfig.tracing_provider == tracing_provider) + .where(TraceAppConfig.app_id == app_id, TraceAppConfig.tracing_provider == tracing_provider) .first() ) @@ -190,7 +190,7 @@ class OpsService: # check if trace config already exists current_trace_config = ( db.session.query(TraceAppConfig) - .filter(TraceAppConfig.app_id == app_id, TraceAppConfig.tracing_provider == tracing_provider) + .where(TraceAppConfig.app_id == app_id, TraceAppConfig.tracing_provider == tracing_provider) .first() ) @@ -227,7 +227,7 @@ class OpsService: """ trace_config = ( db.session.query(TraceAppConfig) - .filter(TraceAppConfig.app_id == app_id, TraceAppConfig.tracing_provider == tracing_provider) + .where(TraceAppConfig.app_id == app_id, TraceAppConfig.tracing_provider == tracing_provider) .first() ) diff --git a/api/services/plugin/plugin_migration.py b/api/services/plugin/plugin_migration.py index 06b12ea0cd..1806fbcfd6 100644 --- a/api/services/plugin/plugin_migration.py +++ b/api/services/plugin/plugin_migration.py @@ -101,7 +101,7 @@ class PluginMigration: for test_interval in test_intervals: tenant_count = ( session.query(Tenant.id) - .filter(Tenant.created_at.between(current_time, current_time + test_interval)) + .where(Tenant.created_at.between(current_time, current_time + test_interval)) .count() ) if tenant_count <= 100: @@ -126,7 +126,7 @@ class PluginMigration: rs = ( session.query(Tenant.id) - .filter(Tenant.created_at.between(current_time, batch_end)) + .where(Tenant.created_at.between(current_time, batch_end)) .order_by(Tenant.created_at) ) diff --git a/api/services/plugin/plugin_parameter_service.py b/api/services/plugin/plugin_parameter_service.py index a1c5639e00..00b59dacb3 100644 --- a/api/services/plugin/plugin_parameter_service.py +++ b/api/services/plugin/plugin_parameter_service.py @@ -51,7 +51,7 @@ class PluginParameterService: with Session(db.engine) as session: db_record = ( session.query(BuiltinToolProvider) - .filter( + .where( BuiltinToolProvider.tenant_id == tenant_id, BuiltinToolProvider.provider == provider, ) diff --git a/api/services/recommend_app/database/database_retrieval.py b/api/services/recommend_app/database/database_retrieval.py index 7f2be4d222..b97d13d012 100644 --- a/api/services/recommend_app/database/database_retrieval.py +++ b/api/services/recommend_app/database/database_retrieval.py @@ -33,14 +33,14 @@ class DatabaseRecommendAppRetrieval(RecommendAppRetrievalBase): """ recommended_apps = ( db.session.query(RecommendedApp) - .filter(RecommendedApp.is_listed == True, RecommendedApp.language == language) + .where(RecommendedApp.is_listed == True, RecommendedApp.language == language) .all() ) if len(recommended_apps) == 0: recommended_apps = ( db.session.query(RecommendedApp) - .filter(RecommendedApp.is_listed == True, RecommendedApp.language == languages[0]) + .where(RecommendedApp.is_listed == True, RecommendedApp.language == languages[0]) .all() ) @@ -83,7 +83,7 @@ class DatabaseRecommendAppRetrieval(RecommendAppRetrievalBase): # is in public recommended list recommended_app = ( db.session.query(RecommendedApp) - .filter(RecommendedApp.is_listed == True, RecommendedApp.app_id == app_id) + .where(RecommendedApp.is_listed == True, RecommendedApp.app_id == app_id) .first() ) diff --git a/api/services/saved_message_service.py b/api/services/saved_message_service.py index 4cb8700117..641e03c3cf 100644 --- a/api/services/saved_message_service.py +++ b/api/services/saved_message_service.py @@ -17,7 +17,7 @@ class SavedMessageService: raise ValueError("User is required") saved_messages = ( db.session.query(SavedMessage) - .filter( + .where( SavedMessage.app_id == app_model.id, SavedMessage.created_by_role == ("account" if isinstance(user, Account) else "end_user"), SavedMessage.created_by == user.id, @@ -37,7 +37,7 @@ class SavedMessageService: return saved_message = ( db.session.query(SavedMessage) - .filter( + .where( SavedMessage.app_id == app_model.id, SavedMessage.message_id == message_id, SavedMessage.created_by_role == ("account" if isinstance(user, Account) else "end_user"), @@ -67,7 +67,7 @@ class SavedMessageService: return saved_message = ( db.session.query(SavedMessage) - .filter( + .where( SavedMessage.app_id == app_model.id, SavedMessage.message_id == message_id, SavedMessage.created_by_role == ("account" if isinstance(user, Account) else "end_user"), diff --git a/api/services/tag_service.py b/api/services/tag_service.py index f544ac8d57..75fa52a75c 100644 --- a/api/services/tag_service.py +++ b/api/services/tag_service.py @@ -16,10 +16,10 @@ class TagService: query = ( db.session.query(Tag.id, Tag.type, Tag.name, func.count(TagBinding.id).label("binding_count")) .outerjoin(TagBinding, Tag.id == TagBinding.tag_id) - .filter(Tag.type == tag_type, Tag.tenant_id == current_tenant_id) + .where(Tag.type == tag_type, Tag.tenant_id == current_tenant_id) ) if keyword: - query = query.filter(db.and_(Tag.name.ilike(f"%{keyword}%"))) + query = query.where(db.and_(Tag.name.ilike(f"%{keyword}%"))) query = query.group_by(Tag.id, Tag.type, Tag.name, Tag.created_at) results: list = query.order_by(Tag.created_at.desc()).all() return results @@ -28,7 +28,7 @@ class TagService: def get_target_ids_by_tag_ids(tag_type: str, current_tenant_id: str, tag_ids: list) -> list: tags = ( db.session.query(Tag) - .filter(Tag.id.in_(tag_ids), Tag.tenant_id == current_tenant_id, Tag.type == tag_type) + .where(Tag.id.in_(tag_ids), Tag.tenant_id == current_tenant_id, Tag.type == tag_type) .all() ) if not tags: @@ -36,7 +36,7 @@ class TagService: tag_ids = [tag.id for tag in tags] tag_bindings = ( db.session.query(TagBinding.target_id) - .filter(TagBinding.tag_id.in_(tag_ids), TagBinding.tenant_id == current_tenant_id) + .where(TagBinding.tag_id.in_(tag_ids), TagBinding.tenant_id == current_tenant_id) .all() ) if not tag_bindings: @@ -50,7 +50,7 @@ class TagService: return [] tags = ( db.session.query(Tag) - .filter(Tag.name == tag_name, Tag.tenant_id == current_tenant_id, Tag.type == tag_type) + .where(Tag.name == tag_name, Tag.tenant_id == current_tenant_id, Tag.type == tag_type) .all() ) if not tags: @@ -62,7 +62,7 @@ class TagService: tags = ( db.session.query(Tag) .join(TagBinding, Tag.id == TagBinding.tag_id) - .filter( + .where( TagBinding.target_id == target_id, TagBinding.tenant_id == current_tenant_id, Tag.tenant_id == current_tenant_id, @@ -125,7 +125,7 @@ class TagService: for tag_id in args["tag_ids"]: tag_binding = ( db.session.query(TagBinding) - .filter(TagBinding.tag_id == tag_id, TagBinding.target_id == args["target_id"]) + .where(TagBinding.tag_id == tag_id, TagBinding.target_id == args["target_id"]) .first() ) if tag_binding: @@ -146,7 +146,7 @@ class TagService: # delete tag binding tag_bindings = ( db.session.query(TagBinding) - .filter(TagBinding.target_id == args["target_id"], TagBinding.tag_id == (args["tag_id"])) + .where(TagBinding.target_id == args["target_id"], TagBinding.tag_id == (args["tag_id"])) .first() ) if tag_bindings: @@ -158,7 +158,7 @@ class TagService: if type == "knowledge": dataset = ( db.session.query(Dataset) - .filter(Dataset.tenant_id == current_user.current_tenant_id, Dataset.id == target_id) + .where(Dataset.tenant_id == current_user.current_tenant_id, Dataset.id == target_id) .first() ) if not dataset: @@ -166,7 +166,7 @@ class TagService: elif type == "app": app = ( db.session.query(App) - .filter(App.tenant_id == current_user.current_tenant_id, App.id == target_id) + .where(App.tenant_id == current_user.current_tenant_id, App.id == target_id) .first() ) if not app: diff --git a/api/services/tools/api_tools_manage_service.py b/api/services/tools/api_tools_manage_service.py index 6becc44144..78e587abee 100644 --- a/api/services/tools/api_tools_manage_service.py +++ b/api/services/tools/api_tools_manage_service.py @@ -119,7 +119,7 @@ class ApiToolManageService: # check if the provider exists provider = ( db.session.query(ApiToolProvider) - .filter( + .where( ApiToolProvider.tenant_id == tenant_id, ApiToolProvider.name == provider_name, ) @@ -210,7 +210,7 @@ class ApiToolManageService: """ provider: ApiToolProvider | None = ( db.session.query(ApiToolProvider) - .filter( + .where( ApiToolProvider.tenant_id == tenant_id, ApiToolProvider.name == provider_name, ) @@ -257,7 +257,7 @@ class ApiToolManageService: # check if the provider exists provider = ( db.session.query(ApiToolProvider) - .filter( + .where( ApiToolProvider.tenant_id == tenant_id, ApiToolProvider.name == original_provider, ) @@ -326,7 +326,7 @@ class ApiToolManageService: """ provider = ( db.session.query(ApiToolProvider) - .filter( + .where( ApiToolProvider.tenant_id == tenant_id, ApiToolProvider.name == provider_name, ) @@ -376,7 +376,7 @@ class ApiToolManageService: db_provider = ( db.session.query(ApiToolProvider) - .filter( + .where( ApiToolProvider.tenant_id == tenant_id, ApiToolProvider.name == provider_name, ) diff --git a/api/services/tools/builtin_tools_manage_service.py b/api/services/tools/builtin_tools_manage_service.py index b8e3ce2650..65f05d2986 100644 --- a/api/services/tools/builtin_tools_manage_service.py +++ b/api/services/tools/builtin_tools_manage_service.py @@ -154,7 +154,7 @@ class BuiltinToolManageService: # get if the provider exists db_provider = ( session.query(BuiltinToolProvider) - .filter( + .where( BuiltinToolProvider.tenant_id == tenant_id, BuiltinToolProvider.id == credential_id, ) @@ -404,7 +404,7 @@ class BuiltinToolManageService: with Session(db.engine) as session: db_provider = ( session.query(BuiltinToolProvider) - .filter( + .where( BuiltinToolProvider.tenant_id == tenant_id, BuiltinToolProvider.id == credential_id, ) @@ -613,7 +613,7 @@ class BuiltinToolManageService: if provider_id_entity.organization != "langgenius": provider = ( session.query(BuiltinToolProvider) - .filter( + .where( BuiltinToolProvider.tenant_id == tenant_id, BuiltinToolProvider.provider == full_provider_name, ) @@ -626,7 +626,7 @@ class BuiltinToolManageService: else: provider = ( session.query(BuiltinToolProvider) - .filter( + .where( BuiltinToolProvider.tenant_id == tenant_id, (BuiltinToolProvider.provider == provider_name) | (BuiltinToolProvider.provider == full_provider_name), @@ -647,7 +647,7 @@ class BuiltinToolManageService: # it's an old provider without organization return ( session.query(BuiltinToolProvider) - .filter(BuiltinToolProvider.tenant_id == tenant_id, BuiltinToolProvider.provider == provider_name) + .where(BuiltinToolProvider.tenant_id == tenant_id, BuiltinToolProvider.provider == provider_name) .order_by( BuiltinToolProvider.is_default.desc(), # default=True first BuiltinToolProvider.created_at.asc(), # oldest first diff --git a/api/services/tools/mcp_tools_manage_service.py b/api/services/tools/mcp_tools_manage_service.py index c0126a0f4f..23be449a5a 100644 --- a/api/services/tools/mcp_tools_manage_service.py +++ b/api/services/tools/mcp_tools_manage_service.py @@ -31,7 +31,7 @@ class MCPToolManageService: def get_mcp_provider_by_provider_id(provider_id: str, tenant_id: str) -> MCPToolProvider: res = ( db.session.query(MCPToolProvider) - .filter(MCPToolProvider.tenant_id == tenant_id, MCPToolProvider.id == provider_id) + .where(MCPToolProvider.tenant_id == tenant_id, MCPToolProvider.id == provider_id) .first() ) if not res: @@ -42,7 +42,7 @@ class MCPToolManageService: def get_mcp_provider_by_server_identifier(server_identifier: str, tenant_id: str) -> MCPToolProvider: res = ( db.session.query(MCPToolProvider) - .filter(MCPToolProvider.tenant_id == tenant_id, MCPToolProvider.server_identifier == server_identifier) + .where(MCPToolProvider.tenant_id == tenant_id, MCPToolProvider.server_identifier == server_identifier) .first() ) if not res: @@ -63,7 +63,7 @@ class MCPToolManageService: server_url_hash = hashlib.sha256(server_url.encode()).hexdigest() existing_provider = ( db.session.query(MCPToolProvider) - .filter( + .where( MCPToolProvider.tenant_id == tenant_id, or_( MCPToolProvider.name == name, @@ -100,7 +100,7 @@ class MCPToolManageService: def retrieve_mcp_tools(tenant_id: str, for_list: bool = False) -> list[ToolProviderApiEntity]: mcp_providers = ( db.session.query(MCPToolProvider) - .filter(MCPToolProvider.tenant_id == tenant_id) + .where(MCPToolProvider.tenant_id == tenant_id) .order_by(MCPToolProvider.name) .all() ) diff --git a/api/services/tools/workflow_tools_manage_service.py b/api/services/tools/workflow_tools_manage_service.py index 2414ee7018..75da5e5eaa 100644 --- a/api/services/tools/workflow_tools_manage_service.py +++ b/api/services/tools/workflow_tools_manage_service.py @@ -43,7 +43,7 @@ class WorkflowToolManageService: # check if the name is unique existing_workflow_tool_provider = ( db.session.query(WorkflowToolProvider) - .filter( + .where( WorkflowToolProvider.tenant_id == tenant_id, # name or app_id or_(WorkflowToolProvider.name == name, WorkflowToolProvider.app_id == workflow_app_id), @@ -123,7 +123,7 @@ class WorkflowToolManageService: # check if the name is unique existing_workflow_tool_provider = ( db.session.query(WorkflowToolProvider) - .filter( + .where( WorkflowToolProvider.tenant_id == tenant_id, WorkflowToolProvider.name == name, WorkflowToolProvider.id != workflow_tool_id, @@ -136,7 +136,7 @@ class WorkflowToolManageService: workflow_tool_provider: WorkflowToolProvider | None = ( db.session.query(WorkflowToolProvider) - .filter(WorkflowToolProvider.tenant_id == tenant_id, WorkflowToolProvider.id == workflow_tool_id) + .where(WorkflowToolProvider.tenant_id == tenant_id, WorkflowToolProvider.id == workflow_tool_id) .first() ) @@ -243,7 +243,7 @@ class WorkflowToolManageService: """ db_tool: WorkflowToolProvider | None = ( db.session.query(WorkflowToolProvider) - .filter(WorkflowToolProvider.tenant_id == tenant_id, WorkflowToolProvider.id == workflow_tool_id) + .where(WorkflowToolProvider.tenant_id == tenant_id, WorkflowToolProvider.id == workflow_tool_id) .first() ) return cls._get_workflow_tool(tenant_id, db_tool) @@ -259,7 +259,7 @@ class WorkflowToolManageService: """ db_tool: WorkflowToolProvider | None = ( db.session.query(WorkflowToolProvider) - .filter(WorkflowToolProvider.tenant_id == tenant_id, WorkflowToolProvider.app_id == workflow_app_id) + .where(WorkflowToolProvider.tenant_id == tenant_id, WorkflowToolProvider.app_id == workflow_app_id) .first() ) return cls._get_workflow_tool(tenant_id, db_tool) @@ -318,7 +318,7 @@ class WorkflowToolManageService: """ db_tool: WorkflowToolProvider | None = ( db.session.query(WorkflowToolProvider) - .filter(WorkflowToolProvider.tenant_id == tenant_id, WorkflowToolProvider.id == workflow_tool_id) + .where(WorkflowToolProvider.tenant_id == tenant_id, WorkflowToolProvider.id == workflow_tool_id) .first() ) diff --git a/api/services/vector_service.py b/api/services/vector_service.py index 9165139193..f9ec054593 100644 --- a/api/services/vector_service.py +++ b/api/services/vector_service.py @@ -36,7 +36,7 @@ class VectorService: # get the process rule processing_rule = ( db.session.query(DatasetProcessRule) - .filter(DatasetProcessRule.id == dataset_document.dataset_process_rule_id) + .where(DatasetProcessRule.id == dataset_document.dataset_process_rule_id) .first() ) if not processing_rule: diff --git a/api/services/web_conversation_service.py b/api/services/web_conversation_service.py index f698ed3084..c48e24f244 100644 --- a/api/services/web_conversation_service.py +++ b/api/services/web_conversation_service.py @@ -65,7 +65,7 @@ class WebConversationService: return pinned_conversation = ( db.session.query(PinnedConversation) - .filter( + .where( PinnedConversation.app_id == app_model.id, PinnedConversation.conversation_id == conversation_id, PinnedConversation.created_by_role == ("account" if isinstance(user, Account) else "end_user"), @@ -97,7 +97,7 @@ class WebConversationService: return pinned_conversation = ( db.session.query(PinnedConversation) - .filter( + .where( PinnedConversation.app_id == app_model.id, PinnedConversation.conversation_id == conversation_id, PinnedConversation.created_by_role == ("account" if isinstance(user, Account) else "end_user"), diff --git a/api/services/workflow/workflow_converter.py b/api/services/workflow/workflow_converter.py index 2b0d57bdfd..abf6824d73 100644 --- a/api/services/workflow/workflow_converter.py +++ b/api/services/workflow/workflow_converter.py @@ -620,7 +620,7 @@ class WorkflowConverter: """ api_based_extension = ( db.session.query(APIBasedExtension) - .filter(APIBasedExtension.tenant_id == tenant_id, APIBasedExtension.id == api_based_extension_id) + .where(APIBasedExtension.tenant_id == tenant_id, APIBasedExtension.id == api_based_extension_id) .first() ) diff --git a/api/services/workflow_draft_variable_service.py b/api/services/workflow_draft_variable_service.py index 229aa4e147..3164e010b4 100644 --- a/api/services/workflow_draft_variable_service.py +++ b/api/services/workflow_draft_variable_service.py @@ -328,7 +328,7 @@ class WorkflowDraftVariableService: def delete_workflow_variables(self, app_id: str): ( self._session.query(WorkflowDraftVariable) - .filter(WorkflowDraftVariable.app_id == app_id) + .where(WorkflowDraftVariable.app_id == app_id) .delete(synchronize_session=False) ) @@ -379,7 +379,7 @@ class WorkflowDraftVariableService: if conv_id is not None: conversation = ( self._session.query(Conversation) - .filter( + .where( Conversation.id == conv_id, Conversation.app_id == workflow.app_id, ) diff --git a/api/services/workflow_service.py b/api/services/workflow_service.py index 403e559743..e9f21fc5f1 100644 --- a/api/services/workflow_service.py +++ b/api/services/workflow_service.py @@ -89,7 +89,7 @@ class WorkflowService: def is_workflow_exist(self, app_model: App) -> bool: return ( db.session.query(Workflow) - .filter( + .where( Workflow.tenant_id == app_model.tenant_id, Workflow.app_id == app_model.id, Workflow.version == Workflow.VERSION_DRAFT, @@ -104,7 +104,7 @@ class WorkflowService: # fetch draft workflow by app_model workflow = ( db.session.query(Workflow) - .filter( + .where( Workflow.tenant_id == app_model.tenant_id, Workflow.app_id == app_model.id, Workflow.version == "draft" ) .first() @@ -117,7 +117,7 @@ class WorkflowService: # fetch published workflow by workflow_id workflow = ( db.session.query(Workflow) - .filter( + .where( Workflow.tenant_id == app_model.tenant_id, Workflow.app_id == app_model.id, Workflow.id == workflow_id, @@ -141,7 +141,7 @@ class WorkflowService: # fetch published workflow by workflow_id workflow = ( db.session.query(Workflow) - .filter( + .where( Workflow.tenant_id == app_model.tenant_id, Workflow.app_id == app_model.id, Workflow.id == app_model.workflow_id, @@ -658,7 +658,7 @@ class WorkflowService: # Check if there's a tool provider using this specific workflow version tool_provider = ( session.query(WorkflowToolProvider) - .filter( + .where( WorkflowToolProvider.tenant_id == workflow.tenant_id, WorkflowToolProvider.app_id == workflow.app_id, WorkflowToolProvider.version == workflow.version, diff --git a/api/services/workspace_service.py b/api/services/workspace_service.py index bb35645c50..d4fc68a084 100644 --- a/api/services/workspace_service.py +++ b/api/services/workspace_service.py @@ -25,7 +25,7 @@ class WorkspaceService: # Get role of user tenant_account_join = ( db.session.query(TenantAccountJoin) - .filter(TenantAccountJoin.tenant_id == tenant.id, TenantAccountJoin.account_id == current_user.id) + .where(TenantAccountJoin.tenant_id == tenant.id, TenantAccountJoin.account_id == current_user.id) .first() ) assert tenant_account_join is not None, "TenantAccountJoin not found" diff --git a/api/tasks/add_document_to_index_task.py b/api/tasks/add_document_to_index_task.py index 5eb7cd8b87..204c1a4f5b 100644 --- a/api/tasks/add_document_to_index_task.py +++ b/api/tasks/add_document_to_index_task.py @@ -43,7 +43,7 @@ def add_document_to_index_task(dataset_document_id: str): segments = ( db.session.query(DocumentSegment) - .filter( + .where( DocumentSegment.document_id == dataset_document.id, DocumentSegment.enabled == False, DocumentSegment.status == "completed", @@ -86,9 +86,7 @@ def add_document_to_index_task(dataset_document_id: str): index_processor.load(dataset, documents) # delete auto disable log - db.session.query(DatasetAutoDisableLog).where( - DatasetAutoDisableLog.document_id == dataset_document.id - ).delete() + db.session.query(DatasetAutoDisableLog).where(DatasetAutoDisableLog.document_id == dataset_document.id).delete() # update segment to enable db.session.query(DocumentSegment).where(DocumentSegment.document_id == dataset_document.id).update( diff --git a/api/tasks/annotation/disable_annotation_reply_task.py b/api/tasks/annotation/disable_annotation_reply_task.py index 6c4f38daa4..5d5d1d3ad8 100644 --- a/api/tasks/annotation/disable_annotation_reply_task.py +++ b/api/tasks/annotation/disable_annotation_reply_task.py @@ -26,9 +26,7 @@ def disable_annotation_reply_task(job_id: str, app_id: str, tenant_id: str): db.session.close() return - app_annotation_setting = ( - db.session.query(AppAnnotationSetting).where(AppAnnotationSetting.app_id == app_id).first() - ) + app_annotation_setting = db.session.query(AppAnnotationSetting).where(AppAnnotationSetting.app_id == app_id).first() if not app_annotation_setting: logging.info(click.style("App annotation setting not found: {}".format(app_id), fg="red")) diff --git a/api/tasks/annotation/enable_annotation_reply_task.py b/api/tasks/annotation/enable_annotation_reply_task.py index 85a851b68c..12d10df442 100644 --- a/api/tasks/annotation/enable_annotation_reply_task.py +++ b/api/tasks/annotation/enable_annotation_reply_task.py @@ -46,9 +46,7 @@ def enable_annotation_reply_task( dataset_collection_binding = DatasetCollectionBindingService.get_dataset_collection_binding( embedding_provider_name, embedding_model_name, "annotation" ) - annotation_setting = ( - db.session.query(AppAnnotationSetting).where(AppAnnotationSetting.app_id == app_id).first() - ) + annotation_setting = db.session.query(AppAnnotationSetting).where(AppAnnotationSetting.app_id == app_id).first() if annotation_setting: if dataset_collection_binding.id != annotation_setting.collection_binding_id: old_dataset_collection_binding = ( diff --git a/api/tasks/batch_create_segment_to_index_task.py b/api/tasks/batch_create_segment_to_index_task.py index 51b6343fdc..64df3175e1 100644 --- a/api/tasks/batch_create_segment_to_index_task.py +++ b/api/tasks/batch_create_segment_to_index_task.py @@ -81,7 +81,7 @@ def batch_create_segment_to_index_task( segment_hash = helper.generate_text_hash(content) # type: ignore max_position = ( db.session.query(func.max(DocumentSegment.position)) - .filter(DocumentSegment.document_id == dataset_document.id) + .where(DocumentSegment.document_id == dataset_document.id) .scalar() ) segment_document = DocumentSegment( diff --git a/api/tasks/clean_dataset_task.py b/api/tasks/clean_dataset_task.py index 614a50c1c0..fad090141a 100644 --- a/api/tasks/clean_dataset_task.py +++ b/api/tasks/clean_dataset_task.py @@ -102,7 +102,7 @@ def clean_dataset_task( file_id = data_source_info["upload_file_id"] file = ( db.session.query(UploadFile) - .filter(UploadFile.tenant_id == document.tenant_id, UploadFile.id == file_id) + .where(UploadFile.tenant_id == document.tenant_id, UploadFile.id == file_id) .first() ) if not file: diff --git a/api/tasks/deal_dataset_vector_index_task.py b/api/tasks/deal_dataset_vector_index_task.py index cce6758e5b..7478bf5a90 100644 --- a/api/tasks/deal_dataset_vector_index_task.py +++ b/api/tasks/deal_dataset_vector_index_task.py @@ -35,7 +35,7 @@ def deal_dataset_vector_index_task(dataset_id: str, action: str): elif action == "add": dataset_documents = ( db.session.query(DatasetDocument) - .filter( + .where( DatasetDocument.dataset_id == dataset_id, DatasetDocument.indexing_status == "completed", DatasetDocument.enabled == True, @@ -56,7 +56,7 @@ def deal_dataset_vector_index_task(dataset_id: str, action: str): # add from vector index segments = ( db.session.query(DocumentSegment) - .filter(DocumentSegment.document_id == dataset_document.id, DocumentSegment.enabled == True) + .where(DocumentSegment.document_id == dataset_document.id, DocumentSegment.enabled == True) .order_by(DocumentSegment.position.asc()) .all() ) @@ -88,7 +88,7 @@ def deal_dataset_vector_index_task(dataset_id: str, action: str): elif action == "update": dataset_documents = ( db.session.query(DatasetDocument) - .filter( + .where( DatasetDocument.dataset_id == dataset_id, DatasetDocument.indexing_status == "completed", DatasetDocument.enabled == True, @@ -113,7 +113,7 @@ def deal_dataset_vector_index_task(dataset_id: str, action: str): try: segments = ( db.session.query(DocumentSegment) - .filter(DocumentSegment.document_id == dataset_document.id, DocumentSegment.enabled == True) + .where(DocumentSegment.document_id == dataset_document.id, DocumentSegment.enabled == True) .order_by(DocumentSegment.position.asc()) .all() ) diff --git a/api/tasks/disable_segments_from_index_task.py b/api/tasks/disable_segments_from_index_task.py index c960a849f3..0c8b1aabc7 100644 --- a/api/tasks/disable_segments_from_index_task.py +++ b/api/tasks/disable_segments_from_index_task.py @@ -44,7 +44,7 @@ def disable_segments_from_index_task(segment_ids: list, dataset_id: str, documen segments = ( db.session.query(DocumentSegment) - .filter( + .where( DocumentSegment.id.in_(segment_ids), DocumentSegment.dataset_id == dataset_id, DocumentSegment.document_id == document_id, diff --git a/api/tasks/document_indexing_sync_task.py b/api/tasks/document_indexing_sync_task.py index 17f6847b68..dcc748ef18 100644 --- a/api/tasks/document_indexing_sync_task.py +++ b/api/tasks/document_indexing_sync_task.py @@ -46,7 +46,7 @@ def document_indexing_sync_task(dataset_id: str, document_id: str): page_edited_time = data_source_info["last_edited_time"] data_source_binding = ( db.session.query(DataSourceOauthBinding) - .filter( + .where( db.and_( DataSourceOauthBinding.tenant_id == document.tenant_id, DataSourceOauthBinding.provider == "notion", diff --git a/api/tasks/enable_segments_to_index_task.py b/api/tasks/enable_segments_to_index_task.py index 7beda4235d..e3fdf04d8c 100644 --- a/api/tasks/enable_segments_to_index_task.py +++ b/api/tasks/enable_segments_to_index_task.py @@ -45,7 +45,7 @@ def enable_segments_to_index_task(segment_ids: list, dataset_id: str, document_i segments = ( db.session.query(DocumentSegment) - .filter( + .where( DocumentSegment.id.in_(segment_ids), DocumentSegment.dataset_id == dataset_id, DocumentSegment.document_id == document_id, diff --git a/api/tasks/remove_app_and_related_data_task.py b/api/tasks/remove_app_and_related_data_task.py index f512db61c5..1619f8c546 100644 --- a/api/tasks/remove_app_and_related_data_task.py +++ b/api/tasks/remove_app_and_related_data_task.py @@ -142,9 +142,9 @@ def _delete_recommended_apps(tenant_id: str, app_id: str): def _delete_app_annotation_data(tenant_id: str, app_id: str): def del_annotation_hit_history(annotation_hit_history_id: str): - db.session.query(AppAnnotationHitHistory).where( - AppAnnotationHitHistory.id == annotation_hit_history_id - ).delete(synchronize_session=False) + db.session.query(AppAnnotationHitHistory).where(AppAnnotationHitHistory.id == annotation_hit_history_id).delete( + synchronize_session=False + ) _delete_records( """select id from app_annotation_hit_histories where app_id=:app_id limit 1000""",