Skip to content

Commit

Permalink
Move the WebMirrorStatus to internal package. Fix the list command of…
Browse files Browse the repository at this point in the history
… tunasynctl
  • Loading branch information
z4yx committed May 29, 2018
1 parent a475b04 commit 4fe7d03
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 19 deletions.
7 changes: 3 additions & 4 deletions cmd/tunasynctl/tunasynctl.go
Original file line number Diff line number Diff line change
Expand Up @@ -140,8 +140,7 @@ func listWorkers(c *cli.Context) error {
}

func listJobs(c *cli.Context) error {
// FIXME: there should be an API on manager server side that return MirrorStatus list to tunasynctl
var jobs []tunasync.MirrorStatus
var jobs []tunasync.WebMirrorStatus
if c.Bool("all") {
_, err := tunasync.GetJSON(baseURL+listJobsPath, &jobs, client)
if err != nil {
Expand All @@ -158,10 +157,10 @@ func listJobs(c *cli.Context) error {
fmt.Sprintf("Usage Error: jobs command need at"+
" least one arguments or \"--all\" flag."), 1)
}
ans := make(chan []tunasync.MirrorStatus, len(args))
ans := make(chan []tunasync.WebMirrorStatus, len(args))
for _, workerID := range args {
go func(workerID string) {
var workerJobs []tunasync.MirrorStatus
var workerJobs []tunasync.WebMirrorStatus
_, err := tunasync.GetJSON(fmt.Sprintf("%s/workers/%s/jobs",
baseURL, workerID), &workerJobs, client)
if err != nil {
Expand Down
12 changes: 5 additions & 7 deletions manager/status.go → internal/status_web.go
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
package manager
package internal

import (
"encoding/json"
"strconv"
"time"

. "github.com/tuna/tunasync/internal"
)

type textTime struct {
Expand Down Expand Up @@ -38,8 +36,8 @@ func (t *stampTime) UnmarshalJSON(b []byte) error {
return err
}

// webMirrorStatus is the mirror status to be shown in the web page
type webMirrorStatus struct {
// WebMirrorStatus is the mirror status to be shown in the web page
type WebMirrorStatus struct {
Name string `json:"name"`
IsMaster bool `json:"is_master"`
Status SyncStatus `json:"status"`
Expand All @@ -49,8 +47,8 @@ type webMirrorStatus struct {
Size string `json:"size"` // approximate size
}

func convertMirrorStatus(m MirrorStatus) webMirrorStatus {
return webMirrorStatus{
func BuildWebMirrorStatus(m MirrorStatus) WebMirrorStatus {
return WebMirrorStatus{
Name: m.Name,
IsMaster: m.IsMaster,
Status: m.Status,
Expand Down
10 changes: 4 additions & 6 deletions manager/status_test.go → internal/status_web_test.go
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
package manager
package internal

import (
"encoding/json"
"testing"
"time"

tunasync "github.com/tuna/tunasync/internal"

. "github.com/smartystreets/goconvey/convey"
)

Expand All @@ -16,9 +14,9 @@ func TestStatus(t *testing.T) {
loc, err := time.LoadLocation(tz)
So(err, ShouldBeNil)
t := time.Date(2016, time.April, 16, 23, 8, 10, 0, loc)
m := webMirrorStatus{
m := WebMirrorStatus{
Name: "tunalinux",
Status: tunasync.Success,
Status: Success,
LastUpdate: textTime{t},
LastUpdateTs: stampTime{t},
Size: "5GB",
Expand All @@ -28,7 +26,7 @@ func TestStatus(t *testing.T) {
b, err := json.Marshal(m)
So(err, ShouldBeNil)
//fmt.Println(string(b))
var m2 webMirrorStatus
var m2 WebMirrorStatus
err = json.Unmarshal(b, &m2)
So(err, ShouldBeNil)
// fmt.Printf("%#v", m2)
Expand Down
4 changes: 2 additions & 2 deletions manager/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -135,11 +135,11 @@ func (s *Manager) listAllJobs(c *gin.Context) {
s.returnErrJSON(c, http.StatusInternalServerError, err)
return
}
webMirStatusList := []webMirrorStatus{}
webMirStatusList := []WebMirrorStatus{}
for _, m := range mirrorStatusList {
webMirStatusList = append(
webMirStatusList,
convertMirrorStatus(m),
BuildWebMirrorStatus(m),
)
}
c.JSON(http.StatusOK, webMirStatusList)
Expand Down

0 comments on commit 4fe7d03

Please sign in to comment.