]> source.dussan.org Git - gitea.git/commitdiff
Add file status for API "Get a single commit from a repository" (#16205) (#25831)
authorjeremiepozzigithub <125282390+jeremiepozzigithub@users.noreply.github.com>
Thu, 20 Jul 2023 08:35:47 +0000 (10:35 +0200)
committerGitHub <noreply@github.com>
Thu, 20 Jul 2023 08:35:47 +0000 (16:35 +0800)
#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
services/convert/git_commit.go
templates/swagger/v1_json.tmpl

index b3e98df1953d0b8a6e041158a0061f6c1afa04ad..fec7d97608d92328a97a6f7cc79c9bf193e36689 100644 (file)
@@ -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"`
 }
index e726011e02d76e8b6cc81cc4c46a6ae2e278b8b3..ac15719c1cfcce4de3eb851ca7dc21cf731b2307 100644 (file)
@@ -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,
                                })
                        }
                }
index b7620b9e763a571ad9b328e76001f4c44d15a23c..42eda985289e3146c559f2d9400df58090496db5 100644 (file)
         "filename": {
           "type": "string",
           "x-go-name": "Filename"
+        },
+        "status": {
+          "type": "string",
+          "x-go-name": "Status"
         }
       },
       "x-go-package": "code.gitea.io/gitea/modules/structs"