summaryrefslogtreecommitdiffstats
path: root/store/sql_job_store.go
diff options
context:
space:
mode:
authorGeorge Goldberg <george@gberg.me>2017-07-20 16:25:35 +0100
committerChristopher Speller <crspeller@gmail.com>2017-07-20 08:25:35 -0700
commit6c6f2a1138447777bbf46cc2c40e1b3c47204466 (patch)
treec2630ad79a7bc12d6c0c0233098e29d6811cb99b /store/sql_job_store.go
parent5ae701d133f713363e52b9cc6aa01579c81ebab4 (diff)
downloadchat-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.go38
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