forked from open-webui/open-webui
fix: user chat delete loophole
This commit is contained in:
parent
a4c6a8d5a4
commit
74809e7330
3 changed files with 15 additions and 3 deletions
|
@ -271,6 +271,16 @@ async def delete_all_chat_tags_by_id(id: str, user=Depends(get_current_user)):
|
||||||
|
|
||||||
|
|
||||||
@router.delete("/", response_model=bool)
|
@router.delete("/", response_model=bool)
|
||||||
async def delete_all_user_chats(user=Depends(get_current_user)):
|
async def delete_all_user_chats(request: Request, user=Depends(get_current_user)):
|
||||||
|
|
||||||
|
if (
|
||||||
|
user.role == "user"
|
||||||
|
and not request.app.state.USER_PERMISSIONS["chat"]["deletion"]
|
||||||
|
):
|
||||||
|
raise HTTPException(
|
||||||
|
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||||
|
detail=ERROR_MESSAGES.ACCESS_PROHIBITED,
|
||||||
|
)
|
||||||
|
|
||||||
result = Chats.delete_chats_by_user_id(user.id)
|
result = Chats.delete_chats_by_user_id(user.id)
|
||||||
return result
|
return result
|
||||||
|
|
|
@ -439,7 +439,7 @@ export const deleteAllChats = async (token: string) => {
|
||||||
return json;
|
return json;
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
error = err;
|
error = err.detail;
|
||||||
|
|
||||||
console.log(err);
|
console.log(err);
|
||||||
return null;
|
return null;
|
||||||
|
|
|
@ -75,7 +75,9 @@
|
||||||
|
|
||||||
const deleteChats = async () => {
|
const deleteChats = async () => {
|
||||||
await goto('/');
|
await goto('/');
|
||||||
await deleteAllChats(localStorage.token);
|
await deleteAllChats(localStorage.token).catch((error) => {
|
||||||
|
toast.error(error);
|
||||||
|
});
|
||||||
await chats.set(await getChatList(localStorage.token));
|
await chats.set(await getChatList(localStorage.token));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue