PLT-8131 (part2) Add plugin key value store support (#7902)

* Add plugin key value store support

* Add localization strings

* Updates per feedback
Этот коммит содержится в:
Joram Wilander
2017-11-27 17:23:35 -05:00
коммит произвёл GitHub
родитель e85ec38301
Коммит 6176bcff69
22 изменённых файлов: 888 добавлений и 230 удалений

26
model/plugin_key_value.go Обычный файл
Просмотреть файл

@@ -0,0 +1,26 @@
// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.
package model
import (
"net/http"
)
type PluginKeyValue struct {
PluginId string `json:"plugin_id"`
Key string `json:"key" db:"PKey"`
Value []byte `json:"value" db:"PValue"`
}
func (kv *PluginKeyValue) IsValid() *AppError {
if len(kv.PluginId) == 0 {
return NewAppError("PluginKeyValue.IsValid", "model.plugin_key_value.is_valid.plugin_id.app_error", nil, "key="+kv.Key, http.StatusBadRequest)
}
if len(kv.Key) == 0 {
return NewAppError("PluginKeyValue.IsValid", "model.plugin_key_value.is_valid.key.app_error", nil, "key="+kv.Key, http.StatusBadRequest)
}
return nil
}

22
model/plugin_key_value_test.go Обычный файл
Просмотреть файл

@@ -0,0 +1,22 @@
// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.
package model
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestPluginKeyIsValid(t *testing.T) {
kv := PluginKeyValue{PluginId: "someid", Key: "somekey", Value: []byte("somevalue")}
assert.Nil(t, kv.IsValid())
kv.PluginId = ""
assert.NotNil(t, kv.IsValid())
kv.PluginId = "someid"
kv.Key = ""
assert.NotNil(t, kv.IsValid())
}