Use Go 1.19 fmt for Gitea 1.17, sync emoji data (#21239)

The images used by Gitea's drone pipeline were upgraded to Go 1.19.x
It causes the lint fails because Go 1.19 uses new code format.

This PR partially backport #20758 (including the emoji-data sync),
partially fix the format manually.
tokarchuk/v1.17
wxiaoguang 2 years ago committed by GitHub
parent 937ef6fa90
commit 20c135cd46
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      Makefile
  2. 2
      assets/emoji.json
  3. 3
      build/generate-emoji.go
  4. 387
      modules/avatar/identicon/block.go
  5. 2
      modules/context/repo.go
  6. 2
      modules/csv/csv_test.go
  7. 629
      modules/emoji/emoji_data.go
  8. 6
      modules/git/foreachref/parser.go
  9. 6
      modules/git/signature_gogit.go
  10. 6
      modules/git/signature_nogogit.go
  11. 1
      modules/log/file.go
  12. 1
      modules/log/smtp.go
  13. 4
      modules/markup/mdstripper/mdstripper.go
  14. 2
      modules/pprof/pprof.go
  15. 4
      modules/repository/repo.go
  16. 12
      modules/util/string.go
  17. 98
      routers/api/v1/api.go
  18. 4
      routers/api/v1/repo/git_ref.go
  19. 5
      routers/api/v1/repo/issue_tracked_time.go
  20. 1
      routers/api/v1/repo/repo.go
  21. 5
      routers/api/v1/user/email.go
  22. 1
      services/migrations/dump.go
  23. 5
      services/migrations/gitea_downloader.go
  24. 8
      services/migrations/gitlab.go
  25. 14
      templates/swagger/v1_json.tmpl

@ -33,7 +33,7 @@ GOFUMPT_PACKAGE ?= mvdan.cc/gofumpt@v0.3.1
GOLANGCI_LINT_PACKAGE ?= github.com/golangci/golangci-lint/cmd/golangci-lint@v1.46.0 GOLANGCI_LINT_PACKAGE ?= github.com/golangci/golangci-lint/cmd/golangci-lint@v1.46.0
GXZ_PAGAGE ?= github.com/ulikunitz/xz/cmd/gxz@v0.5.10 GXZ_PAGAGE ?= github.com/ulikunitz/xz/cmd/gxz@v0.5.10
MISSPELL_PACKAGE ?= github.com/client9/misspell/cmd/misspell@v0.3.4 MISSPELL_PACKAGE ?= github.com/client9/misspell/cmd/misspell@v0.3.4
SWAGGER_PACKAGE ?= github.com/go-swagger/go-swagger/cmd/swagger@v0.29.0 SWAGGER_PACKAGE ?= github.com/go-swagger/go-swagger/cmd/swagger@v0.30.0
XGO_PACKAGE ?= src.techknowlogick.com/xgo@latest XGO_PACKAGE ?= src.techknowlogick.com/xgo@latest
DOCKER_IMAGE ?= gitea/gitea DOCKER_IMAGE ?= gitea/gitea

File diff suppressed because one or more lines are too long

@ -214,8 +214,7 @@ const hdr = `
package emoji package emoji
// Code generated by gen.go. DO NOT EDIT. // Code generated by build/generate-emoji.go. DO NOT EDIT.
// Sourced from %s // Sourced from %s
//
var GemojiData = %#v var GemojiData = %#v
` `

@ -36,20 +36,20 @@ func drawBlock(img *image.Paletted, x, y, size, angle int, points []int) {
// blank // blank
// //
// -------- // --------
// | | // | |
// | | // | |
// | | // | |
// -------- // --------
func b0(img *image.Paletted, x, y, size, angle int) {} func b0(img *image.Paletted, x, y, size, angle int) {}
// full-filled // full-filled
// //
// -------- // --------
// |######| // |######|
// |######| // |######|
// |######| // |######|
// -------- // --------
func b1(img *image.Paletted, x, y, size, angle int) { func b1(img *image.Paletted, x, y, size, angle int) {
for i := x; i < x+size; i++ { for i := x; i < x+size; i++ {
for j := y; j < y+size; j++ { for j := y; j < y+size; j++ {
@ -59,12 +59,13 @@ func b1(img *image.Paletted, x, y, size, angle int) {
} }
// a small block // a small block
// ---------- //
// | | // ----------
// | #### | // | |
// | #### | // | #### |
// | | // | #### |
// ---------- // | |
// ----------
func b2(img *image.Paletted, x, y, size, angle int) { func b2(img *image.Paletted, x, y, size, angle int) {
l := size / 4 l := size / 4
x += l x += l
@ -79,15 +80,15 @@ func b2(img *image.Paletted, x, y, size, angle int) {
// diamond // diamond
// //
// --------- // ---------
// | # | // | # |
// | ### | // | ### |
// | ##### | // | ##### |
// |#######| // |#######|
// | ##### | // | ##### |
// | ### | // | ### |
// | # | // | # |
// --------- // ---------
func b3(img *image.Paletted, x, y, size, angle int) { func b3(img *image.Paletted, x, y, size, angle int) {
m := size / 2 m := size / 2
drawBlock(img, x, y, size, 0, []int{ drawBlock(img, x, y, size, 0, []int{
@ -101,13 +102,13 @@ func b3(img *image.Paletted, x, y, size, angle int) {
// b4 // b4
// //
// ------- // -------
// |#####| // |#####|
// |#### | // |#### |
// |### | // |### |
// |## | // |## |
// |# | // |# |
// |------ // |------
func b4(img *image.Paletted, x, y, size, angle int) { func b4(img *image.Paletted, x, y, size, angle int) {
drawBlock(img, x, y, size, angle, []int{ drawBlock(img, x, y, size, angle, []int{
0, 0, 0, 0,
@ -119,11 +120,11 @@ func b4(img *image.Paletted, x, y, size, angle int) {
// b5 // b5
// //
// --------- // ---------
// | # | // | # |
// | ### | // | ### |
// | ##### | // | ##### |
// |#######| // |#######|
func b5(img *image.Paletted, x, y, size, angle int) { func b5(img *image.Paletted, x, y, size, angle int) {
m := size / 2 m := size / 2
drawBlock(img, x, y, size, angle, []int{ drawBlock(img, x, y, size, angle, []int{
@ -136,11 +137,11 @@ func b5(img *image.Paletted, x, y, size, angle int) {
// b6 // b6
// //
// -------- // --------
// |### | // |### |
// |### | // |### |
// |### | // |### |
// -------- // --------
func b6(img *image.Paletted, x, y, size, angle int) { func b6(img *image.Paletted, x, y, size, angle int) {
m := size / 2 m := size / 2
drawBlock(img, x, y, size, angle, []int{ drawBlock(img, x, y, size, angle, []int{
@ -154,12 +155,12 @@ func b6(img *image.Paletted, x, y, size, angle int) {
// b7 italic cone // b7 italic cone
// //
// --------- // ---------
// | # | // | # |
// | ## | // | ## |
// | #####| // | #####|
// | ####| // | ####|
// |-------- // |--------
func b7(img *image.Paletted, x, y, size, angle int) { func b7(img *image.Paletted, x, y, size, angle int) {
m := size / 2 m := size / 2
drawBlock(img, x, y, size, angle, []int{ drawBlock(img, x, y, size, angle, []int{
@ -173,14 +174,14 @@ func b7(img *image.Paletted, x, y, size, angle int) {
// b8 three small triangles // b8 three small triangles
// //
// ----------- // -----------
// | # | // | # |
// | ### | // | ### |
// | ##### | // | ##### |
// | # # | // | # # |
// | ### ### | // | ### ### |
// |#########| // |#########|
// ----------- // -----------
func b8(img *image.Paletted, x, y, size, angle int) { func b8(img *image.Paletted, x, y, size, angle int) {
m := size / 2 m := size / 2
mm := m / 2 mm := m / 2
@ -212,13 +213,13 @@ func b8(img *image.Paletted, x, y, size, angle int) {
// b9 italic triangle // b9 italic triangle
// //
// --------- // ---------
// |# | // |# |
// | #### | // | #### |
// | #####| // | #####|
// | #### | // | #### |
// | # | // | # |
// --------- // ---------
func b9(img *image.Paletted, x, y, size, angle int) { func b9(img *image.Paletted, x, y, size, angle int) {
m := size / 2 m := size / 2
drawBlock(img, x, y, size, angle, []int{ drawBlock(img, x, y, size, angle, []int{
@ -231,16 +232,16 @@ func b9(img *image.Paletted, x, y, size, angle int) {
// b10 // b10
// //
// ---------- // ----------
// | ####| // | ####|
// | ### | // | ### |
// | ## | // | ## |
// | # | // | # |
// |#### | // |#### |
// |### | // |### |
// |## | // |## |
// |# | // |# |
// ---------- // ----------
func b10(img *image.Paletted, x, y, size, angle int) { func b10(img *image.Paletted, x, y, size, angle int) {
m := size / 2 m := size / 2
drawBlock(img, x, y, size, angle, []int{ drawBlock(img, x, y, size, angle, []int{
@ -260,13 +261,13 @@ func b10(img *image.Paletted, x, y, size, angle int) {
// b11 // b11
// //
// ---------- // ----------
// |#### | // |#### |
// |#### | // |#### |
// |#### | // |#### |
// | | // | |
// | | // | |
// ---------- // ----------
func b11(img *image.Paletted, x, y, size, angle int) { func b11(img *image.Paletted, x, y, size, angle int) {
m := size / 2 m := size / 2
drawBlock(img, x, y, size, angle, []int{ drawBlock(img, x, y, size, angle, []int{
@ -280,13 +281,13 @@ func b11(img *image.Paletted, x, y, size, angle int) {
// b12 // b12
// //
// ----------- // -----------
// | | // | |
// | | // | |
// |#########| // |#########|
// | ##### | // | ##### |
// | # | // | # |
// ----------- // -----------
func b12(img *image.Paletted, x, y, size, angle int) { func b12(img *image.Paletted, x, y, size, angle int) {
m := size / 2 m := size / 2
drawBlock(img, x, y, size, angle, []int{ drawBlock(img, x, y, size, angle, []int{
@ -299,13 +300,13 @@ func b12(img *image.Paletted, x, y, size, angle int) {
// b13 // b13
// //
// ----------- // -----------
// | | // | |
// | | // | |
// | # | // | # |
// | ##### | // | ##### |
// |#########| // |#########|
// ----------- // -----------
func b13(img *image.Paletted, x, y, size, angle int) { func b13(img *image.Paletted, x, y, size, angle int) {
m := size / 2 m := size / 2
drawBlock(img, x, y, size, angle, []int{ drawBlock(img, x, y, size, angle, []int{
@ -318,13 +319,13 @@ func b13(img *image.Paletted, x, y, size, angle int) {
// b14 // b14
// //
// --------- // ---------
// | # | // | # |
// | ### | // | ### |
// |#### | // |#### |
// | | // | |
// | | // | |
// --------- // ---------
func b14(img *image.Paletted, x, y, size, angle int) { func b14(img *image.Paletted, x, y, size, angle int) {
m := size / 2 m := size / 2
drawBlock(img, x, y, size, angle, []int{ drawBlock(img, x, y, size, angle, []int{
@ -337,13 +338,13 @@ func b14(img *image.Paletted, x, y, size, angle int) {
// b15 // b15
// //
// ---------- // ----------
// |##### | // |##### |
// |### | // |### |
// |# | // |# |
// | | // | |
// | | // | |
// ---------- // ----------
func b15(img *image.Paletted, x, y, size, angle int) { func b15(img *image.Paletted, x, y, size, angle int) {
m := size / 2 m := size / 2
drawBlock(img, x, y, size, angle, []int{ drawBlock(img, x, y, size, angle, []int{
@ -356,14 +357,14 @@ func b15(img *image.Paletted, x, y, size, angle int) {
// b16 // b16
// //
// --------- // ---------
// | # | // | # |
// | ##### | // | ##### |
// |#######| // |#######|
// | # | // | # |
// | ##### | // | ##### |
// |#######| // |#######|
// --------- // ---------
func b16(img *image.Paletted, x, y, size, angle int) { func b16(img *image.Paletted, x, y, size, angle int) {
m := size / 2 m := size / 2
drawBlock(img, x, y, size, angle, []int{ drawBlock(img, x, y, size, angle, []int{
@ -383,13 +384,13 @@ func b16(img *image.Paletted, x, y, size, angle int) {
// b17 // b17
// //
// ---------- // ----------
// |##### | // |##### |
// |### | // |### |
// |# | // |# |
// | ##| // | ##|
// | ##| // | ##|
// ---------- // ----------
func b17(img *image.Paletted, x, y, size, angle int) { func b17(img *image.Paletted, x, y, size, angle int) {
m := size / 2 m := size / 2
@ -412,13 +413,13 @@ func b17(img *image.Paletted, x, y, size, angle int) {
// b18 // b18
// //
// ---------- // ----------
// |##### | // |##### |
// |#### | // |#### |
// |### | // |### |
// |## | // |## |
// |# | // |# |
// ---------- // ----------
func b18(img *image.Paletted, x, y, size, angle int) { func b18(img *image.Paletted, x, y, size, angle int) {
m := size / 2 m := size / 2
@ -432,13 +433,13 @@ func b18(img *image.Paletted, x, y, size, angle int) {
// b19 // b19
// //
// ---------- // ----------
// |########| // |########|
// |### ###| // |### ###|
// |# #| // |# #|
// |### ###| // |### ###|
// |########| // |########|
// ---------- // ----------
func b19(img *image.Paletted, x, y, size, angle int) { func b19(img *image.Paletted, x, y, size, angle int) {
m := size / 2 m := size / 2
@ -473,13 +474,13 @@ func b19(img *image.Paletted, x, y, size, angle int) {
// b20 // b20
// //
// ---------- // ----------
// | ## | // | ## |
// |### | // |### |
// |## | // |## |
// |## | // |## |
// |# | // |# |
// ---------- // ----------
func b20(img *image.Paletted, x, y, size, angle int) { func b20(img *image.Paletted, x, y, size, angle int) {
m := size / 2 m := size / 2
q := size / 4 q := size / 4
@ -494,13 +495,13 @@ func b20(img *image.Paletted, x, y, size, angle int) {
// b21 // b21
// //
// ---------- // ----------
// | #### | // | #### |
// |## #####| // |## #####|
// |## ##| // |## ##|
// |## | // |## |
// |# | // |# |
// ---------- // ----------
func b21(img *image.Paletted, x, y, size, angle int) { func b21(img *image.Paletted, x, y, size, angle int) {
m := size / 2 m := size / 2
q := size / 4 q := size / 4
@ -522,13 +523,13 @@ func b21(img *image.Paletted, x, y, size, angle int) {
// b22 // b22
// //
// ---------- // ----------
// | #### | // | #### |
// |## ### | // |## ### |
// |## ##| // |## ##|
// |## ##| // |## ##|
// |# #| // |# #|
// ---------- // ----------
func b22(img *image.Paletted, x, y, size, angle int) { func b22(img *image.Paletted, x, y, size, angle int) {
m := size / 2 m := size / 2
q := size / 4 q := size / 4
@ -550,13 +551,13 @@ func b22(img *image.Paletted, x, y, size, angle int) {
// b23 // b23
// //
// ---------- // ----------
// | #######| // | #######|
// |### #| // |### #|
// |## | // |## |
// |## | // |## |
// |# | // |# |
// ---------- // ----------
func b23(img *image.Paletted, x, y, size, angle int) { func b23(img *image.Paletted, x, y, size, angle int) {
m := size / 2 m := size / 2
q := size / 4 q := size / 4
@ -578,13 +579,13 @@ func b23(img *image.Paletted, x, y, size, angle int) {
// b24 // b24
// //
// ---------- // ----------
// | ## ###| // | ## ###|
// |### ###| // |### ###|
// |## ## | // |## ## |
// |## ## | // |## ## |
// |# # | // |# # |
// ---------- // ----------
func b24(img *image.Paletted, x, y, size, angle int) { func b24(img *image.Paletted, x, y, size, angle int) {
m := size / 2 m := size / 2
q := size / 4 q := size / 4
@ -606,13 +607,13 @@ func b24(img *image.Paletted, x, y, size, angle int) {
// b25 // b25
// //
// ---------- // ----------
// |# #| // |# #|
// |## ###| // |## ###|
// |## ## | // |## ## |
// |###### | // |###### |
// |#### | // |#### |
// ---------- // ----------
func b25(img *image.Paletted, x, y, size, angle int) { func b25(img *image.Paletted, x, y, size, angle int) {
m := size / 2 m := size / 2
q := size / 4 q := size / 4
@ -634,13 +635,13 @@ func b25(img *image.Paletted, x, y, size, angle int) {
// b26 // b26
// //
// ---------- // ----------
// |# #| // |# #|
// |### ###| // |### ###|
// | #### | // | #### |
// |### ###| // |### ###|
// |# #| // |# #|
// ---------- // ----------
func b26(img *image.Paletted, x, y, size, angle int) { func b26(img *image.Paletted, x, y, size, angle int) {
m := size / 2 m := size / 2
q := size / 4 q := size / 4
@ -676,13 +677,13 @@ func b26(img *image.Paletted, x, y, size, angle int) {
// b27 // b27
// //
// ---------- // ----------
// |########| // |########|
// |## ###| // |## ###|
// |# #| // |# #|
// |### ##| // |### ##|
// |########| // |########|
// ---------- // ----------
func b27(img *image.Paletted, x, y, size, angle int) { func b27(img *image.Paletted, x, y, size, angle int) {
m := size / 2 m := size / 2
q := size / 4 q := size / 4

@ -118,7 +118,7 @@ type CanCommitToBranchResults struct {
} }
// CanCommitToBranch returns true if repository is editable and user has proper access level // CanCommitToBranch returns true if repository is editable and user has proper access level
// and branch is not protected for push // and branch is not protected for push
func (r *Repository) CanCommitToBranch(ctx context.Context, doer *user_model.User) (CanCommitToBranchResults, error) { func (r *Repository) CanCommitToBranch(ctx context.Context, doer *user_model.User) (CanCommitToBranchResults, error) {
protectedBranch, err := git_model.GetProtectedBranchBy(ctx, r.Repository.ID, r.BranchName) protectedBranch, err := git_model.GetProtectedBranchBy(ctx, r.Repository.ID, r.BranchName)
if err != nil { if err != nil {

@ -322,7 +322,7 @@ func TestGuessDelimiter(t *testing.T) {
}, },
// case 3 - tab delimited // case 3 - tab delimited
{ {
csv: "1 2", csv: "1\t2",
expectedDelimiter: '\t', expectedDelimiter: '\t',
}, },
// case 4 - pipe delimited // case 4 - pipe delimited

File diff suppressed because it is too large Load Diff

@ -68,8 +68,7 @@ func NewParser(r io.Reader, format Format) *Parser {
// //
// It could, for example return something like: // It could, for example return something like:
// //
// { "objecttype": "tag", "refname:short": "v1.16.4", "object": "f460b7543ed500e49c133c2cd85c8c55ee9dbe27" } // { "objecttype": "tag", "refname:short": "v1.16.4", "object": "f460b7543ed500e49c133c2cd85c8c55ee9dbe27" }
//
func (p *Parser) Next() map[string]string { func (p *Parser) Next() map[string]string {
if !p.scanner.Scan() { if !p.scanner.Scan() {
return nil return nil
@ -89,8 +88,7 @@ func (p *Parser) Err() error {
// parseRef parses out all key-value pairs from a single reference block, such as // parseRef parses out all key-value pairs from a single reference block, such as
// //
// "objecttype tag\0refname:short v1.16.4\0object f460b7543ed500e49c133c2cd85c8c55ee9dbe27" // "objecttype tag\0refname:short v1.16.4\0object f460b7543ed500e49c133c2cd85c8c55ee9dbe27"
//
func (p *Parser) parseRef(refBlock string) (map[string]string, error) { func (p *Parser) parseRef(refBlock string) (map[string]string, error) {
if refBlock == "" { if refBlock == "" {
// must be at EOF // must be at EOF

@ -19,8 +19,10 @@ import (
type Signature = object.Signature type Signature = object.Signature
// Helper to get a signature from the commit line, which looks like these: // Helper to get a signature from the commit line, which looks like these:
// author Patrick Gundlach <gundlach@speedata.de> 1378823654 +0200 //
// author Patrick Gundlach <gundlach@speedata.de> Thu, 07 Apr 2005 22:13:13 +0200 // author Patrick Gundlach <gundlach@speedata.de> 1378823654 +0200
// author Patrick Gundlach <gundlach@speedata.de> Thu, 07 Apr 2005 22:13:13 +0200
//
// but without the "author " at the beginning (this method should) // but without the "author " at the beginning (this method should)
// be used for author and committer. // be used for author and committer.
// //

@ -37,8 +37,10 @@ func (s *Signature) Decode(b []byte) {
} }
// Helper to get a signature from the commit line, which looks like these: // Helper to get a signature from the commit line, which looks like these:
// author Patrick Gundlach <gundlach@speedata.de> 1378823654 +0200 //
// author Patrick Gundlach <gundlach@speedata.de> Thu, 07 Apr 2005 22:13:13 +0200 // author Patrick Gundlach <gundlach@speedata.de> 1378823654 +0200
// author Patrick Gundlach <gundlach@speedata.de> Thu, 07 Apr 2005 22:13:13 +0200
//
// but without the "author " at the beginning (this method should) // but without the "author " at the beginning (this method should)
// be used for author and committer. // be used for author and committer.
func newSignatureFromCommitline(line []byte) (sig *Signature, err error) { func newSignatureFromCommitline(line []byte) (sig *Signature, err error) {

@ -93,6 +93,7 @@ func NewFileLogger() LoggerProvider {
// Init file logger with json config. // Init file logger with json config.
// config like: // config like:
//
// { // {
// "filename":"log/gogs.log", // "filename":"log/gogs.log",
// "maxsize":1<<30, // "maxsize":1<<30,

@ -48,6 +48,7 @@ func NewSMTPLogger() LoggerProvider {
// Init smtp writer with json config. // Init smtp writer with json config.
// config like: // config like:
//
// { // {
// "Username":"example@gmail.com", // "Username":"example@gmail.com",
// "password:"password", // "password:"password",

@ -141,7 +141,7 @@ func (r *stripRenderer) AddOptions(...renderer.Option) {
} }
// StripMarkdown parses markdown content by removing all markup and code blocks // StripMarkdown parses markdown content by removing all markup and code blocks
// in order to extract links and other references // in order to extract links and other references
func StripMarkdown(rawBytes []byte) (string, []string) { func StripMarkdown(rawBytes []byte) (string, []string) {
buf, links := StripMarkdownBytes(rawBytes) buf, links := StripMarkdownBytes(rawBytes)
return string(buf), links return string(buf), links
@ -153,7 +153,7 @@ var (
) )
// StripMarkdownBytes parses markdown content by removing all markup and code blocks // StripMarkdownBytes parses markdown content by removing all markup and code blocks
// in order to extract links and other references // in order to extract links and other references
func StripMarkdownBytes(rawBytes []byte) ([]byte, []string) { func StripMarkdownBytes(rawBytes []byte) ([]byte, []string) {
once.Do(func() { once.Do(func() {
gdMarkdown := goldmark.New( gdMarkdown := goldmark.New(

@ -25,7 +25,7 @@ func DumpMemProfileForUsername(pprofDataPath, username string) error {
} }
// DumpCPUProfileForUsername dumps a CPU profile at pprofDataPath as cpuprofile_<username>_<temporary id> // DumpCPUProfileForUsername dumps a CPU profile at pprofDataPath as cpuprofile_<username>_<temporary id>
// it returns the stop function which stops, writes and closes the CPU profile file // the stop function it returns stops, writes and closes the CPU profile file
func DumpCPUProfileForUsername(pprofDataPath, username string) (func(), error) { func DumpCPUProfileForUsername(pprofDataPath, username string) (func(), error) {
f, err := os.CreateTemp(pprofDataPath, fmt.Sprintf("cpuprofile_%s_", username)) f, err := os.CreateTemp(pprofDataPath, fmt.Sprintf("cpuprofile_%s_", username))
if err != nil { if err != nil {

@ -31,8 +31,8 @@ import (
) )
/* /*
GitHub, GitLab, Gogs: *.wiki.git GitHub, GitLab, Gogs: *.wiki.git
BitBucket: *.git/wiki BitBucket: *.git/wiki
*/ */
var commonWikiURLSuffixes = []string{".wiki.git", ".git/wiki"} var commonWikiURLSuffixes = []string{".wiki.git", ".git/wiki"}

@ -17,13 +17,13 @@ func isSnakeCaseLowerOrNumber(c byte) bool {
// ToSnakeCase convert the input string to snake_case format. // ToSnakeCase convert the input string to snake_case format.
// //
// Some samples. // Some samples.
// "FirstName" => "first_name"
// "HTTPServer" => "http_server"
// "NoHTTPS" => "no_https"
// "GO_PATH" => "go_path"
// "GO PATH" => "go_path" // space is converted to underscore.
// "GO-PATH" => "go_path" // hyphen is converted to underscore.
// //
// "FirstName" => "first_name"
// "HTTPServer" => "http_server"
// "NoHTTPS" => "no_https"
// "GO_PATH" => "go_path"
// "GO PATH" => "go_path" // space is converted to underscore.
// "GO-PATH" => "go_path" // hyphen is converted to underscore.
func ToSnakeCase(input string) string { func ToSnakeCase(input string) string {
if len(input) == 0 { if len(input) == 0 {
return "" return ""

@ -7,59 +7,59 @@
// //
// This documentation describes the Gitea API. // This documentation describes the Gitea API.
// //
// Schemes: http, https // Schemes: http, https
// BasePath: /api/v1 // BasePath: /api/v1
// Version: {{AppVer | JSEscape | Safe}} // Version: {{AppVer | JSEscape | Safe}}
// License: MIT http://opensource.org/licenses/MIT // License: MIT http://opensource.org/licenses/MIT
// //
// Consumes: // Consumes:
// - application/json // - application/json
// - text/plain // - text/plain
// //
// Produces: // Produces:
// - application/json // - application/json
// - text/html // - text/html
// //
// Security: // Security:
// - BasicAuth : // - BasicAuth :
// - Token : // - Token :
// - AccessToken : // - AccessToken :
// - AuthorizationHeaderToken : // - AuthorizationHeaderToken :
// - SudoParam : // - SudoParam :
// - SudoHeader : // - SudoHeader :
// - TOTPHeader : // - TOTPHeader :
// //
// SecurityDefinitions: // SecurityDefinitions:
// BasicAuth: // BasicAuth:
// type: basic // type: basic
// Token: // Token:
// type: apiKey // type: apiKey
// name: token // name: token
// in: query // in: query
// AccessToken: // AccessToken:
// type: apiKey // type: apiKey
// name: access_token // name: access_token
// in: query // in: query
// AuthorizationHeaderToken: // AuthorizationHeaderToken:
// type: apiKey // type: apiKey
// name: Authorization // name: Authorization
// in: header // in: header
// description: API tokens must be prepended with "token" followed by a space. // description: API tokens must be prepended with "token" followed by a space.
// SudoParam: // SudoParam:
// type: apiKey // type: apiKey
// name: sudo // name: sudo
// in: query // in: query
// description: Sudo API request as the user provided as the key. Admin privileges are required. // description: Sudo API request as the user provided as the key. Admin privileges are required.
// SudoHeader: // SudoHeader:
// type: apiKey // type: apiKey
// name: Sudo // name: Sudo
// in: header // in: header
// description: Sudo API request as the user provided as the key. Admin privileges are required. // description: Sudo API request as the user provided as the key. Admin privileges are required.
// TOTPHeader: // TOTPHeader:
// type: apiKey // type: apiKey
// name: X-GITEA-OTP // name: X-GITEA-OTP
// in: header // in: header
// description: Must be used in combination with BasicAuth if two-factor authentication is enabled. // description: Must be used in combination with BasicAuth if two-factor authentication is enabled.
// //
// swagger:meta // swagger:meta
package v1 package v1

@ -34,7 +34,7 @@ func GetGitAllRefs(ctx *context.APIContext) {
// required: true // required: true
// responses: // responses:
// "200": // "200":
// "$ref": "#/responses/Reference" // # "$ref": "#/responses/Reference" TODO: swagger doesnt support different output formats by ref
// "$ref": "#/responses/ReferenceList" // "$ref": "#/responses/ReferenceList"
// "404": // "404":
// "$ref": "#/responses/notFound" // "$ref": "#/responses/notFound"
@ -67,7 +67,7 @@ func GetGitRefs(ctx *context.APIContext) {
// required: true // required: true
// responses: // responses:
// "200": // "200":
// "$ref": "#/responses/Reference" // # "$ref": "#/responses/Reference" TODO: swagger doesnt support different output formats by ref
// "$ref": "#/responses/ReferenceList" // "$ref": "#/responses/ReferenceList"
// "404": // "404":
// "$ref": "#/responses/notFound" // "$ref": "#/responses/notFound"

@ -566,6 +566,8 @@ func ListMyTrackedTimes(ctx *context.APIContext) {
// swagger:operation GET /user/times user userCurrentTrackedTimes // swagger:operation GET /user/times user userCurrentTrackedTimes
// --- // ---
// summary: List the current user's tracked times // summary: List the current user's tracked times
// produces:
// - application/json
// parameters: // parameters:
// - name: page // - name: page
// in: query // in: query
@ -575,9 +577,6 @@ func ListMyTrackedTimes(ctx *context.APIContext) {
// in: query // in: query
// description: page size of results // description: page size of results
// type: integer // type: integer
// produces:
// - application/json
// parameters:
// - name: since // - name: since
// in: query // in: query
// description: Only show times updated after the given time. This is a timestamp in RFC 3339 format // description: Only show times updated after the given time. This is a timestamp in RFC 3339 format

@ -585,7 +585,6 @@ func Edit(ctx *context.APIContext) {
// description: name of the repo to edit // description: name of the repo to edit
// type: string // type: string
// required: true // required: true
// required: true
// - name: body // - name: body
// in: body // in: body
// description: "Properties of a repo that you can edit" // description: "Properties of a repo that you can edit"

@ -48,11 +48,6 @@ func AddEmail(ctx *context.APIContext) {
// produces: // produces:
// - application/json // - application/json
// parameters: // parameters:
// - name: options
// in: body
// schema:
// "$ref": "#/definitions/CreateEmailOption"
// parameters:
// - name: body // - name: body
// in: body // in: body
// schema: // schema:

@ -26,7 +26,6 @@ import (
"code.gitea.io/gitea/modules/structs" "code.gitea.io/gitea/modules/structs"
"github.com/google/uuid" "github.com/google/uuid"
"gopkg.in/yaml.v2" "gopkg.in/yaml.v2"
) )

@ -78,8 +78,9 @@ type GiteaDownloader struct {
} }
// NewGiteaDownloader creates a gitea Downloader via gitea API // NewGiteaDownloader creates a gitea Downloader via gitea API
// Use either a username/password or personal token. token is preferred //
// Note: Public access only allows very basic access // Use either a username/password or personal token. token is preferred
// Note: Public access only allows very basic access
func NewGiteaDownloader(ctx context.Context, baseURL, repoPath, username, password, token string) (*GiteaDownloader, error) { func NewGiteaDownloader(ctx context.Context, baseURL, repoPath, username, password, token string) (*GiteaDownloader, error) {
giteaClient, err := gitea_sdk.NewClient( giteaClient, err := gitea_sdk.NewClient(
baseURL, baseURL,

@ -71,8 +71,9 @@ type GitlabDownloader struct {
} }
// NewGitlabDownloader creates a gitlab Downloader via gitlab API // NewGitlabDownloader creates a gitlab Downloader via gitlab API
// Use either a username/password, personal token entered into the username field, or anonymous/public access //
// Note: Public access only allows very basic access // Use either a username/password, personal token entered into the username field, or anonymous/public access
// Note: Public access only allows very basic access
func NewGitlabDownloader(ctx context.Context, baseURL, repoPath, username, password, token string) (*GitlabDownloader, error) { func NewGitlabDownloader(ctx context.Context, baseURL, repoPath, username, password, token string) (*GitlabDownloader, error) {
gitlabClient, err := gitlab.NewClient(token, gitlab.WithBaseURL(baseURL), gitlab.WithHTTPClient(NewMigrationHTTPClient())) gitlabClient, err := gitlab.NewClient(token, gitlab.WithBaseURL(baseURL), gitlab.WithHTTPClient(NewMigrationHTTPClient()))
// Only use basic auth if token is blank and password is NOT // Only use basic auth if token is blank and password is NOT
@ -374,7 +375,8 @@ type gitlabIssueContext struct {
} }
// GetIssues returns issues according start and limit // GetIssues returns issues according start and limit
// Note: issue label description and colors are not supported by the go-gitlab library at this time //
// Note: issue label description and colors are not supported by the go-gitlab library at this time
func (g *GitlabDownloader) GetIssues(page, perPage int) ([]*base.Issue, bool, error) { func (g *GitlabDownloader) GetIssues(page, perPage int) ([]*base.Issue, bool, error) {
state := "all" state := "all"
sort := "asc" sort := "asc"

@ -12420,6 +12420,18 @@
"summary": "List the current user's tracked times", "summary": "List the current user's tracked times",
"operationId": "userCurrentTrackedTimes", "operationId": "userCurrentTrackedTimes",
"parameters": [ "parameters": [
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "page size of results",
"name": "limit",
"in": "query"
},
{ {
"type": "string", "type": "string",
"format": "date-time", "format": "date-time",
@ -15619,7 +15631,6 @@
"$ref": "#/definitions/FileCommitResponse" "$ref": "#/definitions/FileCommitResponse"
}, },
"content": { "content": {
"type": "object",
"x-go-name": "Content" "x-go-name": "Content"
}, },
"verification": { "verification": {
@ -18661,7 +18672,6 @@
"x-go-name": "Ignored" "x-go-name": "Ignored"
}, },
"reason": { "reason": {
"type": "object",
"x-go-name": "Reason" "x-go-name": "Reason"
}, },
"repository_url": { "repository_url": {

Loading…
Cancel
Save