DeepImagix commited on
Commit
f0c2e0a
·
verified ·
1 Parent(s): 71e5a21

Upload chat.py

Browse files
Files changed (1) hide show
  1. routers/chat.py +32 -0
routers/chat.py ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ Chat Router - Thin layer only
3
+ """
4
+
5
+ from fastapi import APIRouter, Request
6
+ from services.chat_service import ChatService
7
+ from services.polar_service import PolarService
8
+
9
+ router = APIRouter()
10
+
11
+ @app.post("/")
12
+ async def chat(payload: dict, request: Request):
13
+ user_id = payload.get("user_id")
14
+ user_msg = payload.get("message", "").strip()
15
+ model_id = payload.get("model_id") or "neurones-pro-1.0"
16
+ ip = request.client.host if request.client else "127.0.0.1"
17
+
18
+ user_email = ""
19
+ try:
20
+ from firebase_admin import auth as fb_auth
21
+ fb_user = fb_auth.get_user(user_id)
22
+ user_email = fb_user.email or ""
23
+ except:
24
+ pass
25
+
26
+ polar_premium = await PolarService.verify_subscription(email=user_email, firebase_uid=user_id)
27
+
28
+ if is_rate_limited(user_id, is_premium=polar_premium):
29
+ return {"response": "⏳ Rate limit reached."}
30
+
31
+ result = await ChatService.process_message(user_id, user_msg, model_id)
32
+ return result