summaryrefslogtreecommitdiffstats
path: root/store/sql_cluster_discovery_store.go
diff options
context:
space:
mode:
authorChris <ccbrown112@gmail.com>2017-09-25 09:11:25 -0500
committerJoram Wilander <jwawilander@gmail.com>2017-09-25 10:11:25 -0400
commit49fe5fbf3db56fc466b8997b182ee135d7a4365d (patch)
tree1252fea09aa3ce899e2e8edb1fb7b42900f50bca /store/sql_cluster_discovery_store.go
parentb2c5b97601b61f5748b46e4e386134203111ebb0 (diff)
downloadchat-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_cluster_discovery_store.go')
-rw-r--r--store/sql_cluster_discovery_store.go228
1 files changed, 0 insertions, 228 deletions
diff --git a/store/sql_cluster_discovery_store.go b/store/sql_cluster_discovery_store.go
deleted file mode 100644
index d410ee73a..000000000
--- a/store/sql_cluster_discovery_store.go
+++ /dev/null
@@ -1,228 +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 sqlClusterDiscoveryStore struct {
- SqlStore
-}
-
-func NewSqlClusterDiscoveryStore(sqlStore SqlStore) ClusterDiscoveryStore {
- s := &sqlClusterDiscoveryStore{sqlStore}
-
- for _, db := range sqlStore.GetAllConns() {
- table := db.AddTableWithName(model.ClusterDiscovery{}, "ClusterDiscovery").SetKeys(false, "Id")
- table.ColMap("Id").SetMaxSize(26)
- table.ColMap("Type").SetMaxSize(64)
- table.ColMap("ClusterName").SetMaxSize(64)
- table.ColMap("Hostname").SetMaxSize(512)
- }
-
- return s
-}
-
-func (s sqlClusterDiscoveryStore) Save(ClusterDiscovery *model.ClusterDiscovery) StoreChannel {
-
- storeChannel := make(StoreChannel, 1)
-
- go func() {
- result := StoreResult{}
-
- ClusterDiscovery.PreSave()
- if result.Err = ClusterDiscovery.IsValid(); result.Err != nil {
- storeChannel <- result
- close(storeChannel)
- return
- }
-
- if err := s.GetMaster().Insert(ClusterDiscovery); err != nil {
- result.Err = model.NewAppError("SqlClusterDiscoveryStore.Save", "Failed to save ClusterDiscovery row", nil, err.Error(), http.StatusInternalServerError)
- }
-
- storeChannel <- result
- close(storeChannel)
- }()
-
- return storeChannel
-}
-
-func (s sqlClusterDiscoveryStore) Delete(ClusterDiscovery *model.ClusterDiscovery) StoreChannel {
- storeChannel := make(StoreChannel, 1)
-
- go func() {
- result := StoreResult{}
- result.Data = false
-
- if count, err := s.GetMaster().SelectInt(
- `
- DELETE
- FROM
- ClusterDiscovery
- WHERE
- Type = :Type
- AND ClusterName = :ClusterName
- AND Hostname = :Hostname
- `,
- map[string]interface{}{
- "Type": ClusterDiscovery.Type,
- "ClusterName": ClusterDiscovery.ClusterName,
- "Hostname": ClusterDiscovery.Hostname,
- },
- ); err != nil {
- result.Err = model.NewAppError("SqlClusterDiscoveryStore.Delete", "Failed to delete", nil, err.Error(), http.StatusInternalServerError)
- } else {
- if count > 0 {
- result.Data = true
- }
- }
-
- storeChannel <- result
- close(storeChannel)
- }()
-
- return storeChannel
-}
-
-func (s sqlClusterDiscoveryStore) Exists(ClusterDiscovery *model.ClusterDiscovery) StoreChannel {
- storeChannel := make(StoreChannel, 1)
-
- go func() {
- result := StoreResult{}
- result.Data = false
-
- if count, err := s.GetMaster().SelectInt(
- `
- SELECT
- COUNT(*)
- FROM
- ClusterDiscovery
- WHERE
- Type = :Type
- AND ClusterName = :ClusterName
- AND Hostname = :Hostname
- `,
- map[string]interface{}{
- "Type": ClusterDiscovery.Type,
- "ClusterName": ClusterDiscovery.ClusterName,
- "Hostname": ClusterDiscovery.Hostname,
- },
- ); err != nil {
- result.Err = model.NewAppError("SqlClusterDiscoveryStore.Exists", "Failed to check if it exists", nil, err.Error(), http.StatusInternalServerError)
- } else {
- if count > 0 {
- result.Data = true
- }
- }
-
- storeChannel <- result
- close(storeChannel)
- }()
-
- return storeChannel
-}
-
-func (s sqlClusterDiscoveryStore) GetAll(ClusterDiscoveryType, clusterName string) StoreChannel {
-
- storeChannel := make(StoreChannel, 1)
-
- go func() {
- result := StoreResult{}
-
- lastPingAt := model.GetMillis() - model.CDS_OFFLINE_AFTER_MILLIS
-
- var list []*model.ClusterDiscovery
- if _, err := s.GetMaster().Select(
- &list,
- `
- SELECT
- *
- FROM
- ClusterDiscovery
- WHERE
- Type = :ClusterDiscoveryType
- AND ClusterName = :ClusterName
- AND LastPingAt > :LastPingAt
- `,
- map[string]interface{}{
- "ClusterDiscoveryType": ClusterDiscoveryType,
- "ClusterName": clusterName,
- "LastPingAt": lastPingAt,
- },
- ); err != nil {
- result.Err = model.NewAppError("SqlClusterDiscoveryStore.GetAllForType", "Failed to get all disoery rows", nil, err.Error(), http.StatusInternalServerError)
- } else {
- result.Data = list
- }
-
- storeChannel <- result
- close(storeChannel)
- }()
-
- return storeChannel
-}
-
-func (s sqlClusterDiscoveryStore) SetLastPingAt(ClusterDiscovery *model.ClusterDiscovery) StoreChannel {
- storeChannel := make(StoreChannel, 1)
-
- go func() {
- result := StoreResult{}
-
- if _, err := s.GetMaster().Exec(
- `
- UPDATE ClusterDiscovery
- SET
- LastPingAt = :LastPingAt
- WHERE
- Type = :Type
- AND ClusterName = :ClusterName
- AND Hostname = :Hostname
- `,
- map[string]interface{}{
- "LastPingAt": model.GetMillis(),
- "Type": ClusterDiscovery.Type,
- "ClusterName": ClusterDiscovery.ClusterName,
- "Hostname": ClusterDiscovery.Hostname,
- },
- ); err != nil {
- result.Err = model.NewAppError("SqlClusterDiscoveryStore.GetAllForType", "Failed to update last ping at", nil, err.Error(), http.StatusInternalServerError)
- }
-
- storeChannel <- result
- close(storeChannel)
- }()
-
- return storeChannel
-}
-
-func (s sqlClusterDiscoveryStore) Cleanup() StoreChannel {
-
- storeChannel := make(StoreChannel, 1)
-
- go func() {
- result := StoreResult{}
-
- if _, err := s.GetMaster().Exec(
- `
- DELETE FROM ClusterDiscovery
- WHERE
- LastPingAt < :LastPingAt
- `,
- map[string]interface{}{
- "LastPingAt": model.GetMillis() - model.CDS_OFFLINE_AFTER_MILLIS,
- },
- ); err != nil {
- result.Err = model.NewAppError("SqlClusterDiscoveryStore.Save", "Failed to save ClusterDiscovery row", nil, err.Error(), http.StatusInternalServerError)
- }
-
- storeChannel <- result
- close(storeChannel)
- }()
-
- return storeChannel
-}