You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@airavata.apache.org by "yasithdev (via GitHub)" <gi...@apache.org> on 2026/06/09 00:26:31 UTC
[PR] feat(portal): repoint project writes to gRPC + de-Thrift workspace prefs (Track D, D3 start) [airavata-portals]
yasithdev opened a new pull request, #174:
URL: https://github.com/apache/airavata-portals/pull/174
## Summary
Begin **D3 (writes)** and establish the write-direction adapter pattern. The DRF serializers were generated from Thrift, so `serializer.save()` yields a Thrift model instance; a new `grpc_requests` module converts that instance into the protobuf request message the facade expects — the write-direction mirror of `grpc_adapters`. (proto3 scalars cannot hold `None`, so optional Thrift values coerce to the proto default.)
- New `grpc_requests.project` (Thrift `Project` → proto `Project`).
- `ProjectViewSet.perform_create`/`perform_update` → `research.create_project` / `update_project`.
### De-Thrift the workspace-preferences helper
`WorkspacePreferencesHelper` (`_get_most_recent_project` / `_get_first_group_resource_profile` / `_check` / `_can_write` / `_can_read`) still used `request.airavata_client` (`getUserProjects`, `getGroupResourceList`, `userHasAccess`), which **hung every project create/update** because the legacy Thrift server read-times-out. They now use the gRPC facade (`research.get_user_projects`, `compute.get_group_resource_list`, `sharing.user_has_access`) and proto field names, and the no-writeable-project case is handled instead of dereferencing `None`.
## Test plan
- `manage.py check` clean.
- Live **POST create → 201 (0.1s)** and **PUT update → 200 (0.02s)** against the running backend, with the rename confirmed by a follow-up GET — both fast (the Thrift-residue hang is gone).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@airavata.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] feat(portal): repoint project writes to gRPC + de-Thrift workspace prefs (Track D, D3 start) [airavata-portals]
Posted by "yasithdev (via GitHub)" <gi...@apache.org>.
yasithdev merged PR #174:
URL: https://github.com/apache/airavata-portals/pull/174
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@airavata.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org