diff --git a/cognee/exceptions/__init__.py b/cognee/exceptions/__init__.py index bbc71c4d2..4d76a530c 100644 --- a/cognee/exceptions/__init__.py +++ b/cognee/exceptions/__init__.py @@ -11,8 +11,6 @@ from .exceptions import ( EntityNotFoundError, EntityAlreadyExistsError, InvalidOperationError, - PermissionDeniedError, - IngestionError, InvalidValueError, InvalidAttributeError, ) \ No newline at end of file diff --git a/cognee/exceptions/exceptions.py b/cognee/exceptions/exceptions.py index 2ea9ded1e..fd83ed6ab 100644 --- a/cognee/exceptions/exceptions.py +++ b/cognee/exceptions/exceptions.py @@ -70,24 +70,6 @@ class InvalidOperationError(CogneeApiError): super().__init__(message, name, status_code) -class PermissionDeniedError(CogneeApiError): - def __init__( - self, - message: str = "User does not have permission on documents.", - name: str = "PermissionDeniedError", - status_code=status.HTTP_403_FORBIDDEN, - ): - super().__init__(message, name, status_code) - -class IngestionError(CogneeApiError): - def __init__( - self, - message: str = "Type of data sent to classify not supported.", - name: str = "IngestionError", - status_code=status.HTTP_415_UNSUPPORTED_MEDIA_TYPE, - ): - super().__init__(message, name, status_code) - class InvalidValueError(CogneeApiError): def __init__( self, diff --git a/cognee/modules/ingestion/classify.py b/cognee/modules/ingestion/classify.py index 972082765..dbb191cc3 100644 --- a/cognee/modules/ingestion/classify.py +++ b/cognee/modules/ingestion/classify.py @@ -3,7 +3,7 @@ from typing import Union, BinaryIO from .data_types import TextData, BinaryData from tempfile import SpooledTemporaryFile -from cognee.exceptions import IngestionError +from cognee.modules.ingestion.exceptions import IngestionError def classify(data: Union[str, BinaryIO], filename: str = None): diff --git a/cognee/modules/ingestion/exceptions/__init__.py b/cognee/modules/ingestion/exceptions/__init__.py new file mode 100644 index 000000000..33d59e113 --- /dev/null +++ b/cognee/modules/ingestion/exceptions/__init__.py @@ -0,0 +1,9 @@ +""" +Custom exceptions for the Cognee API. + +This module defines a set of exceptions for handling various ingestion errors +""" + +from .exceptions import ( + IngestionError, +) \ No newline at end of file diff --git a/cognee/modules/ingestion/exceptions/exceptions.py b/cognee/modules/ingestion/exceptions/exceptions.py new file mode 100644 index 000000000..4901be110 --- /dev/null +++ b/cognee/modules/ingestion/exceptions/exceptions.py @@ -0,0 +1,11 @@ +from cognee.exceptions import CogneeApiError +from fastapi import status + +class IngestionError(CogneeApiError): + def __init__( + self, + message: str = "Type of data sent to classify not supported.", + name: str = "IngestionError", + status_code=status.HTTP_415_UNSUPPORTED_MEDIA_TYPE, + ): + super().__init__(message, name, status_code) \ No newline at end of file diff --git a/cognee/modules/users/exceptions/__init__.py b/cognee/modules/users/exceptions/__init__.py index ee4f99eda..70e6e9d2a 100644 --- a/cognee/modules/users/exceptions/__init__.py +++ b/cognee/modules/users/exceptions/__init__.py @@ -7,4 +7,5 @@ This module defines a set of exceptions for handling various user errors from .exceptions import ( GroupNotFoundError, UserNotFoundError, + PermissionDeniedError, ) \ No newline at end of file diff --git a/cognee/modules/users/exceptions/exceptions.py b/cognee/modules/users/exceptions/exceptions.py index d45531746..7dda702db 100644 --- a/cognee/modules/users/exceptions/exceptions.py +++ b/cognee/modules/users/exceptions/exceptions.py @@ -24,3 +24,13 @@ class UserNotFoundError(CogneeApiError): status_code=status.HTTP_404_NOT_FOUND, ): super().__init__(message, name, status_code) + + +class PermissionDeniedError(CogneeApiError): + def __init__( + self, + message: str = "User does not have permission on documents.", + name: str = "PermissionDeniedError", + status_code=status.HTTP_403_FORBIDDEN, + ): + super().__init__(message, name, status_code) diff --git a/cognee/modules/users/permissions/methods/check_permission_on_documents.py b/cognee/modules/users/permissions/methods/check_permission_on_documents.py index e6cf2ef24..f9c5a2258 100644 --- a/cognee/modules/users/permissions/methods/check_permission_on_documents.py +++ b/cognee/modules/users/permissions/methods/check_permission_on_documents.py @@ -3,7 +3,7 @@ from uuid import UUID from sqlalchemy import select from sqlalchemy.orm import joinedload -from cognee.exceptions import PermissionDeniedError +from cognee.modules.users.exceptions import PermissionDeniedError from cognee.infrastructure.databases.relational import get_relational_engine from ...models.User import User diff --git a/cognee/tasks/graph/infer_data_ontology.py b/cognee/tasks/graph/infer_data_ontology.py index fd71aa05c..ee267a83b 100644 --- a/cognee/tasks/graph/infer_data_ontology.py +++ b/cognee/tasks/graph/infer_data_ontology.py @@ -11,7 +11,8 @@ import aiofiles import pandas as pd from pydantic import BaseModel -from cognee.exceptions import IngestionError, EntityNotFoundError +from cognee.exceptions import EntityNotFoundError +from cognee.modules.ingestion.exceptions import IngestionError from cognee.infrastructure.llm.prompts import read_query_prompt from cognee.infrastructure.llm.get_llm_client import get_llm_client from cognee.infrastructure.data.chunking.config import get_chunk_config diff --git a/cognee/tasks/ingestion/save_data_item_to_storage.py b/cognee/tasks/ingestion/save_data_item_to_storage.py index 450acb3df..e2a7c8ee7 100644 --- a/cognee/tasks/ingestion/save_data_item_to_storage.py +++ b/cognee/tasks/ingestion/save_data_item_to_storage.py @@ -1,6 +1,6 @@ from typing import Union, BinaryIO -from cognee.exceptions import IngestionError +from cognee.modules.ingestion.exceptions import IngestionError from cognee.modules.ingestion import save_data_to_file def save_data_item_to_storage(data_item: Union[BinaryIO, str], dataset_name: str) -> str: diff --git a/cognee/tasks/ingestion/save_data_item_with_metadata_to_storage.py b/cognee/tasks/ingestion/save_data_item_with_metadata_to_storage.py index e60716fac..bf5a1f093 100644 --- a/cognee/tasks/ingestion/save_data_item_with_metadata_to_storage.py +++ b/cognee/tasks/ingestion/save_data_item_with_metadata_to_storage.py @@ -1,6 +1,6 @@ from typing import Union, BinaryIO, Any -from cognee.exceptions import IngestionError +from cognee.modules.ingestion.exceptions import IngestionError from cognee.modules.ingestion import save_data_to_file def save_data_item_with_metadata_to_storage(data_item: Union[BinaryIO, str, Any], dataset_name: str) -> str: