add page param for getting build list with offset

This commit is contained in:
Jordan Brockopp 2018-02-02 13:03:40 -06:00
parent 5722ce410a
commit af76d46b53
3 changed files with 7 additions and 7 deletions

View file

@ -45,9 +45,9 @@ func (db *datastore) GetBuildLastBefore(repo *model.Repo, branch string, num int
return build, err
}
func (db *datastore) GetBuildList(repo *model.Repo) ([]*model.Build, error) {
func (db *datastore) GetBuildList(repo *model.Repo, page int) ([]*model.Build, error) {
var builds = []*model.Build{}
var err = meddler.QueryAll(db, &builds, rebind(buildListQuery), repo.ID)
var err = meddler.QueryAll(db, &builds, rebind(buildListQuery), repo.ID, 50*(page-1))
return builds, err
}
@ -130,7 +130,7 @@ SELECT *
FROM builds
WHERE build_repo_id = ?
ORDER BY build_number DESC
LIMIT 50
LIMIT 50 OFFSET ?
`
const buildNumberQuery = `

View file

@ -247,7 +247,7 @@ func TestBuilds(t *testing.T) {
}
s.CreateBuild(build1, []*model.Proc{}...)
s.CreateBuild(build2, []*model.Proc{}...)
builds, err := s.GetBuildList(&model.Repo{ID: 1})
builds, err := s.GetBuildList(&model.Repo{ID: 1}, 1)
g.Assert(err == nil).IsTrue()
g.Assert(len(builds)).Equal(2)
g.Assert(builds[0].ID).Equal(build2.ID)

View file

@ -67,7 +67,7 @@ type Store interface {
GetBuildLastBefore(*model.Repo, string, int64) (*model.Build, error)
// GetBuildList gets a list of builds for the repository
GetBuildList(*model.Repo) ([]*model.Build, error)
GetBuildList(*model.Repo, int) ([]*model.Build, error)
// GetBuildQueue gets a list of build in queue.
GetBuildQueue() ([]*model.Feed, error)
@ -223,8 +223,8 @@ func GetBuildLastBefore(c context.Context, repo *model.Repo, branch string, numb
return FromContext(c).GetBuildLastBefore(repo, branch, number)
}
func GetBuildList(c context.Context, repo *model.Repo) ([]*model.Build, error) {
return FromContext(c).GetBuildList(repo)
func GetBuildList(c context.Context, repo *model.Repo, page int) ([]*model.Build, error) {
return FromContext(c).GetBuildList(repo, page)
}
func GetBuildQueue(c context.Context) ([]*model.Feed, error) {