Skip to content

Commit 50ce312

Browse files
authored
Merge pull request #69 from Queryus/hotfix/timezone-inconsistency
[BAK-68] [hotfix] chat tab timezone issue
2 parents 1ad1377 + bf1d360 commit 50ce312

File tree

2 files changed

+26
-9
lines changed

2 files changed

+26
-9
lines changed

app/repository/chat_tab_repository.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ def updated_chat_tab(self, id: str, new_name: str | None) -> ChatTabInDB | None:
5656

5757
# 데이터 업데이트
5858
cursor.execute(
59-
"UPDATE chat_tab SET name = ?, updated_at = datetime('now', 'localtime') WHERE id = ?",
59+
"UPDATE chat_tab SET name = ?, updated_at = datetime('now') WHERE id = ?",
6060
(new_name, id),
6161
)
6262
conn.commit()
@@ -73,6 +73,20 @@ def updated_chat_tab(self, id: str, new_name: str | None) -> ChatTabInDB | None:
7373
if conn:
7474
conn.close()
7575

76+
def update_tab_timestamp(self, id: str) -> bool:
77+
"""지정된 ID의 채팅 탭의 updated_at 타임스탬프를 현재 시간으로 업데이트합니다."""
78+
db_path = get_db_path()
79+
conn = None
80+
try:
81+
conn = sqlite3.connect(str(db_path), timeout=10)
82+
cursor = conn.cursor()
83+
cursor.execute("UPDATE chat_tab SET updated_at = datetime('now') WHERE id = ?", (id,))
84+
conn.commit()
85+
return cursor.rowcount > 0
86+
finally:
87+
if conn:
88+
conn.close()
89+
7690
def delete_chat_tab(self, id: str) -> bool:
7791
"""채팅 탭ID에 해당하는 ChatTab을 삭제하고, 성공 여부를 반환합니다."""
7892
db_path = get_db_path()

app/services/chat_message_service.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,24 +10,24 @@
1010
from app.core.status import CommonCode
1111
from app.core.utils import generate_prefixed_uuid
1212
from app.repository.chat_message_repository import ChatMessageRepository, chat_message_repository
13+
from app.repository.chat_tab_repository import ChatTabRepository, chat_tab_repository
1314
from app.schemas.chat_message.base_model import validate_chat_tab_id_format
1415
from app.schemas.chat_message.db_model import ChatMessageInDB
1516
from app.schemas.chat_message.request_model import ChatMessagesReqeust
1617
from app.schemas.chat_message.response_model import ALLChatMessagesResponseByTab, ChatMessagesResponse
1718

1819
chat_message_repository_dependency = Depends(lambda: chat_message_repository)
19-
20-
# AI_SERVER_URL = os.getenv("ENV_AI_SERVER_URL")
21-
22-
# if not AI_SERVER_URL:
23-
# raise APIException(CommonCode.FAIL_AI_SERVER_CONNECTION)
24-
#
25-
# url: str = AI_SERVER_URL
20+
chat_tab_repository_dependency = Depends(lambda: chat_tab_repository)
2621

2722

2823
class ChatMessageService:
29-
def __init__(self, repository: ChatMessageRepository = chat_message_repository):
24+
def __init__(
25+
self,
26+
repository: ChatMessageRepository = chat_message_repository,
27+
chat_tab_repo: ChatTabRepository = chat_tab_repository,
28+
):
3029
self.repository = repository
30+
self.chat_tab_repository = chat_tab_repo
3131
self._ai_server_url = None
3232

3333
def _get_ai_server_url(self) -> str:
@@ -71,6 +71,9 @@ async def create_chat_message(self, request: ChatMessagesReqeust) -> ChatMessage
7171
# 4. AI 서버 응답 저장
7272
response = self._transform_ai_response_to_db_models(request, ai_response)
7373

74+
# 5. 채팅 탭의 updated_at 갱신
75+
self.chat_tab_repository.update_tab_timestamp(request.chat_tab_id)
76+
7477
# DB 모델을 API 응답 모델로 변환
7578
response_data = ChatMessagesResponse.model_validate(response)
7679

0 commit comments

Comments
 (0)