Spaces:
Sleeping
Sleeping
Upload 140 files
Browse files- src/.DS_Store +0 -0
- src/apis/.DS_Store +0 -0
- src/apis/controllers/.DS_Store +0 -0
- src/apis/controllers/__pycache__/chat_controller.cpython-311.pyc +0 -0
- src/apis/controllers/__pycache__/scheduling_controller.cpython-311.pyc +0 -0
- src/apis/controllers/auth_controller.py +3 -1
- src/apis/controllers/chat_controller.py +15 -14
- src/apis/routes/__pycache__/scheduling_router.cpython-311.pyc +0 -0
- src/apis/routes/auth_route.py +7 -2
- src/apis/routes/post_router.py +1 -1
- src/apis/routes/scheduling_router.py +25 -1
src/.DS_Store
CHANGED
|
Binary files a/src/.DS_Store and b/src/.DS_Store differ
|
|
|
src/apis/.DS_Store
CHANGED
|
Binary files a/src/apis/.DS_Store and b/src/apis/.DS_Store differ
|
|
|
src/apis/controllers/.DS_Store
CHANGED
|
Binary files a/src/apis/controllers/.DS_Store and b/src/apis/controllers/.DS_Store differ
|
|
|
src/apis/controllers/__pycache__/chat_controller.cpython-311.pyc
CHANGED
|
Binary files a/src/apis/controllers/__pycache__/chat_controller.cpython-311.pyc and b/src/apis/controllers/__pycache__/chat_controller.cpython-311.pyc differ
|
|
|
src/apis/controllers/__pycache__/scheduling_controller.cpython-311.pyc
CHANGED
|
Binary files a/src/apis/controllers/__pycache__/scheduling_controller.cpython-311.pyc and b/src/apis/controllers/__pycache__/scheduling_controller.cpython-311.pyc differ
|
|
|
src/apis/controllers/auth_controller.py
CHANGED
|
@@ -9,6 +9,7 @@ jwt_provider = JWTProvider()
|
|
| 9 |
|
| 10 |
|
| 11 |
async def login_control(token):
|
|
|
|
| 12 |
if not token:
|
| 13 |
raise HTTPException(
|
| 14 |
status_code=status.HTTP_401_UNAUTHORIZED,
|
|
@@ -25,6 +26,7 @@ async def login_control(token):
|
|
| 25 |
existing_user = await UserCRUD.read_one({"email": user.email})
|
| 26 |
if not existing_user:
|
| 27 |
user_id = await UserCRUD.create(user.model_dump())
|
|
|
|
| 28 |
logger.info(f"User {user.email} created.")
|
| 29 |
else:
|
| 30 |
user_id = existing_user["_id"]
|
|
@@ -35,4 +37,4 @@ async def login_control(token):
|
|
| 35 |
user_data.pop("created_at", None)
|
| 36 |
user_data.pop("updated_at", None)
|
| 37 |
user_data.pop("expire_at", None)
|
| 38 |
-
return token, user_data
|
|
|
|
| 9 |
|
| 10 |
|
| 11 |
async def login_control(token):
|
| 12 |
+
first_login = False
|
| 13 |
if not token:
|
| 14 |
raise HTTPException(
|
| 15 |
status_code=status.HTTP_401_UNAUTHORIZED,
|
|
|
|
| 26 |
existing_user = await UserCRUD.read_one({"email": user.email})
|
| 27 |
if not existing_user:
|
| 28 |
user_id = await UserCRUD.create(user.model_dump())
|
| 29 |
+
first_login = True
|
| 30 |
logger.info(f"User {user.email} created.")
|
| 31 |
else:
|
| 32 |
user_id = existing_user["_id"]
|
|
|
|
| 37 |
user_data.pop("created_at", None)
|
| 38 |
user_data.pop("updated_at", None)
|
| 39 |
user_data.pop("expire_at", None)
|
| 40 |
+
return token, user_data, first_login
|
src/apis/controllers/chat_controller.py
CHANGED
|
@@ -52,20 +52,20 @@ async def save_history(user_id, human_message, ai_message, intent):
|
|
| 52 |
{"session_id": user_id}, {"intent": intent}
|
| 53 |
)
|
| 54 |
logger.info("History updated")
|
| 55 |
-
history_cache = await get_key_redis(f"chat_history_{user_id}")
|
| 56 |
-
if history_cache is not None:
|
| 57 |
-
|
| 58 |
-
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
|
| 65 |
-
|
| 66 |
-
|
| 67 |
-
await set_key_redis(f"chat_history_{user_id}", str(messages_add_to_history_cache))
|
| 68 |
-
return {"message": "History created"}
|
| 69 |
|
| 70 |
|
| 71 |
async def chat_streaming_function(user, data: Chat, background_tasks: BackgroundTasks):
|
|
@@ -223,6 +223,7 @@ async def get_history_function(session_id):
|
|
| 223 |
i.model_dump(include=["type", "content"]) for i in history_messages
|
| 224 |
]
|
| 225 |
intent = await get_intent_function(session_id)
|
|
|
|
| 226 |
return {"message": history_messages, "intent": intent}
|
| 227 |
history_messages = eval(history_messages)
|
| 228 |
return history_messages
|
|
|
|
| 52 |
{"session_id": user_id}, {"intent": intent}
|
| 53 |
)
|
| 54 |
logger.info("History updated")
|
| 55 |
+
# history_cache = await get_key_redis(f"chat_history_{user_id}")
|
| 56 |
+
# if history_cache is not None:
|
| 57 |
+
# history_cache = eval(history_cache)
|
| 58 |
+
# history_cache["message"] = (
|
| 59 |
+
# history_cache["message"] + messages_add_to_history_dict
|
| 60 |
+
# )
|
| 61 |
+
# history_cache["intent"] = intent
|
| 62 |
+
# await set_key_redis(
|
| 63 |
+
# f"chat_history_{user_id}",
|
| 64 |
+
# str(history_cache),
|
| 65 |
+
# )
|
| 66 |
+
# return {"message": "History updated"}
|
| 67 |
+
# await set_key_redis(f"chat_history_{user_id}", str(messages_add_to_history_cache))
|
| 68 |
+
# return {"message": "History created"}
|
| 69 |
|
| 70 |
|
| 71 |
async def chat_streaming_function(user, data: Chat, background_tasks: BackgroundTasks):
|
|
|
|
| 223 |
i.model_dump(include=["type", "content"]) for i in history_messages
|
| 224 |
]
|
| 225 |
intent = await get_intent_function(session_id)
|
| 226 |
+
logger.info(F"INTENT {intent}")
|
| 227 |
return {"message": history_messages, "intent": intent}
|
| 228 |
history_messages = eval(history_messages)
|
| 229 |
return history_messages
|
src/apis/routes/__pycache__/scheduling_router.cpython-311.pyc
CHANGED
|
Binary files a/src/apis/routes/__pycache__/scheduling_router.cpython-311.pyc and b/src/apis/routes/__pycache__/scheduling_router.cpython-311.pyc differ
|
|
|
src/apis/routes/auth_route.py
CHANGED
|
@@ -17,9 +17,14 @@ user_dependency = Annotated[User, Depends(get_current_user)]
|
|
| 17 |
)
|
| 18 |
async def login(credential: Credential):
|
| 19 |
try:
|
| 20 |
-
token, user_data = await login_control(credential.credential)
|
| 21 |
return JSONResponse(
|
| 22 |
-
content={
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 23 |
)
|
| 24 |
except Exception as e:
|
| 25 |
return JSONResponse(content={"message": str(e)}, status_code=500)
|
|
|
|
| 17 |
)
|
| 18 |
async def login(credential: Credential):
|
| 19 |
try:
|
| 20 |
+
token, user_data, first_login = await login_control(credential.credential)
|
| 21 |
return JSONResponse(
|
| 22 |
+
content={
|
| 23 |
+
"token": token,
|
| 24 |
+
"user_data": user_data,
|
| 25 |
+
"first_login": first_login,
|
| 26 |
+
},
|
| 27 |
+
status_code=200,
|
| 28 |
)
|
| 29 |
except Exception as e:
|
| 30 |
return JSONResponse(content={"message": str(e)}, status_code=500)
|
src/apis/routes/post_router.py
CHANGED
|
@@ -47,7 +47,7 @@ async def create_post(body: BodyPost, user: user_dependency):
|
|
| 47 |
return JSONResponse(content=result, status_code=201)
|
| 48 |
|
| 49 |
|
| 50 |
-
@router.
|
| 51 |
async def get_post(post_id: str, user: user_dependency):
|
| 52 |
if user is None:
|
| 53 |
return JSONResponse(content={"message": "User not found"}, status_code=404)
|
|
|
|
| 47 |
return JSONResponse(content=result, status_code=201)
|
| 48 |
|
| 49 |
|
| 50 |
+
@router.get("/get/{post_id}", status_code=status.HTTP_200_OK)
|
| 51 |
async def get_post(post_id: str, user: user_dependency):
|
| 52 |
if user is None:
|
| 53 |
return JSONResponse(content={"message": "User not found"}, status_code=404)
|
src/apis/routes/scheduling_router.py
CHANGED
|
@@ -40,6 +40,7 @@ class BodyActivity(BaseDocument):
|
|
| 40 |
|
| 41 |
@router.post("/create", status_code=status.HTTP_201_CREATED)
|
| 42 |
async def create_activity(body: BodyActivity, user: user_dependency):
|
|
|
|
| 43 |
if user is None:
|
| 44 |
return JSONResponse(content={"message": "User not found"}, status_code=404)
|
| 45 |
user_id = user["id"]
|
|
@@ -53,7 +54,6 @@ async def create_activity(body: BodyActivity, user: user_dependency):
|
|
| 53 |
end_time,
|
| 54 |
user_id,
|
| 55 |
)
|
| 56 |
-
logger.info(f"RESULT: {result}")
|
| 57 |
if result["status"] == "error":
|
| 58 |
return JSONResponse(content=result, status_code=404)
|
| 59 |
else:
|
|
@@ -61,6 +61,30 @@ async def create_activity(body: BodyActivity, user: user_dependency):
|
|
| 61 |
|
| 62 |
|
| 63 |
@router.get("/search", status_code=status.HTTP_200_OK)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 64 |
async def search_activities(user: user_dependency):
|
| 65 |
if user is None:
|
| 66 |
return JSONResponse(content={"message": "User not found"}, status_code=404)
|
|
|
|
| 40 |
|
| 41 |
@router.post("/create", status_code=status.HTTP_201_CREATED)
|
| 42 |
async def create_activity(body: BodyActivity, user: user_dependency):
|
| 43 |
+
print(body)
|
| 44 |
if user is None:
|
| 45 |
return JSONResponse(content={"message": "User not found"}, status_code=404)
|
| 46 |
user_id = user["id"]
|
|
|
|
| 54 |
end_time,
|
| 55 |
user_id,
|
| 56 |
)
|
|
|
|
| 57 |
if result["status"] == "error":
|
| 58 |
return JSONResponse(content=result, status_code=404)
|
| 59 |
else:
|
|
|
|
| 61 |
|
| 62 |
|
| 63 |
@router.get("/search", status_code=status.HTTP_200_OK)
|
| 64 |
+
async def search_activities(start_time: str, end_time: str, user: user_dependency):
|
| 65 |
+
if user is None:
|
| 66 |
+
return JSONResponse(content={"message": "User not found"}, status_code=404)
|
| 67 |
+
user_id = user["id"]
|
| 68 |
+
|
| 69 |
+
if start_time and end_time:
|
| 70 |
+
start_time = convert_string_date_to_iso(start_time)
|
| 71 |
+
end_time = convert_string_date_to_iso(end_time)
|
| 72 |
+
|
| 73 |
+
result = await search_activities_controller(start_time, end_time, user_id)
|
| 74 |
+
if result["status"] == "error":
|
| 75 |
+
return JSONResponse(content={"message": result["message"]}, status_code=404)
|
| 76 |
+
else:
|
| 77 |
+
for activity in result["message"]:
|
| 78 |
+
activity["start_time"] = datetime_to_iso_string(activity["start_time"])
|
| 79 |
+
activity["end_time"] = datetime_to_iso_string(activity["end_time"])
|
| 80 |
+
activity["created_at"] = datetime_to_iso_string(activity["created_at"])
|
| 81 |
+
activity["updated_at"] = datetime_to_iso_string(activity["updated_at"])
|
| 82 |
+
activity["id"] = activity.pop("_id")
|
| 83 |
+
del activity["user_id"]
|
| 84 |
+
return JSONResponse(content=result, status_code=200)
|
| 85 |
+
|
| 86 |
+
|
| 87 |
+
@router.get("/search_all", status_code=status.HTTP_200_OK)
|
| 88 |
async def search_activities(user: user_dependency):
|
| 89 |
if user is None:
|
| 90 |
return JSONResponse(content={"message": "User not found"}, status_code=404)
|