-
Notifications
You must be signed in to change notification settings - Fork 19
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. |
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.