From aca49d418dd6fd747f0605450141d424b285b662 Mon Sep 17 00:00:00 2001
From: Kangji <drcotr0623@naver.com>
Date: Fri, 17 Nov 2023 02:01:12 +0900
Subject: [PATCH 1/5] fix: add omitted parameter

---
 fastapi/src/user/router.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fastapi/src/user/router.py b/fastapi/src/user/router.py
index 542e838..c54cff8 100644
--- a/fastapi/src/user/router.py
+++ b/fastapi/src/user/router.py
@@ -79,7 +79,7 @@ def create_user(req: CreateUserRequest, verification_id: int = Depends(check_ver
     profile_id = service.create_profile(db, req.profile)
     service.create_user(db, req, verification_id, profile_id, main_lang_id, salt, hash)
     session_key = generate_session_key(profile_id)
-    create_session(db, profile_id)
+    create_session(db, session_key, profile_id)
     db.commit()
 
     return SessionResponse(access_token=session_key, token_type="bearer")

From e00f3d2ae420b891a90bc1c3b241608c6fc78a4f Mon Sep 17 00:00:00 2001
From: Kangji <drcotr0623@naver.com>
Date: Fri, 17 Nov 2023 02:02:12 +0900
Subject: [PATCH 2/5] fix: must filter before limit

---
 fastapi/src/chatting/service.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fastapi/src/chatting/service.py b/fastapi/src/chatting/service.py
index 94e71be..ea6ad87 100644
--- a/fastapi/src/chatting/service.py
+++ b/fastapi/src/chatting/service.py
@@ -98,10 +98,10 @@ def get_all_texts(
     )
     if chatting_id is not None:
         query = query.where(Chatting.id == chatting_id)
-    if limit is not None:
-        query = query.limit(limit=limit)
     if timestamp is not None:
         query = query.where(Text.timestamp <= timestamp)
+    if limit is not None:
+        query = query.limit(limit=limit)
 
     return query.all()
 

From a693f733fabaea15b9f7a2ba2cd82f43213934e1 Mon Sep 17 00:00:00 2001
From: Kangji <drcotr0623@naver.com>
Date: Fri, 17 Nov 2023 02:03:07 +0900
Subject: [PATCH 3/5] fix: change wrong return type which generates 500

---
 fastapi/src/chatting/router.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fastapi/src/chatting/router.py b/fastapi/src/chatting/router.py
index 5b6050b..6768faf 100644
--- a/fastapi/src/chatting/router.py
+++ b/fastapi/src/chatting/router.py
@@ -158,7 +158,7 @@ def get_topic_recommendation(
         limit: int = Query(
             1, description="how many topics to return"),
         user_id: int = Depends(check_session),
-        db: DbSession = Depends(DbConnector.get_db)) -> TopicResponse:
+        db: DbSession = Depends(DbConnector.get_db)) -> List[TopicResponse]:
     intimacy = service.get_recent_intimacy(db, user_id, chatting_id)
     tag = service.intimacy_tag(intimacy)
     topics = service.get_topics(db, tag, limit)

From bc007a31eed7727d123a48e73e96d49872aed32f Mon Sep 17 00:00:00 2001
From: Kangji <drcotr0623@naver.com>
Date: Fri, 17 Nov 2023 02:05:28 +0900
Subject: [PATCH 4/5] fix: handle divbyzero

---
 fastapi/src/user/service.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/fastapi/src/user/service.py b/fastapi/src/user/service.py
index 93d4a37..3eb43ca 100644
--- a/fastapi/src/user/service.py
+++ b/fastapi/src/user/service.py
@@ -224,9 +224,10 @@ def get_similarity(df_me: pd.DataFrame, df_target: pd.DataFrame) -> float:
         cnt += len(set(my_list) & set(target_list))
         my_size += len(my_list)
         target_size += len(target_list)
-    similarity = cnt / np.sqrt((my_size * target_size))
 
-    return similarity
+    if my_size == 0 or target_size == 0:
+        return None
+    return cnt / np.sqrt((my_size * target_size))
 
 
 def get_mbti_f(initiator: User, responder: User) -> int:

From 3be8c69dab9dca6586181ea34e540331ef88a456 Mon Sep 17 00:00:00 2001
From: Kangji <drcotr0623@naver.com>
Date: Fri, 17 Nov 2023 02:05:39 +0900
Subject: [PATCH 5/5] fix: wrong if-else branch

---
 fastapi/src/chatting/router.py | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/fastapi/src/chatting/router.py b/fastapi/src/chatting/router.py
index 6768faf..63026e3 100644
--- a/fastapi/src/chatting/router.py
+++ b/fastapi/src/chatting/router.py
@@ -122,6 +122,11 @@ def create_intimacy(chatting_id: int, user_id: int = Depends(check_session),
 
     curr_texts = service.get_all_texts(db, user_id, chatting_id, limit=20)
     if is_default:
+        # we cannot calculate delta value with default intimacy
+        prev_texts = []
+        similarity = None
+        num_F = None
+    else:
         prev_texts = service.get_all_texts(
             db, user_id, chatting_id, limit=20, timestamp=recent_intimacy.timestamp)
         initiator = chatting.initiator
@@ -130,11 +135,6 @@ def create_intimacy(chatting_id: int, user_id: int = Depends(check_session),
         df_responder = get_user_dataframe(responder)
         similarity = get_similarity(df_initiator, df_responder)
         num_F = get_mbti_f(initiator, responder)
-    else:
-        # we cannot calculate delta value with default intimacy
-        prev_texts = []
-        similarity = None
-        num_F = None
 
     intimacy = calculator.calculate(
         user_id, curr_texts, prev_texts, recent_intimacy, similarity, num_F)