summaryrefslogtreecommitdiffstats
path: root/app/plugin/api.go
diff options
context:
space:
mode:
Diffstat (limited to 'app/plugin/api.go')
-rw-r--r--app/plugin/api.go37
1 files changed, 37 insertions, 0 deletions
diff --git a/app/plugin/api.go b/app/plugin/api.go
new file mode 100644
index 000000000..ceea51969
--- /dev/null
+++ b/app/plugin/api.go
@@ -0,0 +1,37 @@
+// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+package plugin
+
+import (
+ "net/http"
+
+ "github.com/gorilla/mux"
+ "github.com/mattermost/platform/model"
+)
+
+type API interface {
+ // Loads the plugin's configuration
+ LoadPluginConfiguration(dest interface{}) error
+
+ // The plugin's router
+ PluginRouter() *mux.Router
+
+ // Gets a team by its name
+ GetTeamByName(name string) (*model.Team, *model.AppError)
+
+ // Gets a user by its name
+ GetUserByName(name string) (*model.User, *model.AppError)
+
+ // Gets a channel by its name
+ GetChannelByName(teamId, name string) (*model.Channel, *model.AppError)
+
+ // Gets a direct message channel
+ GetDirectChannel(userId1, userId2 string) (*model.Channel, *model.AppError)
+
+ // Creates a post
+ CreatePost(post *model.Post, teamId string) (*model.Post, *model.AppError)
+
+ // Returns a localized string. If a request is given, its headers will be used to pick a locale.
+ I18n(id string, r *http.Request) string
+}