From 443fd27a901aceeda203b602d798792fa0927bb7 Mon Sep 17 00:00:00 2001 From: Chongyi Zheng Date: Sat, 31 Dec 2022 06:46:14 -0500 Subject: [PATCH] Add `sync_on_commit` option for push mirrors api (#22271) (#22292) Backport of #22271 --- modules/structs/mirror.go | 2 ++ routers/api/v1/repo/mirror.go | 9 +++++---- 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 8e8a8a270..cb6d56705 100644 --- a/modules/structs/mirror.go +++ b/modules/structs/mirror.go @@ -10,6 +10,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 @@ -22,4 +23,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 91e5e0c03..56bcd07cb 100644 --- a/routers/api/v1/repo/mirror.go +++ b/routers/api/v1/repo/mirror.go @@ -346,10 +346,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 34dbad6dc..5df9f2bd2 100644 --- a/templates/swagger/v1_json.tmpl +++ b/templates/swagger/v1_json.tmpl @@ -14831,6 +14831,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" @@ -18011,6 +18015,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"