diff options
author | Chongyi Zheng <harry@harryzheng.com> | 2022-12-30 06:22:51 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-30 19:22:51 +0800 |
commit | 9dcaf14a148fdf748c41afc7e0aa2e6b3b273fd8 (patch) | |
tree | 9a034ae09943f7a71198e286ffc0cffc27dcd9df | |
parent | b76970f2e45d04d363fd6897439f111db24e4bca (diff) | |
download | gitea-9dcaf14a148fdf748c41afc7e0aa2e6b3b273fd8.tar.gz gitea-9dcaf14a148fdf748c41afc7e0aa2e6b3b273fd8.zip |
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
-rw-r--r-- | modules/structs/mirror.go | 2 | ||||
-rw-r--r-- | routers/api/v1/repo/mirror.go | 9 | ||||
-rw-r--r-- | templates/swagger/v1_json.tmpl | 8 |
3 files changed, 15 insertions, 4 deletions
diff --git a/modules/structs/mirror.go b/modules/structs/mirror.go index 21e7751f76..55cd133a4f 100644 --- a/modules/structs/mirror.go +++ b/modules/structs/mirror.go @@ -9,6 +9,7 @@ type CreatePushMirrorOption struct { RemoteUsername string `json:"remote_username"` RemotePassword string `json:"remote_password"` Interval string `json:"interval"` + SyncOnCommit bool `json:"sync_on_commit"` } // PushMirror represents information of a push mirror @@ -21,4 +22,5 @@ type PushMirror struct { LastUpdateUnix string `json:"last_update"` LastError string `json:"last_error"` Interval string `json:"interval"` + SyncOnCommit bool `json:"sync_on_commit"` } diff --git a/routers/api/v1/repo/mirror.go b/routers/api/v1/repo/mirror.go index 5fce5a4a80..06bfabe3d2 100644 --- a/routers/api/v1/repo/mirror.go +++ b/routers/api/v1/repo/mirror.go @@ -345,10 +345,11 @@ func CreatePushMirror(ctx *context.APIContext, mirrorOption *api.CreatePushMirro } pushMirror := &repo_model.PushMirror{ - RepoID: repo.ID, - Repo: repo, - RemoteName: fmt.Sprintf("remote_mirror_%s", remoteSuffix), - Interval: interval, + RepoID: repo.ID, + Repo: repo, + RemoteName: fmt.Sprintf("remote_mirror_%s", remoteSuffix), + Interval: interval, + SyncOnCommit: mirrorOption.SyncOnCommit, } if err = repo_model.InsertPushMirror(ctx, pushMirror); err != nil { diff --git a/templates/swagger/v1_json.tmpl b/templates/swagger/v1_json.tmpl index c86c6744de..c223282596 100644 --- a/templates/swagger/v1_json.tmpl +++ b/templates/swagger/v1_json.tmpl @@ -15376,6 +15376,10 @@ "remote_username": { "type": "string", "x-go-name": "RemoteUsername" + }, + "sync_on_commit": { + "type": "boolean", + "x-go-name": "SyncOnCommit" } }, "x-go-package": "code.gitea.io/gitea/modules/structs" @@ -18576,6 +18580,10 @@ "repo_name": { "type": "string", "x-go-name": "RepoName" + }, + "sync_on_commit": { + "type": "boolean", + "x-go-name": "SyncOnCommit" } }, "x-go-package": "code.gitea.io/gitea/modules/structs" |