Add support for the new field expansion information in API payloads.

Review Request #10459 — Created March 20, 2019 and submitted

Information

RBTools
master

Reviewers

Review Board 4.0 is introducing metadata on expanded fields, in order to
help determine which fields have been expanded and what their original
resource mimetypes/URLs would be.

This change adds this support to RBTools. Now, when accessing an
expanded field (and running with Review Board 4.0), the caller will see
a resource object rather than a simple field wrapper. As field access
behaves the same on both, this should be backwards-compatible, and will
now allow callers to invoke any methods that would normally be on the
resource.

Currently, we don't return custom list resource subclasses, as the
current ListResource expects to have a full payload containing item
counts and a nested list of items. We can revisit this down the road
if we begin to need this functionality, and are already set up to do so
in the field wrapping mechanisms.

Made use of this support in the new rbt patch code that's in development.

Unit tests pass.

Summary ID
Add support for the new field expansion information in API payloads.
Review Board 4.0 is introducing metadata on expanded fields, in order to help determine which fields have been expanded and what their original resource mimetypes/URLs would be. This change adds this support to RBTools. Now, when accessing an expanded field (and running with Review Board 4.0), the caller will see a resource object rather than a simple field wrapper. As field access behaves the same on both, this should be backwards-compatible, and will now allow callers to invoke any methods that would normally be on the resource. Currently, we don't return custom list resource subclasses, as the current `ListResource` expects to have a full payload containing item counts and a nested list of items. We can revisit this down the road if we begin to need this functionality, and are already set up to do so in the field wrapping mechanisms.
baeba8777e2e018d7dc8a9eb8e21b3becec7881e
chipx86
david
  1. Ship It!
  2. 
      
chipx86
Review request changed
Status:
Completed
Change Summary:
Pushed to master (bb22169)