summaryrefslogtreecommitdiffstats
path: root/store/sqlstore/audit_store.go
diff options
context:
space:
mode:
authorChris <ccbrown112@gmail.com>2017-10-06 08:12:10 -0700
committerJoram Wilander <jwawilander@gmail.com>2017-10-06 11:12:10 -0400
commit363568b4eb3209adb1b88ceb0d8e455e6d4a1073 (patch)
tree419fb74d8e1a2e91f9f77aa5b873c005bcfbff48 /store/sqlstore/audit_store.go
parent12501673d0c70120eebeac633e5072b2e7a2174d (diff)
downloadchat-363568b4eb3209adb1b88ceb0d8e455e6d4a1073.tar.gz
chat-363568b4eb3209adb1b88ceb0d8e455e6d4a1073.tar.bz2
chat-363568b4eb3209adb1b88ceb0d8e455e6d4a1073.zip
reduce store boiler plate (#7585)
Diffstat (limited to 'store/sqlstore/audit_store.go')
-rw-r--r--store/sqlstore/audit_store.go57
1 files changed, 8 insertions, 49 deletions
diff --git a/store/sqlstore/audit_store.go b/store/sqlstore/audit_store.go
index 4910db79b..3cc0758cc 100644
--- a/store/sqlstore/audit_store.go
+++ b/store/sqlstore/audit_store.go
@@ -36,38 +36,21 @@ func (s SqlAuditStore) CreateIndexesIfNotExists() {
}
func (s SqlAuditStore) Save(audit *model.Audit) store.StoreChannel {
-
- storeChannel := make(store.StoreChannel, 1)
-
- go func() {
- result := store.StoreResult{}
-
+ return store.Do(func(result *store.StoreResult) {
audit.Id = model.NewId()
audit.CreateAt = model.GetMillis()
if err := s.GetMaster().Insert(audit); err != nil {
result.Err = model.NewAppError("SqlAuditStore.Save", "store.sql_audit.save.saving.app_error", nil, "user_id="+audit.UserId+" action="+audit.Action, http.StatusInternalServerError)
}
-
- storeChannel <- result
- close(storeChannel)
- }()
-
- return storeChannel
+ })
}
func (s SqlAuditStore) Get(user_id string, offset int, limit int) store.StoreChannel {
-
- storeChannel := make(store.StoreChannel, 1)
-
- go func() {
- result := store.StoreResult{}
-
+ return store.Do(func(result *store.StoreResult) {
if limit > 1000 {
limit = 1000
result.Err = model.NewAppError("SqlAuditStore.Get", "store.sql_audit.get.limit.app_error", nil, "user_id="+user_id, http.StatusBadRequest)
- storeChannel <- result
- close(storeChannel)
return
}
@@ -85,39 +68,20 @@ func (s SqlAuditStore) Get(user_id string, offset int, limit int) store.StoreCha
} else {
result.Data = audits
}
-
- storeChannel <- result
- close(storeChannel)
- }()
-
- return storeChannel
+ })
}
func (s SqlAuditStore) PermanentDeleteByUser(userId string) store.StoreChannel {
-
- storeChannel := make(store.StoreChannel, 1)
-
- go func() {
- result := store.StoreResult{}
-
+ return store.Do(func(result *store.StoreResult) {
if _, err := s.GetMaster().Exec("DELETE FROM Audits WHERE UserId = :userId",
map[string]interface{}{"userId": userId}); err != nil {
result.Err = model.NewAppError("SqlAuditStore.Delete", "store.sql_audit.permanent_delete_by_user.app_error", nil, "user_id="+userId, http.StatusInternalServerError)
}
-
- storeChannel <- result
- close(storeChannel)
- }()
-
- return storeChannel
+ })
}
func (s SqlAuditStore) PermanentDeleteBatch(endTime int64, limit int64) store.StoreChannel {
- storeChannel := make(store.StoreChannel, 1)
-
- go func() {
- result := store.StoreResult{}
-
+ return store.Do(func(result *store.StoreResult) {
var query string
if *utils.Cfg.SqlSettings.DriverName == "postgres" {
query = "DELETE from Audits WHERE Id = any (array (SELECT Id FROM Audits WHERE CreateAt < :EndTime LIMIT :Limit))"
@@ -137,10 +101,5 @@ func (s SqlAuditStore) PermanentDeleteBatch(endTime int64, limit int64) store.St
result.Data = rowsAffected
}
}
-
- storeChannel <- result
- close(storeChannel)
- }()
-
- return storeChannel
+ })
}