From 4a7efdc5526f4b2810c556a0e49475ae7c13d2ad Mon Sep 17 00:00:00 2001 From: sabaimran Date: Mon, 29 Jul 2024 22:42:43 +0530 Subject: [PATCH] Use patch in place of put in the indexer API call, ensure that files are not being required in the indexer path --- src/interface/web/app/settings/page.tsx | 2 +- src/khoj/routers/api_content.py | 4 ++-- src/khoj/routers/helpers.py | 5 +++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/interface/web/app/settings/page.tsx b/src/interface/web/app/settings/page.tsx index eb948355..18ba6376 100644 --- a/src/interface/web/app/settings/page.tsx +++ b/src/interface/web/app/settings/page.tsx @@ -544,7 +544,7 @@ export default function SettingsView() { const syncContent = async (type: string) => { try { const response = await fetch(`/api/content?t=${type}`, { - method: 'PUT', + method: 'PATCH', headers: { 'Content-Type': 'application/json', }, diff --git a/src/khoj/routers/api_content.py b/src/khoj/routers/api_content.py index 40d3bb6b..c90b6ae6 100644 --- a/src/khoj/routers/api_content.py +++ b/src/khoj/routers/api_content.py @@ -81,7 +81,7 @@ class IndexerInput(BaseModel): @requires(["authenticated"]) async def put_content( request: Request, - files: list[UploadFile], + files: Optional[List[UploadFile]] = [], t: Optional[Union[state.SearchType, str]] = state.SearchType.All, client: Optional[str] = None, user_agent: Optional[str] = Header(None), @@ -103,7 +103,7 @@ async def put_content( @requires(["authenticated"]) async def patch_content( request: Request, - files: list[UploadFile], + files: Optional[List[UploadFile]] = [], t: Optional[Union[state.SearchType, str]] = state.SearchType.All, client: Optional[str] = None, user_agent: Optional[str] = Header(None), diff --git a/src/khoj/routers/helpers.py b/src/khoj/routers/helpers.py index bc764b11..b3c4e087 100644 --- a/src/khoj/routers/helpers.py +++ b/src/khoj/routers/helpers.py @@ -988,14 +988,15 @@ class ApiIndexedDataLimiter: self.total_entries_size_limit = total_entries_size_limit self.subscribed_total_entries_size = subscribed_total_entries_size_limit - def __call__(self, request: Request, files: List[UploadFile]): + def __call__(self, request: Request, files: List[UploadFile] = None): if state.billing_enabled is False: return + subscribed = has_required_scope(request, ["premium"]) incoming_data_size_mb = 0.0 deletion_file_names = set() - if not request.user.is_authenticated: + if not request.user.is_authenticated or not files: return user: KhojUser = request.user.object