diff options
author | George Goldberg <george@gberg.me> | 2017-07-20 16:25:35 +0100 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2017-07-20 08:25:35 -0700 |
commit | 6c6f2a1138447777bbf46cc2c40e1b3c47204466 (patch) | |
tree | c2630ad79a7bc12d6c0c0233098e29d6811cb99b /store/sql_job_store.go | |
parent | 5ae701d133f713363e52b9cc6aa01579c81ebab4 (diff) | |
download | chat-6c6f2a1138447777bbf46cc2c40e1b3c47204466.tar.gz chat-6c6f2a1138447777bbf46cc2c40e1b3c47204466.tar.bz2 chat-6c6f2a1138447777bbf46cc2c40e1b3c47204466.zip |
PLT-6595-Server: Job Management APIs. (#6931)
* PLT-6595-Server: Job Management APIs.
* MANAGE_JOBS Permission
* Fix test.
Diffstat (limited to 'store/sql_job_store.go')
-rw-r--r-- | store/sql_job_store.go | 38 |
1 files changed, 36 insertions, 2 deletions
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 |