diff options
author | Christopher Speller <crspeller@gmail.com> | 2017-04-27 10:55:03 -0400 |
---|---|---|
committer | Joram Wilander <jwawilander@gmail.com> | 2017-04-27 10:55:03 -0400 |
commit | 9a87bb3af68216b53ee8f89d6604c715c7b85b2d (patch) | |
tree | 8c06aed890f388b228f3aefb8e398309bc73c0b9 /store/sql_recovery_store.go | |
parent | 0e007e344bf10993529711f14c4168365c3504c3 (diff) | |
download | chat-9a87bb3af68216b53ee8f89d6604c715c7b85b2d.tar.gz chat-9a87bb3af68216b53ee8f89d6604c715c7b85b2d.tar.bz2 chat-9a87bb3af68216b53ee8f89d6604c715c7b85b2d.zip |
Creating common token store and moving email invites and verification to it (#6213)
Diffstat (limited to 'store/sql_recovery_store.go')
-rw-r--r-- | store/sql_recovery_store.go | 128 |
1 files changed, 0 insertions, 128 deletions
diff --git a/store/sql_recovery_store.go b/store/sql_recovery_store.go deleted file mode 100644 index 6c073a548..000000000 --- a/store/sql_recovery_store.go +++ /dev/null @@ -1,128 +0,0 @@ -// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -package store - -import ( - "database/sql" - "net/http" - - "github.com/mattermost/platform/model" -) - -type SqlPasswordRecoveryStore struct { - *SqlStore -} - -func NewSqlPasswordRecoveryStore(sqlStore *SqlStore) PasswordRecoveryStore { - s := &SqlPasswordRecoveryStore{sqlStore} - - for _, db := range sqlStore.GetAllConns() { - table := db.AddTableWithName(model.PasswordRecovery{}, "PasswordRecovery").SetKeys(false, "UserId") - table.ColMap("UserId").SetMaxSize(26) - table.ColMap("Code").SetMaxSize(128) - } - - return s -} - -func (s SqlPasswordRecoveryStore) CreateIndexesIfNotExists() { - s.CreateIndexIfNotExists("idx_password_recovery_code", "PasswordRecovery", "Code") -} - -func (s SqlPasswordRecoveryStore) SaveOrUpdate(recovery *model.PasswordRecovery) StoreChannel { - - storeChannel := make(StoreChannel, 1) - - go func() { - result := StoreResult{} - - recovery.PreSave() - if result.Err = recovery.IsValid(); result.Err != nil { - storeChannel <- result - close(storeChannel) - return - } - - if err := s.GetReplica().SelectOne(&model.PasswordRecovery{}, "SELECT * FROM PasswordRecovery WHERE UserId = :UserId", map[string]interface{}{"UserId": recovery.UserId}); err == nil { - if _, err := s.GetMaster().Update(recovery); err != nil { - result.Err = model.NewLocAppError("SqlPasswordRecoveryStore.SaveOrUpdate", "store.sql_recover.update.app_error", nil, "") - } - } else { - if err := s.GetMaster().Insert(recovery); err != nil { - result.Err = model.NewLocAppError("SqlPasswordRecoveryStore.SaveOrUpdate", "store.sql_recover.save.app_error", nil, "") - } - } - - storeChannel <- result - close(storeChannel) - }() - - return storeChannel -} - -func (s SqlPasswordRecoveryStore) Delete(userId string) StoreChannel { - - storeChannel := make(StoreChannel, 1) - - go func() { - result := StoreResult{} - - if _, err := s.GetMaster().Exec("DELETE FROM PasswordRecovery WHERE UserId = :UserId", map[string]interface{}{"UserId": userId}); err != nil { - result.Err = model.NewLocAppError("SqlPasswordRecoveryStore.Delete", "store.sql_recover.delete.app_error", nil, "") - } - - storeChannel <- result - close(storeChannel) - }() - - return storeChannel -} - -func (s SqlPasswordRecoveryStore) Get(userId string) StoreChannel { - - storeChannel := make(StoreChannel, 1) - - go func() { - result := StoreResult{} - - recovery := model.PasswordRecovery{} - - if err := s.GetReplica().SelectOne(&recovery, "SELECT * FROM PasswordRecovery WHERE UserId = :UserId", map[string]interface{}{"UserId": userId}); err != nil { - result.Err = model.NewLocAppError("SqlPasswordRecoveryStore.Get", "store.sql_recover.get.app_error", nil, "") - } - - result.Data = &recovery - - storeChannel <- result - close(storeChannel) - }() - - return storeChannel -} - -func (s SqlPasswordRecoveryStore) GetByCode(code string) StoreChannel { - - storeChannel := make(StoreChannel, 1) - - go func() { - result := StoreResult{} - - recovery := model.PasswordRecovery{} - - if err := s.GetReplica().SelectOne(&recovery, "SELECT * FROM PasswordRecovery WHERE Code = :Code", map[string]interface{}{"Code": code}); err != nil { - if err == sql.ErrNoRows { - result.Err = model.NewAppError("SqlPasswordRecoveryStore.GetByCode", "store.sql_recover.get_by_code.app_error", nil, "", http.StatusBadRequest) - } else { - result.Err = model.NewAppError("SqlPasswordRecoveryStore.GetByCode", "store.sql_recover.get_by_code.app_error", nil, "", http.StatusInternalServerError) - } - } - - result.Data = &recovery - - storeChannel <- result - close(storeChannel) - }() - - return storeChannel -} |