From 0ee7cbf725f45650136be45f8e0f74d395f73b5c Mon Sep 17 00:00:00 2001 From: Daniel Kilimnik Date: Sat, 23 Sep 2023 14:15:05 +0200 Subject: [PATCH] Fix push mirror, wrong timestamp format (#27153) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I noticed, that the push mirrors endpoint, is the only endpoint which returns the times in long format rather than as time.Time(). I think the behavior should be consistent across the project. ---- ## ⚠️ BREAKING ⚠️ This PR changes the time format used in API responses for all push_mirror endpoints which return a push mirror. --------- Co-authored-by: Giteabot --- modules/structs/mirror.go | 20 ++++++++++++-------- services/convert/mirror.go | 4 ++-- templates/swagger/v1_json.tmpl | 2 ++ 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/modules/structs/mirror.go b/modules/structs/mirror.go index 55cd133a4f..8259583cde 100644 --- a/modules/structs/mirror.go +++ b/modules/structs/mirror.go @@ -3,6 +3,8 @@ package structs +import "time" + // CreatePushMirrorOption represents need information to create a push mirror of a repository. type CreatePushMirrorOption struct { RemoteAddress string `json:"remote_address"` @@ -15,12 +17,14 @@ type CreatePushMirrorOption struct { // PushMirror represents information of a push mirror // swagger:model type PushMirror struct { - RepoName string `json:"repo_name"` - RemoteName string `json:"remote_name"` - RemoteAddress string `json:"remote_address"` - CreatedUnix string `json:"created"` - LastUpdateUnix string `json:"last_update"` - LastError string `json:"last_error"` - Interval string `json:"interval"` - SyncOnCommit bool `json:"sync_on_commit"` + RepoName string `json:"repo_name"` + RemoteName string `json:"remote_name"` + RemoteAddress string `json:"remote_address"` + // swagger:strfmt date-time + CreatedUnix time.Time `json:"created"` + // swagger:strfmt date-time + LastUpdateUnix *time.Time `json:"last_update"` + LastError string `json:"last_error"` + Interval string `json:"interval"` + SyncOnCommit bool `json:"sync_on_commit"` } diff --git a/services/convert/mirror.go b/services/convert/mirror.go index 5051104526..dade6142a2 100644 --- a/services/convert/mirror.go +++ b/services/convert/mirror.go @@ -15,8 +15,8 @@ func ToPushMirror(pm *repo_model.PushMirror) (*api.PushMirror, error) { RepoName: repo.Name, RemoteName: pm.RemoteName, RemoteAddress: pm.RemoteAddress, - CreatedUnix: pm.CreatedUnix.FormatLong(), - LastUpdateUnix: pm.LastUpdateUnix.FormatLong(), + CreatedUnix: pm.CreatedUnix.AsTime(), + LastUpdateUnix: pm.LastUpdateUnix.AsTimePtr(), LastError: pm.LastError, Interval: pm.Interval.String(), SyncOnCommit: pm.SyncOnCommit, diff --git a/templates/swagger/v1_json.tmpl b/templates/swagger/v1_json.tmpl index 4b43200bc6..a9a69bc82a 100644 --- a/templates/swagger/v1_json.tmpl +++ b/templates/swagger/v1_json.tmpl @@ -21646,6 +21646,7 @@ "properties": { "created": { "type": "string", + "format": "date-time", "x-go-name": "CreatedUnix" }, "interval": { @@ -21658,6 +21659,7 @@ }, "last_update": { "type": "string", + "format": "date-time", "x-go-name": "LastUpdateUnix" }, "remote_address": {