-
Notifications
You must be signed in to change notification settings - Fork 21
feat: Migrate filebrowsers to storage proxy #524
base: main
Are you sure you want to change the base?
Conversation
…n-storage-proxy Merge main into feature file browser branch.
Codecov ReportPatch coverage has no change and project coverage change:
Additional details and impacted files@@ Coverage Diff @@
## main #524 +/- ##
==========================================
- Coverage 48.63% 48.56% -0.07%
==========================================
Files 53 53
Lines 9126 9126
==========================================
- Hits 4438 4432 -6
- Misses 4688 4694 +6
... and 1 file with indirect coverage changes Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report in Codecov by Sentry. |
…n-storage-proxy Merge main into branch
|
Implemented the API to facilitate communication between client and Storage Proxy for file browser session. |
achimnol
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
manager/server.py seems to be passed through black & isort.
Currently we are not modifying existing codebases at once along with a specific feature PR, so please make a separate PR to update code styles and revert the changes caused by black and isort in this PR.
I'd recommend using project-specific (venv-specific) lint configurations if you are using a global configuration.
| default_cors_options: CORSOptions, | ||
| ) -> Tuple[web.Application, Iterable[WebMiddleware]]: | ||
| app = web.Application() | ||
| app["prefix"] = "browser" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's rename the URL prefix of this app module to storage/filebrowser.
| ) | ||
| folder_id = await conn.scalar(query) | ||
|
|
||
| query = sa.delete(vfolders).where(vfolders.c.id == folder_id) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This query is not executed. If missed, please add another await conn.execute().
Also, if you use different types of queries in a single scope (e.g., select & delete), please name the variables differently (e.g., select_query, delete_query) because in the future SQLAlchemy v2 with mypy extensions will check the different typing of query objects.
|
|
||
|
|
||
| async def get_volume(root_ctx: RootContext, vfid: str) -> str: | ||
| async with root_ctx.db.begin() as conn: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If the transaction only includes read-only operations (e.g., select), use begin_readonly() instead of begin().
Add new APIs to map the new manager-facing storage-proxy APIs for file browser.