Add `sync_on_commit` option for push mirrors api (#22271)

Push mirrors `sync_on_commit` option was added to the web interface in
v1.18.0. However, it's not added to the API. This PR updates the API
endpoint.

Fixes #22267

Also, I think this should be backported to 1.18
pull/22265/head^2
Chongyi Zheng 2 years ago committed by GitHub
parent b76970f2e4
commit 9dcaf14a14
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      modules/structs/mirror.go
  2. 9
      routers/api/v1/repo/mirror.go
  3. 8
      templates/swagger/v1_json.tmpl

@ -9,6 +9,7 @@ type CreatePushMirrorOption struct {
RemoteUsername string `json:"remote_username"` RemoteUsername string `json:"remote_username"`
RemotePassword string `json:"remote_password"` RemotePassword string `json:"remote_password"`
Interval string `json:"interval"` Interval string `json:"interval"`
SyncOnCommit bool `json:"sync_on_commit"`
} }
// PushMirror represents information of a push mirror // PushMirror represents information of a push mirror
@ -21,4 +22,5 @@ type PushMirror struct {
LastUpdateUnix string `json:"last_update"` LastUpdateUnix string `json:"last_update"`
LastError string `json:"last_error"` LastError string `json:"last_error"`
Interval string `json:"interval"` Interval string `json:"interval"`
SyncOnCommit bool `json:"sync_on_commit"`
} }

@ -345,10 +345,11 @@ func CreatePushMirror(ctx *context.APIContext, mirrorOption *api.CreatePushMirro
} }
pushMirror := &repo_model.PushMirror{ pushMirror := &repo_model.PushMirror{
RepoID: repo.ID, RepoID: repo.ID,
Repo: repo, Repo: repo,
RemoteName: fmt.Sprintf("remote_mirror_%s", remoteSuffix), RemoteName: fmt.Sprintf("remote_mirror_%s", remoteSuffix),
Interval: interval, Interval: interval,
SyncOnCommit: mirrorOption.SyncOnCommit,
} }
if err = repo_model.InsertPushMirror(ctx, pushMirror); err != nil { if err = repo_model.InsertPushMirror(ctx, pushMirror); err != nil {

@ -15376,6 +15376,10 @@
"remote_username": { "remote_username": {
"type": "string", "type": "string",
"x-go-name": "RemoteUsername" "x-go-name": "RemoteUsername"
},
"sync_on_commit": {
"type": "boolean",
"x-go-name": "SyncOnCommit"
} }
}, },
"x-go-package": "code.gitea.io/gitea/modules/structs" "x-go-package": "code.gitea.io/gitea/modules/structs"
@ -18576,6 +18580,10 @@
"repo_name": { "repo_name": {
"type": "string", "type": "string",
"x-go-name": "RepoName" "x-go-name": "RepoName"
},
"sync_on_commit": {
"type": "boolean",
"x-go-name": "SyncOnCommit"
} }
}, },
"x-go-package": "code.gitea.io/gitea/modules/structs" "x-go-package": "code.gitea.io/gitea/modules/structs"

Loading…
Cancel
Save