diff options
author | Chris <ccbrown112@gmail.com> | 2017-09-25 09:11:25 -0500 |
---|---|---|
committer | Joram Wilander <jwawilander@gmail.com> | 2017-09-25 10:11:25 -0400 |
commit | 49fe5fbf3db56fc466b8997b182ee135d7a4365d (patch) | |
tree | 1252fea09aa3ce899e2e8edb1fb7b42900f50bca /store/sql_command_store.go | |
parent | b2c5b97601b61f5748b46e4e386134203111ebb0 (diff) | |
download | chat-49fe5fbf3db56fc466b8997b182ee135d7a4365d.tar.gz chat-49fe5fbf3db56fc466b8997b182ee135d7a4365d.tar.bz2 chat-49fe5fbf3db56fc466b8997b182ee135d7a4365d.zip |
Move sql store code into store/sqlstore package (#7502)
* move sql store code into store/sqlstore package
* move non-sql constants back up to store
* fix api test
* derp
Diffstat (limited to 'store/sql_command_store.go')
-rw-r--r-- | store/sql_command_store.go | 225 |
1 files changed, 0 insertions, 225 deletions
diff --git a/store/sql_command_store.go b/store/sql_command_store.go deleted file mode 100644 index 443e3ba63..000000000 --- a/store/sql_command_store.go +++ /dev/null @@ -1,225 +0,0 @@ -// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -package store - -import ( - "net/http" - - "github.com/mattermost/mattermost-server/model" -) - -type SqlCommandStore struct { - SqlStore -} - -func NewSqlCommandStore(sqlStore SqlStore) CommandStore { - s := &SqlCommandStore{sqlStore} - - for _, db := range sqlStore.GetAllConns() { - tableo := db.AddTableWithName(model.Command{}, "Commands").SetKeys(false, "Id") - tableo.ColMap("Id").SetMaxSize(26) - tableo.ColMap("Token").SetMaxSize(26) - tableo.ColMap("CreatorId").SetMaxSize(26) - tableo.ColMap("TeamId").SetMaxSize(26) - tableo.ColMap("Trigger").SetMaxSize(128) - tableo.ColMap("URL").SetMaxSize(1024) - tableo.ColMap("Method").SetMaxSize(1) - tableo.ColMap("Username").SetMaxSize(64) - tableo.ColMap("IconURL").SetMaxSize(1024) - tableo.ColMap("AutoCompleteDesc").SetMaxSize(1024) - tableo.ColMap("AutoCompleteHint").SetMaxSize(1024) - tableo.ColMap("DisplayName").SetMaxSize(64) - tableo.ColMap("Description").SetMaxSize(128) - } - - return s -} - -func (s SqlCommandStore) CreateIndexesIfNotExists() { - s.CreateIndexIfNotExists("idx_command_team_id", "Commands", "TeamId") - s.CreateIndexIfNotExists("idx_command_update_at", "Commands", "UpdateAt") - s.CreateIndexIfNotExists("idx_command_create_at", "Commands", "CreateAt") - s.CreateIndexIfNotExists("idx_command_delete_at", "Commands", "DeleteAt") -} - -func (s SqlCommandStore) Save(command *model.Command) StoreChannel { - storeChannel := make(StoreChannel, 1) - - go func() { - result := StoreResult{} - - if len(command.Id) > 0 { - result.Err = model.NewAppError("SqlCommandStore.Save", "store.sql_command.save.saving_overwrite.app_error", nil, "id="+command.Id, http.StatusBadRequest) - storeChannel <- result - close(storeChannel) - return - } - - command.PreSave() - if result.Err = command.IsValid(); result.Err != nil { - storeChannel <- result - close(storeChannel) - return - } - - if err := s.GetMaster().Insert(command); err != nil { - result.Err = model.NewAppError("SqlCommandStore.Save", "store.sql_command.save.saving.app_error", nil, "id="+command.Id+", "+err.Error(), http.StatusInternalServerError) - } else { - result.Data = command - } - - storeChannel <- result - close(storeChannel) - }() - - return storeChannel -} - -func (s SqlCommandStore) Get(id string) StoreChannel { - storeChannel := make(StoreChannel, 1) - - go func() { - result := StoreResult{} - - var command model.Command - - if err := s.GetReplica().SelectOne(&command, "SELECT * FROM Commands WHERE Id = :Id AND DeleteAt = 0", map[string]interface{}{"Id": id}); err != nil { - result.Err = model.NewAppError("SqlCommandStore.Get", "store.sql_command.save.get.app_error", nil, "id="+id+", err="+err.Error(), http.StatusInternalServerError) - } - - result.Data = &command - - storeChannel <- result - close(storeChannel) - }() - - return storeChannel -} - -func (s SqlCommandStore) GetByTeam(teamId string) StoreChannel { - storeChannel := make(StoreChannel, 1) - - go func() { - result := StoreResult{} - - var commands []*model.Command - - if _, err := s.GetReplica().Select(&commands, "SELECT * FROM Commands WHERE TeamId = :TeamId AND DeleteAt = 0", map[string]interface{}{"TeamId": teamId}); err != nil { - result.Err = model.NewAppError("SqlCommandStore.GetByTeam", "store.sql_command.save.get_team.app_error", nil, "teamId="+teamId+", err="+err.Error(), http.StatusInternalServerError) - } - - result.Data = commands - - storeChannel <- result - close(storeChannel) - }() - - return storeChannel -} - -func (s SqlCommandStore) Delete(commandId string, time int64) StoreChannel { - storeChannel := make(StoreChannel, 1) - - go func() { - result := StoreResult{} - - _, err := s.GetMaster().Exec("Update Commands SET DeleteAt = :DeleteAt, UpdateAt = :UpdateAt WHERE Id = :Id", map[string]interface{}{"DeleteAt": time, "UpdateAt": time, "Id": commandId}) - if err != nil { - result.Err = model.NewAppError("SqlCommandStore.Delete", "store.sql_command.save.delete.app_error", nil, "id="+commandId+", err="+err.Error(), http.StatusInternalServerError) - } - - storeChannel <- result - close(storeChannel) - }() - - return storeChannel -} - -func (s SqlCommandStore) PermanentDeleteByTeam(teamId string) StoreChannel { - storeChannel := make(StoreChannel, 1) - - go func() { - result := StoreResult{} - - _, err := s.GetMaster().Exec("DELETE FROM Commands WHERE TeamId = :TeamId", map[string]interface{}{"TeamId": teamId}) - if err != nil { - result.Err = model.NewAppError("SqlCommandStore.DeleteByTeam", "store.sql_command.save.delete_perm.app_error", nil, "id="+teamId+", err="+err.Error(), http.StatusInternalServerError) - } - - storeChannel <- result - close(storeChannel) - }() - - return storeChannel -} - -func (s SqlCommandStore) PermanentDeleteByUser(userId string) StoreChannel { - storeChannel := make(StoreChannel, 1) - - go func() { - result := StoreResult{} - - _, err := s.GetMaster().Exec("DELETE FROM Commands WHERE CreatorId = :UserId", map[string]interface{}{"UserId": userId}) - if err != nil { - result.Err = model.NewAppError("SqlCommandStore.DeleteByUser", "store.sql_command.save.delete_perm.app_error", nil, "id="+userId+", err="+err.Error(), http.StatusInternalServerError) - } - - storeChannel <- result - close(storeChannel) - }() - - return storeChannel -} - -func (s SqlCommandStore) Update(cmd *model.Command) StoreChannel { - storeChannel := make(StoreChannel, 1) - - go func() { - result := StoreResult{} - - cmd.UpdateAt = model.GetMillis() - - if _, err := s.GetMaster().Update(cmd); err != nil { - result.Err = model.NewAppError("SqlCommandStore.Update", "store.sql_command.save.update.app_error", nil, "id="+cmd.Id+", "+err.Error(), http.StatusInternalServerError) - } else { - result.Data = cmd - } - - storeChannel <- result - close(storeChannel) - }() - - return storeChannel -} - -func (s SqlCommandStore) AnalyticsCommandCount(teamId string) StoreChannel { - storeChannel := make(StoreChannel, 1) - - go func() { - result := StoreResult{} - - query := - `SELECT - COUNT(*) - FROM - Commands - WHERE - DeleteAt = 0` - - if len(teamId) > 0 { - query += " AND TeamId = :TeamId" - } - - if c, err := s.GetReplica().SelectInt(query, map[string]interface{}{"TeamId": teamId}); err != nil { - result.Err = model.NewAppError("SqlCommandStore.AnalyticsCommandCount", "store.sql_command.analytics_command_count.app_error", nil, err.Error(), http.StatusInternalServerError) - } else { - result.Data = c - } - - storeChannel <- result - close(storeChannel) - }() - - return storeChannel -} |