summaryrefslogtreecommitdiffstats
path: root/model/plugin_status.go
diff options
context:
space:
mode:
authorMartin Kraft <martinkraft@gmail.com>2018-05-24 08:40:52 -0400
committerMartin Kraft <martinkraft@gmail.com>2018-05-24 08:40:52 -0400
commit69304fb54da5300941a49364e4344c2c65e654d6 (patch)
treede20c2e8a479ae3d13bcd21abc3dff067afa602e /model/plugin_status.go
parente46b94fa66c029b9a493fdc6ff7bcb98e9651568 (diff)
parent47f3c064db885c2cb2e75c195ea24e2ef687891d (diff)
downloadchat-69304fb54da5300941a49364e4344c2c65e654d6.tar.gz
chat-69304fb54da5300941a49364e4344c2c65e654d6.tar.bz2
chat-69304fb54da5300941a49364e4344c2c65e654d6.zip
Merge remote-tracking branch 'origin/master' into advanced-permissions-phase-2
Diffstat (limited to 'model/plugin_status.go')
-rw-r--r--model/plugin_status.go44
1 files changed, 44 insertions, 0 deletions
diff --git a/model/plugin_status.go b/model/plugin_status.go
new file mode 100644
index 000000000..1ae64ff89
--- /dev/null
+++ b/model/plugin_status.go
@@ -0,0 +1,44 @@
+// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
+// See LICENSE.txt for license information.
+
+package model
+
+import (
+ "encoding/json"
+ "io"
+)
+
+const (
+ PluginStateNotRunning = 0
+ PluginStateStarting = 1
+ PluginStateRunning = 2
+ PluginStateFailedToStart = 3
+ PluginStateFailedToStayRunning = 4
+ PluginStateStopping = 5
+)
+
+// PluginStatus provides a cluster-aware view of installed plugins.
+type PluginStatus struct {
+ PluginId string `json:"plugin_id"`
+ ClusterId string `json:"cluster_id"`
+ PluginPath string `json:"plugin_path"`
+ State int `json:"state"`
+ IsSandboxed bool `json:"is_sandboxed"`
+ IsPrepackaged bool `json:"is_prepackaged"`
+ Name string `json:"name"`
+ Description string `json:"description"`
+ Version string `json:"version"`
+}
+
+type PluginStatuses []*PluginStatus
+
+func (m *PluginStatuses) ToJson() string {
+ b, _ := json.Marshal(m)
+ return string(b)
+}
+
+func PluginStatusesFromJson(data io.Reader) PluginStatuses {
+ var m PluginStatuses
+ json.NewDecoder(data).Decode(&m)
+ return m
+}