Skip to content

Commit

Permalink
fix: Improve pagination
Browse files Browse the repository at this point in the history
Merge pull request #96 from qri-io/improve_pagination
  • Loading branch information
osterbit authored Nov 7, 2017
2 parents 2eadc89 + b0a335e commit 4d5647b
Show file tree
Hide file tree
Showing 8 changed files with 139 additions and 379 deletions.
21 changes: 8 additions & 13 deletions api/handlers/datasets.go
Original file line number Diff line number Diff line change
Expand Up @@ -102,20 +102,15 @@ func (h *DatasetHandlers) ZipDatasetHandler(w http.ResponseWriter, r *http.Reque
}

func (h *DatasetHandlers) listDatasetsHandler(w http.ResponseWriter, r *http.Request) {
p := util.PageFromRequest(r)
args := core.ListParamsFromRequest(r)
args.OrderBy = "created"
res := []*repo.DatasetRef{}
args := &core.ListParams{
Limit: p.Limit(),
Offset: p.Offset(),
OrderBy: "created",
}
if err := h.List(args, &res); err != nil {
if err := h.List(&args, &res); err != nil {
h.log.Infof("error listing datasets: %s", err.Error())
util.WriteErrResponse(w, http.StatusInternalServerError, err)
return
}

if err := util.WritePageResponse(w, res, r, p); err != nil {
if err := util.WritePageResponse(w, res, r, args.Page()); err != nil {
h.log.Infof("error list datasests response: %s", err.Error())
}
}
Expand Down Expand Up @@ -225,8 +220,8 @@ func (h *DatasetHandlers) deleteDatasetHandler(w http.ResponseWriter, r *http.Re
}

func (h *DatasetHandlers) getStructuredDataHandler(w http.ResponseWriter, r *http.Request) {
page := util.PageFromRequest(r)

listParams := core.ListParamsFromRequest(r)
page := listParams.Page()
all, err := util.ReqParamBool("all", r)
if err != nil {
all = false
Expand All @@ -241,8 +236,8 @@ func (h *DatasetHandlers) getStructuredDataHandler(w http.ResponseWriter, r *htt
Format: dataset.JsonDataFormat,
Path: datastore.NewKey(r.URL.Path[len("/data"):]),
Objects: objectRows,
Limit: page.Limit(),
Offset: page.Offset(),
Limit: listParams.Limit,
Offset: listParams.Offset,
All: all,
}
data := &core.StructuredData{}
Expand Down
24 changes: 11 additions & 13 deletions api/handlers/peers.go
Original file line number Diff line number Diff line change
Expand Up @@ -81,25 +81,23 @@ func (d *PeerHandlers) ConnectionsHandler(w http.ResponseWriter, r *http.Request
}

func (h *PeerHandlers) listPeersHandler(w http.ResponseWriter, r *http.Request) {
p := util.PageFromRequest(r)
args := core.ListParamsFromRequest(r)
args.OrderBy = "created"
res := []*profile.Profile{}
args := &core.ListParams{
Limit: p.Limit(),
Offset: p.Offset(),
OrderBy: "created",
}
if err := h.List(args, &res); err != nil {
if err := h.List(&args, &res); err != nil {
h.log.Infof("list peers: %s", err.Error())
util.WriteErrResponse(w, http.StatusInternalServerError, err)
return
}
util.WritePageResponse(w, res, r, p)
util.WritePageResponse(w, res, r, args.Page())
}

func (h *PeerHandlers) listConnectionsHandler(w http.ResponseWriter, r *http.Request) {
limit := 0
//limit := 0
// TODO: double check with @b5 on this change
listParams := core.ListParamsFromRequest(r)
peers := []string{}
if err := h.ConnectedPeers(&limit, &peers); err != nil {
if err := h.ConnectedPeers(&listParams.Limit, &peers); err != nil {
h.log.Infof("error showing connected peers: %s", err.Error())
util.WriteErrResponse(w, http.StatusInternalServerError, err)
return
Expand Down Expand Up @@ -142,11 +140,11 @@ func (h *PeerHandlers) getPeerHandler(w http.ResponseWriter, r *http.Request) {
}

func (h *PeerHandlers) peerNamespaceHandler(w http.ResponseWriter, r *http.Request) {
page := util.PageFromRequest(r)
listParams := core.ListParamsFromRequest(r)
args := &core.NamespaceParams{
PeerId: r.URL.Path[len("/peernamespace/"):],
Limit: page.Limit(),
Offset: page.Offset(),
Limit: listParams.Limit,
Offset: listParams.Offset,
}
res := []*repo.DatasetRef{}
if err := h.GetNamespace(args, &res); err != nil {
Expand Down
12 changes: 4 additions & 8 deletions api/handlers/queries.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,20 +60,16 @@ func (d *QueryHandlers) ListHandler(w http.ResponseWriter, r *http.Request) {
// }

func (h *QueryHandlers) listQueriesHandler(w http.ResponseWriter, r *http.Request) {
p := util.PageFromRequest(r)
args := core.ListParamsFromRequest(r)
args.OrderBy = "created"
res := []*repo.DatasetRef{}
args := &core.ListParams{
Limit: p.Limit(),
Offset: p.Offset(),
OrderBy: "created",
}
err := h.List(args, &res)
err := h.List(&args, &res)
if err != nil {
h.log.Infof("error listing datasets: %s", err.Error())
util.WriteErrResponse(w, http.StatusInternalServerError, err)
return
}
util.WritePageResponse(w, res, r, p)
util.WritePageResponse(w, res, r, args.Page())
}

func (h *QueryHandlers) RunHandler(w http.ResponseWriter, r *http.Request) {
Expand Down
171 changes: 0 additions & 171 deletions core/c.out

This file was deleted.

Loading

0 comments on commit 4d5647b

Please sign in to comment.