From a1bc9a1c60dc57035102e85277ee5e560e25bda6 Mon Sep 17 00:00:00 2001 From: CREDO23 Date: Mon, 4 Aug 2025 00:52:07 +0200 Subject: [PATCH] update search source connector / add gmail enum value --- surfsense_backend/app/db.py | 2 ++ surfsense_backend/app/schemas/search_source_connector.py | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/surfsense_backend/app/db.py b/surfsense_backend/app/db.py index f572438..49e227f 100644 --- a/surfsense_backend/app/db.py +++ b/surfsense_backend/app/db.py @@ -47,6 +47,7 @@ class DocumentType(str, Enum): CONFLUENCE_CONNECTOR = "CONFLUENCE_CONNECTOR" CLICKUP_CONNECTOR = "CLICKUP_CONNECTOR" GOOGLE_CALENDAR_CONNECTOR = "GOOGLE_CALENDAR_CONNECTOR" + GOOGLE_GMAIL_CONNECTOR = "GOOGLE_GMAIL_CONNECTOR" class SearchSourceConnectorType(str, Enum): @@ -62,6 +63,7 @@ class SearchSourceConnectorType(str, Enum): CONFLUENCE_CONNECTOR = "CONFLUENCE_CONNECTOR" CLICKUP_CONNECTOR = "CLICKUP_CONNECTOR" GOOGLE_CALENDAR_CONNECTOR = "GOOGLE_CALENDAR_CONNECTOR" + GOOGLE_GMAIL_CONNECTOR = "GOOGLE_GMAIL_CONNECTOR" class ChatType(str, Enum): diff --git a/surfsense_backend/app/schemas/search_source_connector.py b/surfsense_backend/app/schemas/search_source_connector.py index 4c36893..c44b2bf 100644 --- a/surfsense_backend/app/schemas/search_source_connector.py +++ b/surfsense_backend/app/schemas/search_source_connector.py @@ -188,6 +188,14 @@ class SearchSourceConnectorBase(BaseModel): if key not in config or config[key] in (None, ""): raise ValueError(f"{key} is required and cannot be empty") + elif connector_type == SearchSourceConnectorType.GOOGLE_GMAIL_CONNECTOR: + # Required fields for Gmail connector (same as Calendar - uses Google OAuth) + required_keys = list(GoogleAuthCredentialsBase.model_fields.keys()) + + for key in required_keys: + if key not in config or config[key] in (None, ""): + raise ValueError(f"{key} is required and cannot be empty") + return config