Update flask_Character.py
Browse files- flask_Character.py +10 -20
flask_Character.py
CHANGED
|
@@ -760,31 +760,21 @@ async def query_extracted_emails_endpoint(query_params: ExtractedEmailQuery = De
|
|
| 760 |
raise HTTPException(status_code=500, detail=f"Error querying extracted emails: {e}")
|
| 761 |
|
| 762 |
|
| 763 |
-
|
| 764 |
async def query_generated_replies_endpoint(query_params: GeneratedReplyQuery = Depends()):
|
| 765 |
-
"""
|
| 766 |
-
Queries stored generated email replies from MongoDB based on various filters.
|
| 767 |
-
"""
|
| 768 |
if generated_replies_collection is None:
|
| 769 |
-
raise HTTPException(status_code=503, detail="MongoDB not available for
|
| 770 |
-
|
| 771 |
mongo_query: Dict[str, Any] = {}
|
| 772 |
-
if query_params.language:
|
| 773 |
-
|
| 774 |
-
if query_params.
|
| 775 |
-
mongo_query["style"] = query_params.style
|
| 776 |
-
if query_params.tone:
|
| 777 |
-
mongo_query["tone"] = query_params.tone
|
| 778 |
|
| 779 |
if query_params.from_date or query_params.to_date:
|
| 780 |
date_query: Dict[str, datetime] = {}
|
| 781 |
-
if query_params.from_date:
|
| 782 |
-
|
| 783 |
-
if
|
| 784 |
-
|
| 785 |
-
if date_query:
|
| 786 |
-
mongo_query["generated_at"] = date_query
|
| 787 |
-
|
| 788 |
try:
|
| 789 |
cursor = generated_replies_collection.find(mongo_query).sort("generated_at", -1).limit(query_params.limit)
|
| 790 |
generated_docs_raw = await asyncio.to_thread(list, cursor)
|
|
@@ -796,4 +786,4 @@ async def query_generated_replies_endpoint(query_params: GeneratedReplyQuery = D
|
|
| 796 |
return results
|
| 797 |
except Exception as e:
|
| 798 |
traceback.print_exc()
|
| 799 |
-
raise HTTPException(status_code=500, detail=f"Error querying generated replies: {e}")
|
|
|
|
| 760 |
raise HTTPException(status_code=500, detail=f"Error querying extracted emails: {e}")
|
| 761 |
|
| 762 |
|
| 763 |
+
app.get("/query-generated-replies", response_model=List[GeneratedReplyData], summary="Query generated replies from MongoDB")
|
| 764 |
async def query_generated_replies_endpoint(query_params: GeneratedReplyQuery = Depends()):
|
|
|
|
|
|
|
|
|
|
| 765 |
if generated_replies_collection is None:
|
| 766 |
+
raise HTTPException(status_code=503, detail="MongoDB not available for generated_replies.")
|
|
|
|
| 767 |
mongo_query: Dict[str, Any] = {}
|
| 768 |
+
if query_params.language: mongo_query["language"] = query_params.language
|
| 769 |
+
if query_params.style: mongo_query["style"] = query_params.style
|
| 770 |
+
if query_params.tone: mongo_query["tone"] = query_params.tone
|
|
|
|
|
|
|
|
|
|
| 771 |
|
| 772 |
if query_params.from_date or query_params.to_date:
|
| 773 |
date_query: Dict[str, datetime] = {}
|
| 774 |
+
if query_params.from_date: date_query["$gte"] = datetime.combine(query_params.from_date, datetime.min.time())
|
| 775 |
+
if query_params.to_date: date_query["$lt"] = datetime.combine(query_params.to_date + timedelta(days=1), datetime.min.time())
|
| 776 |
+
if date_query: mongo_query["generated_at"] = date_query
|
| 777 |
+
|
|
|
|
|
|
|
|
|
|
| 778 |
try:
|
| 779 |
cursor = generated_replies_collection.find(mongo_query).sort("generated_at", -1).limit(query_params.limit)
|
| 780 |
generated_docs_raw = await asyncio.to_thread(list, cursor)
|
|
|
|
| 786 |
return results
|
| 787 |
except Exception as e:
|
| 788 |
traceback.print_exc()
|
| 789 |
+
raise HTTPException(status_code=500, detail=f"Error querying generated replies: {e}")
|