feat: Add read-only access support for Knowledge Bases (#20371)
- Backend: Add BYPASS_ADMIN_ACCESS_CONTROL check to write_access calculation - Frontend: Knowledge already has Read Only badge and disabled inputs
This commit is contained in:
@@ -81,6 +81,7 @@ async def get_knowledge_bases(
|
|||||||
**knowledge_base.model_dump(),
|
**knowledge_base.model_dump(),
|
||||||
write_access=(
|
write_access=(
|
||||||
user.id == knowledge_base.user_id
|
user.id == knowledge_base.user_id
|
||||||
|
or (user.role == "admin" and BYPASS_ADMIN_ACCESS_CONTROL)
|
||||||
or has_access(
|
or has_access(
|
||||||
user.id, "write", knowledge_base.access_control, db=db
|
user.id, "write", knowledge_base.access_control, db=db
|
||||||
)
|
)
|
||||||
@@ -127,6 +128,7 @@ async def search_knowledge_bases(
|
|||||||
**knowledge_base.model_dump(),
|
**knowledge_base.model_dump(),
|
||||||
write_access=(
|
write_access=(
|
||||||
user.id == knowledge_base.user_id
|
user.id == knowledge_base.user_id
|
||||||
|
or (user.role == "admin" and BYPASS_ADMIN_ACCESS_CONTROL)
|
||||||
or has_access(
|
or has_access(
|
||||||
user.id, "write", knowledge_base.access_control, db=db
|
user.id, "write", knowledge_base.access_control, db=db
|
||||||
)
|
)
|
||||||
@@ -303,6 +305,7 @@ async def get_knowledge_by_id(
|
|||||||
**knowledge.model_dump(),
|
**knowledge.model_dump(),
|
||||||
write_access=(
|
write_access=(
|
||||||
user.id == knowledge.user_id
|
user.id == knowledge.user_id
|
||||||
|
or (user.role == "admin" and BYPASS_ADMIN_ACCESS_CONTROL)
|
||||||
or has_access(user.id, "write", knowledge.access_control, db=db)
|
or has_access(user.id, "write", knowledge.access_control, db=db)
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user