Skip to content

Commit

Permalink
fix(core.DatasetRequests.Rename): repo.DatasetRef return
Browse files Browse the repository at this point in the history
  • Loading branch information
b5 committed Nov 29, 2017
1 parent 2cfa5f1 commit cbde8a7
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 29 deletions.
24 changes: 3 additions & 21 deletions api/handlers/datasets.go
Original file line number Diff line number Diff line change
Expand Up @@ -298,30 +298,12 @@ func (h DatasetHandlers) renameDatasetHandler(w http.ResponseWriter, r *http.Req
}
}

res := ""
if err := h.Rename(p, &res); err != nil {
res := &repo.DatasetRef{}
if err := h.Rename(p, res); err != nil {
h.log.Infof("error renaming dataset: %s", err.Error())
util.WriteErrResponse(w, http.StatusBadRequest, err)
return
}

path, err := h.repo.GetPath(res)
if err != nil {
h.log.Infof("error getting renamed dataset: %s", err.Error())
util.WriteErrResponse(w, http.StatusInternalServerError, err)
return
}

ds, err := h.repo.GetDataset(path)
if err != nil {
h.log.Infof("error reading dataset: %s", err.Error())
util.WriteErrResponse(w, http.StatusInternalServerError, err)
return
}

util.WriteResponse(w, &repo.DatasetRef{
Name: res,
Path: path,
Dataset: ds,
})
util.WriteResponse(w, res)
}
7 changes: 4 additions & 3 deletions cmd/rename.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import (
"fmt"

"github.com/qri-io/qri/core"
"github.com/qri-io/qri/repo"
"github.com/spf13/cobra"
)

Expand All @@ -22,11 +23,11 @@ var datasetRenameCmd = &cobra.Command{
Current: args[0],
New: args[1],
}
newName := ""
err := req.Rename(p, &newName)
res := &repo.DatasetRef{}
err := req.Rename(p, res)
ExitIfErr(err)

PrintSuccess("renamed dataset %s", newName)
PrintSuccess("renamed dataset %s", res.Name)
},
}

Expand Down
13 changes: 11 additions & 2 deletions core/datasets.go
Original file line number Diff line number Diff line change
Expand Up @@ -324,7 +324,7 @@ type RenameParams struct {
Current, New string
}

func (r *DatasetRequests) Rename(p *RenameParams, res *string) (err error) {
func (r *DatasetRequests) Rename(p *RenameParams, res *repo.DatasetRef) (err error) {
if p.Current == "" {
return fmt.Errorf("current name is required to rename a dataset")
}
Expand All @@ -344,7 +344,16 @@ func (r *DatasetRequests) Rename(p *RenameParams, res *string) (err error) {
return err
}

*res = p.New
ds, err := dsfs.LoadDataset(r.repo.Store(), path)
if err != nil {
return err
}

*res = repo.DatasetRef{
Name: p.New,
Path: path,
Dataset: ds,
}
return nil
}

Expand Down
6 changes: 3 additions & 3 deletions core/datasets_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -228,15 +228,15 @@ func TestDatasetRequestsRename(t *testing.T) {

req := NewDatasetRequests(mr)
for i, c := range cases {
got := ""
err := req.Rename(c.p, &got)
got := &repo.DatasetRef{}
err := req.Rename(c.p, got)

if !(err == nil && c.err == "" || err != nil && err.Error() == c.err) {
t.Errorf("case %d error mismatch: expected: %s, got: %s", i, c.err, err)
continue
}

if got != c.res {
if got.Name != c.res {
t.Errorf("case %d response name mismatch. expected: '%s', got: '%s'", i, c.err, err)
continue
}
Expand Down

0 comments on commit cbde8a7

Please sign in to comment.