🌱 Add tagsHandler to githubrepo client #4770
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What kind of change does this PR introduce?
This adds a
tagsHandler
to thegithubrepo
client. ThetagsHandler
follows a similar procedure as thebranchesHandler
and reuses many of its utilities. ThetagsHandler
implements the following methods:init
: Similar tobranchesHandler
'sinit
.setup
: Fetches all rulesets and tags of the repository and stores it.query
: Returns aclients.RepoRef
of a branch.getTags
: Returns a slice of all tags asRepoRef
's with their rulesets.getTag
: Callsquery
and returns theRepoRef
.To implement this
tagsHandler
, I have had to make a number of changes:BranchRef
toRepoRef
.branch
ref
.Furthermore, I have added
GetTag
andListTags
methods to the repoclient interface and the clients that implement the repoclient. This is the most user-exposed thetagsHandler
currently, and these two methods are not used anywhere. They are there to demonstrate the intent of how to use thegithubrepo
tagsHandler
.The PR is quite large as it is now, so I'd prefer to follow up with probes for this once it is merged.
(Is it a bug fix, feature, docs update, something else?)
What is the current behavior?
What is the new behavior (if this is a feature change)?**
Which issue(s) this PR fixes
Fixes #10 and #2476
Special notes for your reviewer
Does this PR introduce a user-facing change?
For user-facing changes, please add a concise, human-readable release note to
the
release-note
(In particular, describe what changes users might need to make in their
application as a result of this pull request.)