[API] Approval rule endpoints
What does this MR do?
Add API endpoints for frontend to manipulate approval rules.
The list of APIs are here: https://docs.google.com/spreadsheets/d/1LoosFEFsWPmZhB5f6MnGq0fxp1zCoqyGOOG0uFmd2MA/edit?usp=sharing The entity descriptions can be found here: #8350 (closed)
What are the relevant issue numbers?
Frontend #8350 (closed)
Source issue #1979 (closed)
Recommended readings
This feature is part of #1979 (closed), implementing multiple approval rules.
The schema for new tables can be seen here https://gitlab.com/gitlab-org/gitlab-ee/issues/8647
The core business logic (e.g. calculating approved?
, approvers_left
) on the model side are mainly located at ApprovalState
and ApprovalWrappedRule
. Those are wrappers around the AR models, see https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/8974
Does this MR meet the acceptance criteria?
-
Changelog entry added, if necessary -
Documentation created/updated -
Tests added for this feature/bug -
Conforms to the code review guidelines -
Conforms to the merge request performance guidelines -
Conforms to the style guides -
Conforms to the database guides -
Link to e2e tests MR added if this MR has Requires e2e tests label. See the Test Planning Process. -
EE specific content should be in the top level /ee
folder -
For a paid feature, have we considered GitLab.com plans, how it works for groups, and is there a design for promoting it to users who aren't on the correct plan? -
Security reports checked/validated by reviewer
Edited by Mark Chao