"""Module for defining the main routes of the API.""" | |
import threading | |
from fastapi import APIRouter, Request | |
from fastapi.responses import JSONResponse | |
from services import GmailService | |
from schema import EmailQuery | |
router = APIRouter(prefix="/service", tags=["mail"]) | |
def collect(query: EmailQuery, request: Request) -> JSONResponse: | |
""" | |
Handles the chat POST request. | |
Args: | |
query (ReqData): The request data containing the query parameters. | |
Returns: | |
str: The generated response from the chat function. | |
""" | |
service = GmailService(request.headers.get("Google-Token")) | |
threading.Thread(target=service.collect, args=[query]).start() | |
return JSONResponse(content={"message": "Mail collection in progress."}) | |
def get(query: EmailQuery, request: Request) -> JSONResponse: | |
""" | |
Handles the chat POST request. | |
Args: | |
query (ReqData): The request data containing the query parameters. | |
Returns: | |
str: The generated response from the chat function. | |
""" | |
service = GmailService(request.headers.get("Google-Token")) | |
result = service.get(query, query.max_results) | |
return JSONResponse(content = result) | |