refac: tagging behaviour

This commit is contained in:
Timothy J. Baek 2024-10-21 01:30:22 -07:00
parent 8d71323009
commit fc6dc43a19
2 changed files with 13 additions and 6 deletions

View File

@ -644,12 +644,12 @@ async def delete_tag_by_id_and_tag_name(
############################
# DeleteAllChatTagsById
# DeleteAllTagsById
############################
@router.delete("/{id}/tags/all", response_model=Optional[bool])
async def delete_all_chat_tags_by_id(id: str, user=Depends(get_verified_user)):
async def delete_all_tags_by_id(id: str, user=Depends(get_verified_user)):
chat = Chats.get_chat_by_id_and_user_id(id, user.id)
if chat:
Chats.delete_all_tags_by_id_and_user_id(id, user.id)
@ -658,9 +658,7 @@ async def delete_all_chat_tags_by_id(id: str, user=Depends(get_verified_user)):
if Chats.count_chats_by_tag_name_and_user_id(tag, user.id) == 0:
Tags.delete_tag_by_name_and_user_id(tag, user.id)
chat = Chats.get_chat_by_id_and_user_id(id, user.id)
tags = chat.meta.get("tags", [])
return Tags.get_tags_by_ids_and_user_id(tags, user.id)
return True
else:
raise HTTPException(
status_code=status.HTTP_401_UNAUTHORIZED, detail=ERROR_MESSAGES.NOT_FOUND

View File

@ -49,6 +49,8 @@
import {
addTagById,
createNewChat,
deleteTagById,
deleteTagsById,
getAllTags,
getChatById,
getChatList,
@ -1912,6 +1914,14 @@
const setChatTags = async (messages) => {
if (!$temporaryChatEnabled) {
const currentTags = await getTagsById(localStorage.token, $chatId);
if (currentTags.length > 0) {
const res = await deleteTagsById(localStorage.token, $chatId);
if (res) {
allTags.set(await getAllTags(localStorage.token));
}
}
let generatedTags = await generateTags(
localStorage.token,
selectedModels[0],
@ -1922,7 +1932,6 @@
return [];
});
const currentTags = await getTagsById(localStorage.token, $chatId);
generatedTags = generatedTags.filter(
(tag) => !currentTags.find((t) => t.id === tag.replaceAll(' ', '_').toLowerCase())
);