-
Notifications
You must be signed in to change notification settings - Fork 68
Open
Labels
area/githubGitHub-forge relatedGitHub-forge relatedarea/gitlabGitLab-forge relatedGitLab-forge relatedevents/HacktoberfestParticipation in HacktoberfestParticipation in Hacktoberfestgood-first-issueGood for newcomersGood for newcomerskind/featureA request, idea, or new functionalityA request, idea, or new functionalitykind/technical-debtConsequences of previous decisionsConsequences of previous decisionspagureRelated to Pagure implementation.Related to Pagure implementation.
Description
Updated by @lachmanfrantisek :
We have a lot of methods related to the permissions (e.g. who can merge/close,..)
It's not consistent, let's clean that!
Feel free to solve this in smaller parts. Just write on what you are going to work...
AC:
- Make sure, that we have all of the provided methods in the
abstract.py
(raising theNotImplementedError) - Make sure, that we have all of these in all the implementations:
- GitLab
- GitHub
- Pagure
- Deprecate the project methods related to specific issue/pull-request.
- Move helping methods to the base classes.
- The only exception is a more efficient solution in the code of the specific implementation.
- Example:
https://github.com/packit-service/ogr/blob/89435655150b8dd79ef93209c3463585d0715e0d/ogr/services/github/project.py#L219-L220
The progress is tracked in the following tables. (Any update in the comments is appreciated.)
| Project | who_can_close_issue() -> Set[str] |
who_can_merge_pr() -> Set[str] |
can_close_issue(username: str) -> bool |
can_merge_pr(username: str) -> bool |
|---|---|---|---|---|
| abstract | 👍 | 👍 | ❗ deprecate the Issue argument |
|
| base | nothing | nothing | implement here | implement here |
| Github | ? | ? | ? | ? |
| GitLab | ? | ? | ? | ? |
| Pagure | ? | ? | ? | ? |
| Issue | who_can_close() -> Set[str] |
can_close(username: str) -> bool |
|---|---|---|
| abstract | implement here | 👍 |
| base | nothing | 👍 |
| Github | ? | nothing |
| GitLab | ? | nothing |
| Pagure | ? | nothing |
| PullRequest | who_can_close() -> Set[str] |
who_can_merge() -> Set[str] |
can_close(username: str) -> bool |
can_merge(username: str) -> bool |
|---|---|---|---|---|
| abstract | ? | ? | ? | ? |
| base | nothing | nothing | implement here | implement here |
| Github | ? | ? | ? | ? |
| GitLab | ? | ? | ? | ? |
| Pagure | ? | ? | ? | ? |
Metadata
Metadata
Assignees
Labels
area/githubGitHub-forge relatedGitHub-forge relatedarea/gitlabGitLab-forge relatedGitLab-forge relatedevents/HacktoberfestParticipation in HacktoberfestParticipation in Hacktoberfestgood-first-issueGood for newcomersGood for newcomerskind/featureA request, idea, or new functionalityA request, idea, or new functionalitykind/technical-debtConsequences of previous decisionsConsequences of previous decisionspagureRelated to Pagure implementation.Related to Pagure implementation.
Type
Projects
Status
backlog