[MM-58163] Jobs paging/offset refactor (#30343)

Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
Этот коммит содержится в:
Arya Khochare
2025-05-19 16:01:25 +05:30
коммит произвёл GitHub
родитель 04ec01d312
Коммит f54d5b41c1
4 изменённых файлов: 19 добавлений и 25 удалений

Просмотреть файл

@@ -28,24 +28,15 @@ func (a *App) GetJob(c request.CTX, id string) (*model.Job, *model.AppError) {
}
func (a *App) GetJobsByTypePage(c request.CTX, jobType string, page int, perPage int) ([]*model.Job, *model.AppError) {
return a.GetJobsByType(c, jobType, page*perPage, perPage)
}
func (a *App) GetJobsByType(c request.CTX, jobType string, offset int, limit int) ([]*model.Job, *model.AppError) {
jobs, err := a.Srv().Store().Job().GetAllByTypePage(c, jobType, offset, limit)
jobs, err := a.Srv().Store().Job().GetAllByTypePage(c, jobType, page, perPage)
if err != nil {
return nil, model.NewAppError("GetJobsByType", "app.job.get_all.app_error", nil, "", http.StatusInternalServerError).Wrap(err)
}
return jobs, nil
}
func (a *App) GetJobsByTypesPage(c request.CTX, jobType []string, page int, perPage int) ([]*model.Job, *model.AppError) {
return a.GetJobsByTypes(c, jobType, page*perPage, perPage)
}
func (a *App) GetJobsByTypes(c request.CTX, jobTypes []string, offset int, limit int) ([]*model.Job, *model.AppError) {
jobs, err := a.Srv().Store().Job().GetAllByTypesPage(c, jobTypes, offset, limit)
jobs, err := a.Srv().Store().Job().GetAllByTypesPage(c, jobType, page, perPage)
if err != nil {
return nil, model.NewAppError("GetJobsByType", "app.job.get_all.app_error", nil, "", http.StatusInternalServerError).Wrap(err)
}
@@ -53,7 +44,7 @@ func (a *App) GetJobsByTypes(c request.CTX, jobTypes []string, offset int, limit
}
func (a *App) GetJobsByTypeAndStatus(c request.CTX, jobTypes []string, status string, page int, perPage int) ([]*model.Job, *model.AppError) {
jobs, err := a.Srv().Store().Job().GetAllByTypeAndStatusPage(c, jobTypes, status, page*perPage, perPage)
jobs, err := a.Srv().Store().Job().GetAllByTypeAndStatusPage(c, jobTypes, status, page, perPage)
if err != nil {
return nil, model.NewAppError("GetAllByTypeAndStatusPage", "app.job.get_all.app_error", nil, "", http.StatusInternalServerError).Wrap(err)
}

Просмотреть файл

@@ -249,13 +249,13 @@ func TestGetJobByType(t *testing.T) {
}()
}
received, err := th.App.GetJobsByType(th.Context, jobType, 0, 2)
received, err := th.App.GetJobsByTypePage(th.Context, jobType, 0, 2)
require.Nil(t, err)
require.Len(t, received, 2, "received wrong number of statuses")
require.Equal(t, statuses[2], received[0], "should've received newest job first")
require.Equal(t, statuses[0], received[1], "should've received second newest job second")
received, err = th.App.GetJobsByType(th.Context, jobType, 2, 2)
received, err = th.App.GetJobsByTypePage(th.Context, jobType, 1, 2)
require.Nil(t, err)
require.Len(t, received, 1, "received wrong number of statuses")
require.Equal(t, statuses[1], received[0], "should've received oldest job last")
@@ -297,19 +297,19 @@ func TestGetJobsByTypes(t *testing.T) {
}
jobTypes := []string{jobType, jobType1, jobType2}
received, err := th.App.GetJobsByTypes(th.Context, jobTypes, 0, 2)
received, err := th.App.GetJobsByTypesPage(th.Context, jobTypes, 0, 2)
require.Nil(t, err)
require.Len(t, received, 2, "received wrong number of jobs")
require.Equal(t, statuses[2], received[0], "should've received newest job first")
require.Equal(t, statuses[0], received[1], "should've received second newest job second")
received, err = th.App.GetJobsByTypes(th.Context, jobTypes, 2, 2)
received, err = th.App.GetJobsByTypesPage(th.Context, jobTypes, 1, 2)
require.Nil(t, err)
require.Len(t, received, 1, "received wrong number of jobs")
require.Equal(t, statuses[1], received[0], "should've received oldest job last")
jobTypes = []string{jobType1, jobType2}
received, err = th.App.GetJobsByTypes(th.Context, jobTypes, 0, 3)
received, err = th.App.GetJobsByTypesPage(th.Context, jobTypes, 0, 3)
require.Nil(t, err)
require.Len(t, received, 2, "received wrong number of jobs")
require.Equal(t, statuses[2], received[0], "received wrong job type")