summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Gopkg.lock4
-rw-r--r--routers/api/v1/repo/commits.go16
-rw-r--r--templates/swagger/v1_json.tmpl1
-rw-r--r--vendor/code.gitea.io/sdk/gitea/git_blob.go14
-rw-r--r--vendor/code.gitea.io/sdk/gitea/repo_commit.go12
-rw-r--r--vendor/code.gitea.io/sdk/gitea/repo_file.go75
6 files changed, 111 insertions, 11 deletions
diff --git a/Gopkg.lock b/Gopkg.lock
index 6a97f8915c..cf5223dfff 100644
--- a/Gopkg.lock
+++ b/Gopkg.lock
@@ -11,11 +11,11 @@
[[projects]]
branch = "master"
- digest = "1:dbf849e6552740945ac1c6c6acba590fbc594e4efa80cf05568dec8579ae0dab"
+ digest = "1:6fb0a860db126f973204b4b05ed08d338d485a74c19c15f0e5cf0f49352a8ef1"
name = "code.gitea.io/sdk"
packages = ["gitea"]
pruneopts = "NUT"
- revision = "e4effe4df2b895ca51482d24edb8748704326f1a"
+ revision = "a669487e86e0cc5833a2867e6476da6327244a1a"
[[projects]]
digest = "1:5d72bbcc9c8667b11c3dc3cbe681c5a6f71e5096744c0bf7726ab5c6425d5dc4"
diff --git a/routers/api/v1/repo/commits.go b/routers/api/v1/repo/commits.go
index a4cf5037d7..3596e88015 100644
--- a/routers/api/v1/repo/commits.go
+++ b/routers/api/v1/repo/commits.go
@@ -97,14 +97,18 @@ func GetSingleCommit(ctx *context.APIContext) {
RepoCommit: &api.RepoCommit{
URL: setting.AppURL + ctx.Link[1:],
Author: &api.CommitUser{
- Name: commit.Author.Name,
- Email: commit.Author.Email,
- Date: commit.Author.When.Format(time.RFC3339),
+ Identity: api.Identity{
+ Name: commit.Author.Name,
+ Email: commit.Author.Email,
+ },
+ Date: commit.Author.When.Format(time.RFC3339),
},
Committer: &api.CommitUser{
- Name: commit.Committer.Name,
- Email: commit.Committer.Email,
- Date: commit.Committer.When.Format(time.RFC3339),
+ Identity: api.Identity{
+ Name: commit.Committer.Name,
+ Email: commit.Committer.Email,
+ },
+ Date: commit.Committer.When.Format(time.RFC3339),
},
Message: commit.Summary(),
Tree: &api.CommitMeta{
diff --git a/templates/swagger/v1_json.tmpl b/templates/swagger/v1_json.tmpl
index 4a4b408bb9..c9ea1d56eb 100644
--- a/templates/swagger/v1_json.tmpl
+++ b/templates/swagger/v1_json.tmpl
@@ -6447,6 +6447,7 @@
},
"email": {
"type": "string",
+ "format": "email",
"x-go-name": "Email"
},
"name": {
diff --git a/vendor/code.gitea.io/sdk/gitea/git_blob.go b/vendor/code.gitea.io/sdk/gitea/git_blob.go
new file mode 100644
index 0000000000..abdd95aaff
--- /dev/null
+++ b/vendor/code.gitea.io/sdk/gitea/git_blob.go
@@ -0,0 +1,14 @@
+// Copyright 2019 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package gitea
+
+// GitBlobResponse represents a git blob
+type GitBlobResponse struct {
+ Content string `json:"content"`
+ Encoding string `json:"encoding"`
+ URL string `json:"url"`
+ SHA string `json:"sha"`
+ Size int64 `json:"size"`
+}
diff --git a/vendor/code.gitea.io/sdk/gitea/repo_commit.go b/vendor/code.gitea.io/sdk/gitea/repo_commit.go
index 2954f9fc1c..74c52c06fb 100644
--- a/vendor/code.gitea.io/sdk/gitea/repo_commit.go
+++ b/vendor/code.gitea.io/sdk/gitea/repo_commit.go
@@ -9,6 +9,13 @@ import (
"fmt"
)
+// Identity for a person's identity like an author or committer
+type Identity struct {
+ Name string `json:"name" binding:"MaxSize(100)"`
+ // swagger:strfmt email
+ Email string `json:"email" binding:"MaxSize(254)"`
+}
+
// CommitMeta contains meta information of a commit in terms of API.
type CommitMeta struct {
URL string `json:"url"`
@@ -17,9 +24,8 @@ type CommitMeta struct {
// CommitUser contains information of a user in the context of a commit.
type CommitUser struct {
- Name string `json:"name"`
- Email string `json:"email"`
- Date string `json:"date"`
+ Identity
+ Date string `json:"date"`
}
// RepoCommit contains information of a commit in the context of a repository.
diff --git a/vendor/code.gitea.io/sdk/gitea/repo_file.go b/vendor/code.gitea.io/sdk/gitea/repo_file.go
index e6c89f0c0f..1e9e45ec24 100644
--- a/vendor/code.gitea.io/sdk/gitea/repo_file.go
+++ b/vendor/code.gitea.io/sdk/gitea/repo_file.go
@@ -1,4 +1,5 @@
// Copyright 2014 The Gogs Authors. All rights reserved.
+// Copyright 2019 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
@@ -13,3 +14,77 @@ import (
func (c *Client) GetFile(user, repo, ref, tree string) ([]byte, error) {
return c.getResponse("GET", fmt.Sprintf("/repos/%s/%s/raw/%s/%s", user, repo, ref, tree), nil, nil)
}
+
+// FileOptions options for all file APIs
+type FileOptions struct {
+ Message string `json:"message" binding:"Required"`
+ BranchName string `json:"branch"`
+ NewBranchName string `json:"new_branch"`
+ Author Identity `json:"author"`
+ Committer Identity `json:"committer"`
+}
+
+// CreateFileOptions options for creating files
+type CreateFileOptions struct {
+ FileOptions
+ Content string `json:"content"`
+}
+
+// DeleteFileOptions options for deleting files (used for other File structs below)
+type DeleteFileOptions struct {
+ FileOptions
+ SHA string `json:"sha" binding:"Required"`
+}
+
+// UpdateFileOptions options for updating files
+type UpdateFileOptions struct {
+ DeleteFileOptions
+ Content string `json:"content"`
+ FromPath string `json:"from_path" binding:"MaxSize(500)"`
+}
+
+// FileLinksResponse contains the links for a repo's file
+type FileLinksResponse struct {
+ Self string `json:"url"`
+ GitURL string `json:"git_url"`
+ HTMLURL string `json:"html_url"`
+}
+
+// FileContentResponse contains information about a repo's file stats and content
+type FileContentResponse struct {
+ Name string `json:"name"`
+ Path string `json:"path"`
+ SHA string `json:"sha"`
+ Size int64 `json:"size"`
+ URL string `json:"url"`
+ HTMLURL string `json:"html_url"`
+ GitURL string `json:"git_url"`
+ DownloadURL string `json:"download_url"`
+ Type string `json:"type"`
+ Links *FileLinksResponse `json:"_links"`
+}
+
+// FileCommitResponse contains information generated from a Git commit for a repo's file.
+type FileCommitResponse struct {
+ CommitMeta
+ HTMLURL string `json:"html_url"`
+ Author *CommitUser `json:"author"`
+ Committer *CommitUser `json:"committer"`
+ Parents []*CommitMeta `json:"parents"`
+ Message string `json:"message"`
+ Tree *CommitMeta `json:"tree"`
+}
+
+// FileResponse contains information about a repo's file
+type FileResponse struct {
+ Content *FileContentResponse `json:"content"`
+ Commit *FileCommitResponse `json:"commit"`
+ Verification *PayloadCommitVerification `json:"verification"`
+}
+
+// FileDeleteResponse contains information about a repo's file that was deleted
+type FileDeleteResponse struct {
+ Content interface{} `json:"content"` // to be set to nil
+ Commit *FileCommitResponse `json:"commit"`
+ Verification *PayloadCommitVerification `json:"verification"`
+}