refac: chat tags

This commit is contained in:
Timothy J. Baek 2024-05-03 15:25:41 -07:00
parent e8085f80a7
commit facb6edfdc
2 changed files with 19 additions and 7 deletions

View File

@ -321,19 +321,28 @@ async def get_all_tags(user=Depends(get_current_user)):
############################
@router.get("/tags/tag/{tag_name}", response_model=List[ChatTitleIdResponse])
class TagNameForm(BaseModel):
name: str
@router.post("/tags", response_model=List[ChatTitleIdResponse])
async def get_user_chat_list_by_tag_name(
tag_name: str, user=Depends(get_current_user), skip: int = 0, limit: int = 50
form_data: TagNameForm,
user=Depends(get_current_user),
skip: int = 0,
limit: int = 50,
):
chat_ids = [
chat_id_tag.chat_id
for chat_id_tag in Tags.get_chat_ids_by_tag_name_and_user_id(tag_name, user.id)
for chat_id_tag in Tags.get_chat_ids_by_tag_name_and_user_id(
form_data.name, user.id
)
]
chats = Chats.get_chat_list_by_chat_ids(chat_ids, skip, limit)
if len(chats) == 0:
Tags.delete_tag_by_tag_name_and_user_id(tag_name, user.id)
Tags.delete_tag_by_tag_name_and_user_id(form_data.name, user.id)
return chats

View File

@ -220,13 +220,16 @@ export const getAllChatTags = async (token: string) => {
export const getChatListByTagName = async (token: string = '', tagName: string) => {
let error = null;
const res = await fetch(`${WEBUI_API_BASE_URL}/chats/tags/tag/${tagName}`, {
method: 'GET',
const res = await fetch(`${WEBUI_API_BASE_URL}/chats/tags`, {
method: 'POST',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json',
...(token && { authorization: `Bearer ${token}` })
}
},
body: JSON.stringify({
name: tagName
})
})
.then(async (res) => {
if (!res.ok) throw await res.json();