refactor: rename GOOGLE_DRIVE_CONNECTOR to GOOGLE_DRIVE_FILE document type

This commit is contained in:
CREDO23 2025-12-29 20:38:26 +02:00
parent 16bc991b13
commit 7618662e70
8 changed files with 85 additions and 11 deletions

View file

@ -0,0 +1,74 @@
"""Rename GOOGLE_DRIVE_CONNECTOR document type to GOOGLE_DRIVE_FILE
Revision ID: 55
Revises: 54
Create Date: 2025-12-29 12:00:00.000000
"""
from collections.abc import Sequence
from alembic import op
# revision identifiers, used by Alembic.
revision: str = "55"
down_revision: str | None = "54"
branch_labels: str | Sequence[str] | None = None
depends_on: str | Sequence[str] | None = None
def upgrade() -> None:
from sqlalchemy import text
connection = op.get_bind()
connection.execute(
text(
"""
DO $$
BEGIN
IF NOT EXISTS (
SELECT 1 FROM pg_type t
JOIN pg_enum e ON t.oid = e.enumtypid
WHERE t.typname = 'documenttype' AND e.enumlabel = 'GOOGLE_DRIVE_FILE'
) THEN
ALTER TYPE documenttype ADD VALUE IF NOT EXISTS 'GOOGLE_DRIVE_FILE';
END IF;
END
$$;
"""
)
)
connection.commit()
connection.execute(
text(
"""
UPDATE documents
SET document_type = 'GOOGLE_DRIVE_FILE'
WHERE document_type = 'GOOGLE_DRIVE_CONNECTOR';
"""
)
)
connection.commit()
def downgrade() -> None:
from sqlalchemy import text
connection = op.get_bind()
connection.execute(
text(
"""
UPDATE documents
SET document_type = 'GOOGLE_DRIVE_CONNECTOR'
WHERE document_type = 'GOOGLE_DRIVE_FILE';
"""
)
)
connection.commit()

View file

@ -36,7 +36,7 @@ _ALL_CONNECTORS: list[str] = [
"CLICKUP_CONNECTOR",
"GOOGLE_CALENDAR_CONNECTOR",
"GOOGLE_GMAIL_CONNECTOR",
"GOOGLE_DRIVE_CONNECTOR",
"GOOGLE_DRIVE_FILE",
"DISCORD_CONNECTOR",
"AIRTABLE_CONNECTOR",
"TAVILY_API",
@ -426,7 +426,7 @@ async def search_knowledge_base_async(
)
all_documents.extend(chunks)
elif connector == "GOOGLE_DRIVE_CONNECTOR":
elif connector == "GOOGLE_DRIVE_FILE":
_, chunks = await connector_service.search_google_drive(
user_query=query,
search_space_id=search_space_id,
@ -572,7 +572,7 @@ def create_search_knowledge_base_tool(
- CLICKUP_CONNECTOR: "ClickUp tasks and project data" (personal task management)
- GOOGLE_CALENDAR_CONNECTOR: "Google Calendar events, meetings, and schedules" (personal calendar and time management)
- GOOGLE_GMAIL_CONNECTOR: "Google Gmail emails and conversations" (personal emails and communications)
- GOOGLE_DRIVE_CONNECTOR: "Google Drive files and documents" (personal cloud storage and file management)
- GOOGLE_DRIVE_FILE: "Google Drive files and documents" (personal cloud storage and file management)
- DISCORD_CONNECTOR: "Discord server conversations and shared content" (personal community communications)
- AIRTABLE_CONNECTOR: "Airtable records, tables, and database content" (personal data management and organization)
- TAVILY_API: "Tavily search API results" (personalized search results)

View file

@ -84,7 +84,7 @@ async def download_and_process_file(
from app.db import DocumentType
connector_info = {
"type": DocumentType.GOOGLE_DRIVE_CONNECTOR,
"type": DocumentType.GOOGLE_DRIVE_FILE,
"metadata": {
"google_drive_file_id": file_id,
"google_drive_file_name": file_name,

View file

@ -46,7 +46,7 @@ class DocumentType(str, Enum):
CLICKUP_CONNECTOR = "CLICKUP_CONNECTOR"
GOOGLE_CALENDAR_CONNECTOR = "GOOGLE_CALENDAR_CONNECTOR"
GOOGLE_GMAIL_CONNECTOR = "GOOGLE_GMAIL_CONNECTOR"
GOOGLE_DRIVE_CONNECTOR = "GOOGLE_DRIVE_CONNECTOR"
GOOGLE_DRIVE_FILE = "GOOGLE_DRIVE_FILE"
AIRTABLE_CONNECTOR = "AIRTABLE_CONNECTOR"
LUMA_CONNECTOR = "LUMA_CONNECTOR"
ELASTICSEARCH_CONNECTOR = "ELASTICSEARCH_CONNECTOR"

View file

@ -1834,7 +1834,7 @@ class ConnectorService:
drive_docs = await self._combined_rrf_search(
query_text=user_query,
search_space_id=search_space_id,
document_type="GOOGLE_DRIVE_CONNECTOR",
document_type="GOOGLE_DRIVE_FILE",
top_k=top_k,
start_date=start_date,
end_date=end_date,
@ -1845,7 +1845,7 @@ class ConnectorService:
return {
"id": 33,
"name": "Google Drive Files",
"type": "GOOGLE_DRIVE_CONNECTOR",
"type": "GOOGLE_DRIVE_FILE",
"sources": [],
}, []
@ -1902,7 +1902,7 @@ class ConnectorService:
result_object = {
"id": 33, # Assign a unique ID for the Google Drive connector
"name": "Google Drive Files",
"type": "GOOGLE_DRIVE_CONNECTOR",
"type": "GOOGLE_DRIVE_FILE",
"sources": sources_list,
}

View file

@ -396,7 +396,7 @@ async def _remove_document(
):
"""Remove a document that was deleted in Drive."""
unique_identifier_hash = generate_unique_identifier_hash(
DocumentType.GOOGLE_DRIVE_CONNECTOR, file_id, search_space_id
DocumentType.GOOGLE_DRIVE_FILE, file_id, search_space_id
)
existing_document = await check_document_by_unique_identifier(

View file

@ -473,7 +473,7 @@ async def process_file_in_background(
session: AsyncSession,
task_logger: TaskLoggingService,
log_entry: Log,
connector: dict | None = None, # Optional: {"type": "GOOGLE_DRIVE_CONNECTOR", "metadata": {...}}
connector: dict | None = None, # Optional: {"type": "GOOGLE_DRIVE_FILE", "metadata": {...}}
):
try:
# Check if the file is a markdown or text file

View file

@ -15,7 +15,7 @@ export const documentTypeEnum = z.enum([
"CLICKUP_CONNECTOR",
"GOOGLE_CALENDAR_CONNECTOR",
"GOOGLE_GMAIL_CONNECTOR",
"GOOGLE_DRIVE_CONNECTOR",
"GOOGLE_DRIVE_FILE",
"AIRTABLE_CONNECTOR",
"LUMA_CONNECTOR",
"ELASTICSEARCH_CONNECTOR",