From d7a8d09da013f14bf795fa8efc3a0eac7f259d02 Mon Sep 17 00:00:00 2001 From: jeremiepozzigithub <125282390+jeremiepozzigithub@users.noreply.github.com> Date: Thu, 20 Jul 2023 10:35:47 +0200 Subject: [PATCH] Add file status for API "Get a single commit from a repository" (#16205) (#25831) #16205 To obtain a closer behavior to the api from github, the status (added, modified, removed) of a file should be available in addition to the filename. See github doc : https://docs.github.com/fr/rest/commits/commits?apiVersion=2022-11-28#get-a-commit --- modules/structs/repo_commit.go | 1 + services/convert/git_commit.go | 3 ++- templates/swagger/v1_json.tmpl | 4 ++++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/structs/repo_commit.go b/modules/structs/repo_commit.go index b3e98df195..fec7d97608 100644 --- a/modules/structs/repo_commit.go +++ b/modules/structs/repo_commit.go @@ -69,4 +69,5 @@ type CommitDateOptions struct { // CommitAffectedFiles store information about files affected by the commit type CommitAffectedFiles struct { Filename string `json:"filename"` + Status string `json:"status"` } diff --git a/services/convert/git_commit.go b/services/convert/git_commit.go index e726011e02..ac15719c1c 100644 --- a/services/convert/git_commit.go +++ b/services/convert/git_commit.go @@ -196,10 +196,11 @@ func ToCommit(ctx context.Context, repo *repo_model.Repository, gitRepo *git.Rep } affectedFileList := make([]*api.CommitAffectedFiles, 0, len(fileStatus.Added)+len(fileStatus.Removed)+len(fileStatus.Modified)) - for _, files := range [][]string{fileStatus.Added, fileStatus.Removed, fileStatus.Modified} { + for filestatus, files := range map[string][]string{"added": fileStatus.Added, "removed": fileStatus.Removed, "modified": fileStatus.Modified} { for _, filename := range files { affectedFileList = append(affectedFileList, &api.CommitAffectedFiles{ Filename: filename, + Status: filestatus, }) } } diff --git a/templates/swagger/v1_json.tmpl b/templates/swagger/v1_json.tmpl index b7620b9e76..42eda98528 100644 --- a/templates/swagger/v1_json.tmpl +++ b/templates/swagger/v1_json.tmpl @@ -16399,6 +16399,10 @@ "filename": { "type": "string", "x-go-name": "Filename" + }, + "status": { + "type": "string", + "x-go-name": "Status" } }, "x-go-package": "code.gitea.io/gitea/modules/structs"