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]
