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.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/app/plugin_api.go b/app/plugin_api.go
index 21b828368..b09a0c419 100644
--- a/app/plugin_api.go
+++ b/app/plugin_api.go
@@ -124,10 +124,35 @@ func (api *PluginAPI) UpdateChannel(channel *model.Channel) (*model.Channel, *mo
return api.app.UpdateChannel(channel)
}
+func (api *PluginAPI) AddChannelMember(channelId, userId string) (*model.ChannelMember, *model.AppError) {
+ // For now, don't allow overriding these via the plugin API.
+ userRequestorId := ""
+ postRootId := ""
+
+ channel, err := api.GetChannel(channelId)
+ if err != nil {
+ return nil, err
+ }
+
+ return api.app.AddChannelMember(userId, channel, userRequestorId, postRootId)
+}
+
func (api *PluginAPI) GetChannelMember(channelId, userId string) (*model.ChannelMember, *model.AppError) {
return api.app.GetChannelMember(channelId, userId)
}
+func (api *PluginAPI) UpdateChannelMemberRoles(channelId, userId, newRoles string) (*model.ChannelMember, *model.AppError) {
+ return api.app.UpdateChannelMemberRoles(channelId, userId, newRoles)
+}
+
+func (api *PluginAPI) UpdateChannelMemberNotifications(channelId, userId string, notifications map[string]string) (*model.ChannelMember, *model.AppError) {
+ return api.app.UpdateChannelMemberNotifyProps(notifications, channelId, userId)
+}
+
+func (api *PluginAPI) DeleteChannelMember(channelId, userId string) *model.AppError {
+ return api.app.LeaveChannel(channelId, userId)
+}
+
func (api *PluginAPI) CreatePost(post *model.Post) (*model.Post, *model.AppError) {
return api.app.CreatePostMissingChannel(post, true)
}