Fixes https://github.com/go-gitea/gitea/issues/27481 ---- Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>tags/v1.22.0-rc0
@@ -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 |
@@ -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) | |||
}) | |||
} |