github.com/adacta-ru/mattermost-server/v6@v6.0.0/app/plugin_api_tests/manual.test_load_configuration_defaults_plugin/main.go (about) 1 // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. 2 // See LICENSE.txt for license information. 3 4 package main 5 6 import ( 7 "github.com/adacta-ru/mattermost-server/v6/app/plugin_api_tests" 8 "github.com/adacta-ru/mattermost-server/v6/model" 9 "github.com/adacta-ru/mattermost-server/v6/plugin" 10 ) 11 12 type configuration struct { 13 plugin_api_tests.BasicConfig 14 MyStringSetting string 15 MyIntSetting int 16 MyBoolSetting bool 17 } 18 19 type MyPlugin struct { 20 plugin.MattermostPlugin 21 22 configuration configuration 23 } 24 25 func (p *MyPlugin) OnConfigurationChange() error { 26 if err := p.API.LoadPluginConfiguration(&p.configuration); err != nil { 27 return err 28 } 29 30 return nil 31 } 32 33 func (p *MyPlugin) MessageWillBePosted(c *plugin.Context, post *model.Post) (*model.Post, string) { 34 if p.configuration.MyStringSetting != "override" { 35 return nil, "MyStringSetting has invalid value" 36 } 37 if p.configuration.MyIntSetting != 35 { 38 return nil, "MyIntSetting has invalid value" 39 } 40 if !p.configuration.MyBoolSetting { 41 return nil, "MyBoolSetting has invalid value" 42 } 43 return nil, "OK" 44 } 45 46 func main() { 47 plugin.ClientMain(&MyPlugin{}) 48 }