diff options
-rw-r--r-- | Gopkg.lock | 4 | ||||
-rw-r--r-- | routers/api/v1/repo/commits.go | 16 | ||||
-rw-r--r-- | templates/swagger/v1_json.tmpl | 1 | ||||
-rw-r--r-- | vendor/code.gitea.io/sdk/gitea/git_blob.go | 14 | ||||
-rw-r--r-- | vendor/code.gitea.io/sdk/gitea/repo_commit.go | 12 | ||||
-rw-r--r-- | vendor/code.gitea.io/sdk/gitea/repo_file.go | 75 |
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"` +} |