forked from gitea/gitea
		
	api: GetPullRequestCommits: return file list (#27483)
Fixes https://github.com/go-gitea/gitea/issues/27481 ---- Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
		
							parent
							
								
									65eea1d536
								
							
						
					
					
						commit
						5283ce9650
					
				| @ -36,6 +36,14 @@ func GetNote(ctx *context.APIContext) { | ||||
| 	//   description: a git ref or commit sha | ||||
| 	//   type: string | ||||
| 	//   required: true | ||||
| 	// - name: verification | ||||
| 	//   in: query | ||||
| 	//   description: include verification for every commit (disable for speedup, default 'true') | ||||
| 	//   type: boolean | ||||
| 	// - name: files | ||||
| 	//   in: query | ||||
| 	//   description: include a list of affected files for every commit (disable for speedup, default 'true') | ||||
| 	//   type: boolean | ||||
| 	// responses: | ||||
| 	//   "200": | ||||
| 	//     "$ref": "#/responses/Note" | ||||
| @ -78,7 +86,15 @@ func getNote(ctx *context.APIContext, identifier string) { | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	cmt, err := convert.ToCommit(ctx, ctx.Repo.Repository, ctx.Repo.GitRepo, note.Commit, nil, convert.ToCommitOptions{Stat: true}) | ||||
| 	verification := ctx.FormString("verification") == "" || ctx.FormBool("verification") | ||||
| 	files := ctx.FormString("files") == "" || ctx.FormBool("files") | ||||
| 
 | ||||
| 	cmt, err := convert.ToCommit(ctx, ctx.Repo.Repository, ctx.Repo.GitRepo, note.Commit, nil, | ||||
| 		convert.ToCommitOptions{ | ||||
| 			Stat:         true, | ||||
| 			Verification: verification, | ||||
| 			Files:        files, | ||||
| 		}) | ||||
| 	if err != nil { | ||||
| 		ctx.Error(http.StatusInternalServerError, "ToCommit", err) | ||||
| 		return | ||||
|  | ||||
| @ -1275,6 +1275,14 @@ func GetPullRequestCommits(ctx *context.APIContext) { | ||||
| 	//   in: query | ||||
| 	//   description: page size of results | ||||
| 	//   type: integer | ||||
| 	// - name: verification | ||||
| 	//   in: query | ||||
| 	//   description: include verification for every commit (disable for speedup, default 'true') | ||||
| 	//   type: boolean | ||||
| 	// - name: files | ||||
| 	//   in: query | ||||
| 	//   description: include a list of affected files for every commit (disable for speedup, default 'true') | ||||
| 	//   type: boolean | ||||
| 	// responses: | ||||
| 	//   "200": | ||||
| 	//     "$ref": "#/responses/CommitList" | ||||
| @ -1328,9 +1336,17 @@ func GetPullRequestCommits(ctx *context.APIContext) { | ||||
| 		end = totalNumberOfCommits | ||||
| 	} | ||||
| 
 | ||||
| 	verification := ctx.FormString("verification") == "" || ctx.FormBool("verification") | ||||
| 	files := ctx.FormString("files") == "" || ctx.FormBool("files") | ||||
| 
 | ||||
| 	apiCommits := make([]*api.Commit, 0, end-start) | ||||
| 	for i := start; i < end; i++ { | ||||
| 		apiCommit, err := convert.ToCommit(ctx, ctx.Repo.Repository, baseGitRepo, commits[i], userCache, convert.ToCommitOptions{Stat: true}) | ||||
| 		apiCommit, err := convert.ToCommit(ctx, ctx.Repo.Repository, baseGitRepo, commits[i], userCache, | ||||
| 			convert.ToCommitOptions{ | ||||
| 				Stat:         true, | ||||
| 				Verification: verification, | ||||
| 				Files:        files, | ||||
| 			}) | ||||
| 		if err != nil { | ||||
| 			ctx.ServerError("toCommit", err) | ||||
| 			return | ||||
|  | ||||
							
								
								
									
										24
									
								
								templates/swagger/v1_json.tmpl
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										24
									
								
								templates/swagger/v1_json.tmpl
									
									
									
										generated
									
									
									
								
							| @ -5239,6 +5239,18 @@ | ||||
|             "name": "sha", | ||||
|             "in": "path", | ||||
|             "required": true | ||||
|           }, | ||||
|           { | ||||
|             "type": "boolean", | ||||
|             "description": "include verification for every commit (disable for speedup, default 'true')", | ||||
|             "name": "verification", | ||||
|             "in": "query" | ||||
|           }, | ||||
|           { | ||||
|             "type": "boolean", | ||||
|             "description": "include a list of affected files for every commit (disable for speedup, default 'true')", | ||||
|             "name": "files", | ||||
|             "in": "query" | ||||
|           } | ||||
|         ], | ||||
|         "responses": { | ||||
| @ -10521,6 +10533,18 @@ | ||||
|             "description": "page size of results", | ||||
|             "name": "limit", | ||||
|             "in": "query" | ||||
|           }, | ||||
|           { | ||||
|             "type": "boolean", | ||||
|             "description": "include verification for every commit (disable for speedup, default 'true')", | ||||
|             "name": "verification", | ||||
|             "in": "query" | ||||
|           }, | ||||
|           { | ||||
|             "type": "boolean", | ||||
|             "description": "include a list of affected files for every commit (disable for speedup, default 'true')", | ||||
|             "name": "files", | ||||
|             "in": "query" | ||||
|           } | ||||
|         ], | ||||
|         "responses": { | ||||
|  | ||||
| @ -35,6 +35,11 @@ func TestAPIPullCommits(t *testing.T) { | ||||
| 
 | ||||
| 	assert.Equal(t, "5f22f7d0d95d614d25a5b68592adb345a4b5c7fd", commits[0].SHA) | ||||
| 	assert.Equal(t, "4a357436d925b5c974181ff12a994538ddc5a269", commits[1].SHA) | ||||
| 
 | ||||
| 	assert.NotEmpty(t, commits[0].Files) | ||||
| 	assert.NotEmpty(t, commits[1].Files) | ||||
| 	assert.NotNil(t, commits[0].RepoCommit.Verification) | ||||
| 	assert.NotNil(t, commits[1].RepoCommit.Verification) | ||||
| } | ||||
| 
 | ||||
| // TODO add tests for already merged PR and closed PR | ||||
|  | ||||
| @ -37,5 +37,7 @@ func TestAPIReposGitNotes(t *testing.T) { | ||||
| 		var apiData api.Note | ||||
| 		DecodeJSON(t, resp, &apiData) | ||||
| 		assert.Equal(t, "This is a test note\n", apiData.Message) | ||||
| 		assert.NotEmpty(t, apiData.Commit.Files) | ||||
| 		assert.NotNil(t, apiData.Commit.RepoCommit.Verification) | ||||
| 	}) | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Michael Santos
						Michael Santos