mirror of
https://github.com/open-webui/open-webui.git
synced 2026-11-07 08:17:07 +00:00
refac: keep external connections until their last knowledge base is removed
Deleting an external knowledge base now clears its connection only when an admin removes the last knowledge base referencing it, matching the connection delete route.
This commit is contained in:
parent
29541cbb52
commit
ddd28a234a
1 changed files with 6 additions and 1 deletions
|
|
@ -1721,7 +1721,12 @@ async def delete_knowledge_by_id(
|
|||
# Clean up vector DB
|
||||
if is_external_knowledge(knowledge):
|
||||
connection_id = (knowledge.meta or {}).get('external', {}).get('connection_id')
|
||||
if connection_id:
|
||||
# Connections are admin-owned and shared across knowledge bases
|
||||
if (
|
||||
connection_id
|
||||
and user.role == 'admin'
|
||||
and await _count_external_connection_mappings(connection_id, db=db) <= 1
|
||||
):
|
||||
connections = [
|
||||
connection for connection in await _get_external_connections() if connection.get('id') != connection_id
|
||||
]
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue