yasithdev opened a new pull request, #193:
URL: https://github.com/apache/airavata-portals/pull/193

   Part of the Track D proto-native serializer rewrite: retire the interim 
Thrift-type adapter layer in the Django portal, one serializer family at a 
time, keeping the REST contract with the Vue frontend byte-for-byte identical.
   
   ## What
   `ProjectSerializer` now reads the gRPC `Project` protobuf directly (proto 
field names `project_id`, `creation_time`, ...) and emits the exact same JSON 
keys the Thrift-generated serializer produced (`projectID`, `creationTime`, 
...). Its `save()` returns a proto `Project` the view passes straight to the 
facade.
   
   - Repoint `ProjectViewSet` (list/instance/create/update/list_all) + 
`FullExperimentViewSet`'s nested project to pass protobuf through directly — 
drops the `grpc_adapters.project` / `grpc_requests.project` roundtrip.
   - New `ProtoTimestampField` (proto int64 epoch-millis → the same ISO 
timestamp; proto-0 → null where the old field was nullable).
   - Remove the now-unused `grpc_adapters.project` / `grpc_requests.project` 
and the Thrift `Project` import.
   
   ## Validation
   - **Byte-for-byte**: the new serializer's `.data` equals the old 
(`grpc_adapters.project` → Thrift serializer) `.data` across full / empty / 
no-timestamp / non-owner cases.
   - Write path produces an equivalent proto (create/update).
   - `manage.py check` green; api app test failures unchanged vs `origin/main` 
(6 pre-existing, unrelated).


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to