mirror of
https://github.com/open-webui/open-webui.git
synced 2026-09-26 09:21:23 -04:00
refac
This commit is contained in:
@@ -287,7 +287,12 @@ async def get_shared_folders(
|
||||
############################
|
||||
|
||||
|
||||
@router.get('/{id}', response_model=None)
|
||||
class FolderResponse(FolderModel):
|
||||
access_grants: list[dict] = []
|
||||
write_access: bool = False
|
||||
|
||||
|
||||
@router.get('/{id}', response_model=FolderResponse)
|
||||
async def get_folder_by_id(
|
||||
request: Request, id: str, user=Depends(get_verified_user), db: AsyncSession = Depends(get_async_session)
|
||||
):
|
||||
@@ -295,13 +300,21 @@ async def get_folder_by_id(
|
||||
folder = await Folders.get_folder_by_id_and_user_id(id, user.id, db=db)
|
||||
if folder:
|
||||
grants = await AccessGrants.get_grants_by_resource('folder', id, db=db)
|
||||
return {**folder.model_dump(), 'access_grants': [g.model_dump() for g in grants]}
|
||||
return FolderResponse(
|
||||
**folder.model_dump(),
|
||||
access_grants=[g.model_dump() for g in grants],
|
||||
write_access=True,
|
||||
)
|
||||
|
||||
# Check shared access
|
||||
folder = await Folders.get_folder_by_id(id, db=db)
|
||||
if folder and (user.role == 'admin' or await _has_folder_access(user.id, folder, 'read', db)):
|
||||
grants = await AccessGrants.get_grants_by_resource('folder', id, db=db)
|
||||
return {**folder.model_dump(), 'access_grants': [g.model_dump() for g in grants]}
|
||||
return FolderResponse(
|
||||
**folder.model_dump(),
|
||||
access_grants=[g.model_dump() for g in grants],
|
||||
write_access=user.role == 'admin' or await _has_folder_access(user.id, folder, 'write', db),
|
||||
)
|
||||
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_404_NOT_FOUND,
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
$: folderReadOnly =
|
||||
$selectedFolder != null &&
|
||||
$selectedFolder.user_id !== $user?.id &&
|
||||
$selectedFolder.permission !== 'write';
|
||||
!$selectedFolder.write_access;
|
||||
</script>
|
||||
|
||||
<div class="m-auto w-full max-w-[58rem] px-1 @2xl:px-20 translate-y-6 py-24 text-center">
|
||||
|
||||
Reference in New Issue
Block a user