From 6c6f2a1138447777bbf46cc2c40e1b3c47204466 Mon Sep 17 00:00:00 2001 From: George Goldberg Date: Thu, 20 Jul 2017 16:25:35 +0100 Subject: PLT-6595-Server: Job Management APIs. (#6931) * PLT-6595-Server: Job Management APIs. * MANAGE_JOBS Permission * Fix test. --- store/sql_job_store.go | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) (limited to 'store/sql_job_store.go') diff --git a/store/sql_job_store.go b/store/sql_job_store.go index c00e37d86..e287edad6 100644 --- a/store/sql_job_store.go +++ b/store/sql_job_store.go @@ -210,6 +210,38 @@ func (jss SqlJobStore) Get(id string) StoreChannel { return storeChannel } +func (jss SqlJobStore) GetAllPage(offset int, limit int) StoreChannel { + storeChannel := make(StoreChannel, 1) + + go func() { + result := StoreResult{} + + var statuses []*model.Job + + if _, err := jss.GetReplica().Select(&statuses, + `SELECT + * + FROM + Jobs + ORDER BY + CreateAt DESC + LIMIT + :Limit + OFFSET + :Offset`, map[string]interface{}{"Limit": limit, "Offset": offset}); err != nil { + result.Err = model.NewLocAppError("SqlJobStore.GetAllPage", + "store.sql_job.get_all.app_error", nil, err.Error()) + } else { + result.Data = statuses + } + + storeChannel <- result + close(storeChannel) + }() + + return storeChannel +} + func (jss SqlJobStore) GetAllByType(jobType string) StoreChannel { storeChannel := make(StoreChannel, 1) @@ -224,7 +256,9 @@ func (jss SqlJobStore) GetAllByType(jobType string) StoreChannel { FROM Jobs WHERE - Type = :Type`, map[string]interface{}{"Type": jobType}); err != nil { + Type = :Type + ORDER BY + CreateAt DESC`, map[string]interface{}{"Type": jobType}); err != nil { result.Err = model.NewLocAppError("SqlJobStore.GetAllByType", "store.sql_job.get_all.app_error", nil, "Type="+jobType+", "+err.Error()) } else { @@ -254,7 +288,7 @@ func (jss SqlJobStore) GetAllByTypePage(jobType string, offset int, limit int) S WHERE Type = :Type ORDER BY - StartAt ASC + CreateAt DESC LIMIT :Limit OFFSET -- cgit v1.2.3-1-g7c22