mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Update branch API endpoint to show effective branch protection. (#9031)
* Add API endpoint for displaying effective branch protection. * Add status checks.
This commit is contained in:
		
				
					committed by
					
						
						zeripath
					
				
			
			
				
	
			
			
			
						parent
						
							3dfe9190b0
						
					
				
				
					commit
					86cff86b46
				
			@@ -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)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user