44 lines
1.3 KiB
Python
44 lines
1.3 KiB
Python
from starlette.requests import Request
|
|
from starlette.responses import JSONResponse
|
|
from utils.logging_config import get_logger
|
|
|
|
logger = get_logger(__name__)
|
|
|
|
|
|
async def nudges_from_kb_endpoint(request: Request, chat_service, session_manager):
|
|
"""Get nudges for a user"""
|
|
user = request.state.user
|
|
user_id = user.user_id
|
|
jwt_token = session_manager.get_effective_jwt_token(user_id, request.state.jwt_token)
|
|
|
|
try:
|
|
result = await chat_service.langflow_nudges_chat(
|
|
user_id,
|
|
jwt_token,
|
|
)
|
|
return JSONResponse(result)
|
|
except Exception as e:
|
|
return JSONResponse(
|
|
{"error": f"Failed to get nudges: {str(e)}"}, status_code=500
|
|
)
|
|
|
|
|
|
async def nudges_from_chat_id_endpoint(request: Request, chat_service, session_manager):
|
|
"""Get nudges for a user"""
|
|
user = request.state.user
|
|
user_id = user.user_id
|
|
chat_id = request.path_params["chat_id"]
|
|
|
|
jwt_token = session_manager.get_effective_jwt_token(user_id, request.state.jwt_token)
|
|
|
|
try:
|
|
result = await chat_service.langflow_nudges_chat(
|
|
user_id,
|
|
jwt_token,
|
|
previous_response_id=chat_id,
|
|
)
|
|
return JSONResponse(result)
|
|
except Exception as e:
|
|
return JSONResponse(
|
|
{"error": f"Failed to get nudges: {str(e)}"}, status_code=500
|
|
)
|