From 86cff86b46116353e4d6605ccf5a77a7ac65bc78 Mon Sep 17 00:00:00 2001 From: David Svantesson Date: Sat, 16 Nov 2019 20:39:18 +0100 Subject: Update branch API endpoint to show effective branch protection. (#9031) * Add API endpoint for displaying effective branch protection. * Add status checks. --- routers/api/v1/repo/branch.go | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'routers') diff --git a/routers/api/v1/repo/branch.go b/routers/api/v1/repo/branch.go index 9f6a2e6294..9745903a95 100644 --- a/routers/api/v1/repo/branch.go +++ b/routers/api/v1/repo/branch.go @@ -16,7 +16,7 @@ import ( func GetBranch(ctx *context.APIContext) { // swagger:operation GET /repos/{owner}/{repo}/branches/{branch} repository repoGetBranch // --- - // summary: Retrieve a specific branch from a repository + // summary: Retrieve a specific branch from a repository, including its effective branch protection // produces: // - application/json // parameters: @@ -61,7 +61,13 @@ func GetBranch(ctx *context.APIContext) { return } - ctx.JSON(200, convert.ToBranch(ctx.Repo.Repository, branch, c)) + branchProtection, err := ctx.Repo.Repository.GetBranchProtection(ctx.Repo.BranchName) + if err != nil { + ctx.Error(500, "GetBranchProtection", err) + return + } + + ctx.JSON(200, convert.ToBranch(ctx.Repo.Repository, branch, c, branchProtection, ctx.User)) } // ListBranches list all the branches of a repository @@ -98,7 +104,12 @@ func ListBranches(ctx *context.APIContext) { ctx.Error(500, "GetCommit", err) return } - apiBranches[i] = convert.ToBranch(ctx.Repo.Repository, branches[i], c) + branchProtection, err := ctx.Repo.Repository.GetBranchProtection(branches[i].Name) + if err != nil { + ctx.Error(500, "GetBranchProtection", err) + return + } + apiBranches[i] = convert.ToBranch(ctx.Repo.Repository, branches[i], c, branchProtection, ctx.User) } ctx.JSON(200, &apiBranches) -- cgit v1.2.3