Add new resources, part 3/7.

Review Request #14342 — Created Feb. 10, 2025 and submitted — Latest diff uploaded

Information

RBTools
master

Reviewers

This change adds the following new resource implementations:
- RepositoryItemResource
- RepositoryListResource
- RepositoryBranchItemResource
- RepositoryBranchListResource
- RepositoryCommitItemResource
- RepositoryCommitListResource
- RepositoryGroupItemResource
- RepositoryGroupListResource
- RepositoryInfoResource
- RepositoryUserItemResource
- RepositoryUserListResource

This involves one update to our base ListResource implementation (and
various related plumbing) to allow subclasses to force a specific class
type to be used for items. In the case of repository branches and
commits, these are list resources that do not have an associated item
endpoint or mimetype, and so the basic _wrap_field() and create
functionality was returning a plain ItemResource. For this case,
ListResource subclasses can now set _item_resource_type to force a
specific item resource subclass instead.

  • Ran unit tests.
  • Used the new resources from a test script and saw that everything
    worked as expected.

Diff Revision 2

This is not the most recent revision of the diff. The latest diff is revision 5. See what's changed.

orig
1
2
3
4
5

Commits

First Last Summary ID Author
Add new resources, part 3/7.
This change adds the following new resource implementations: - RepositoryItemResource - RepositoryListResource - RepositoryBranchItemResource - RepositoryBranchListResource - RepositoryCommitItemResource - RepositoryCommitListResource - RepositoryGroupItemResource - RepositoryGroupListResource - RepositoryInfoResource - RepositoryUserItemResource - RepositoryUserListResource This involves one update to our base ListResource implementation (and various related plumbing) to allow subclasses to force a specific class type to be used for items. In the case of repository branches and commits, these are list resources that do not have an associated item endpoint or mimetype, and so the basic `_wrap_field()` and create functionality was returning a plain `ItemResource`. For this case, `ListResource` subclasses can now set `_item_resource_type` to force a specific item resource subclass instead. Testing Done: - Ran unit tests. - Used the new resources from a test script and saw that everything worked as expected.
5c04aeada7d8104c17bb1e9c8186bc542d51a7b2 David Trowbridge
rbtools/api/factory.py
rbtools/api/resource/__init__.py
rbtools/api/resource/base.py
rbtools/api/resource/base_review_group.py
rbtools/api/resource/diff.py
rbtools/api/resource/repository.py
rbtools/api/resource/repository_branches.py
rbtools/api/resource/repository_commits.py
rbtools/api/resource/repository_group.py
rbtools/api/resource/repository_info.py
rbtools/api/resource/repository_user.py
rbtools/api/resource/review_group.py
rbtools/api/resource/review_request.py
rbtools/api/resource/root.py
Loading...