MM-45208: strip post meta for plugins (#20686)

Try two...

* Revert "Revert "Removed the opengraph type dependency for plugins by stripping post Metadata (#20612)" (#20684)"

This reverts commit 32dee6d449.

* Fixed race condition

* PR feedback

* lint
Этот коммит содержится в:
Lev
2022-07-21 07:11:18 -07:00
коммит произвёл GitHub
родитель c762db8669
Коммит dc366bc1e2
6 изменённых файлов: 79 добавлений и 40 удалений

Просмотреть файл

@@ -513,7 +513,7 @@ func (api *PluginAPI) SearchPostsInTeam(teamID string, paramsList []*model.Searc
if err != nil {
return nil, err
}
return postList.ToSlice(), nil
return postList.ForPlugin().ToSlice(), nil
}
func (api *PluginAPI) SearchPostsInTeamForUser(teamID string, userID string, searchParams model.SearchParameter) (*model.PostSearchResults, *model.AppError) {
@@ -547,7 +547,11 @@ func (api *PluginAPI) SearchPostsInTeamForUser(teamID string, userID string, sea
includeDeletedChannels = *searchParams.IncludeDeletedChannels
}
return api.app.SearchPostsForUser(api.ctx, terms, userID, teamID, isOrSearch, includeDeletedChannels, timeZoneOffset, page, perPage, model.ModifierMessages)
results, appErr := api.app.SearchPostsForUser(api.ctx, terms, userID, teamID, isOrSearch, includeDeletedChannels, timeZoneOffset, page, perPage, model.ModifierMessages)
if results != nil {
results = results.ForPlugin()
}
return results, appErr
}
func (api *PluginAPI) AddChannelMember(channelID, userID string) (*model.ChannelMember, *model.AppError) {
@@ -627,7 +631,11 @@ func (api *PluginAPI) GetGroupsForUser(userID string) ([]*model.Group, *model.Ap
}
func (api *PluginAPI) CreatePost(post *model.Post) (*model.Post, *model.AppError) {
return api.app.CreatePostMissingChannel(api.ctx, post, true)
post, appErr := api.app.CreatePostMissingChannel(api.ctx, post, true)
if post != nil {
post = post.ForPlugin()
}
return post, appErr
}
func (api *PluginAPI) AddReaction(reaction *model.Reaction) (*model.Reaction, *model.AppError) {
@@ -643,11 +651,11 @@ func (api *PluginAPI) GetReactions(postID string) ([]*model.Reaction, *model.App
}
func (api *PluginAPI) SendEphemeralPost(userID string, post *model.Post) *model.Post {
return api.app.SendEphemeralPost(api.ctx, userID, post)
return api.app.SendEphemeralPost(api.ctx, userID, post).ForPlugin()
}
func (api *PluginAPI) UpdateEphemeralPost(userID string, post *model.Post) *model.Post {
return api.app.UpdateEphemeralPost(api.ctx, userID, post)
return api.app.UpdateEphemeralPost(api.ctx, userID, post).ForPlugin()
}
func (api *PluginAPI) DeleteEphemeralPost(userID, postID string) {
@@ -660,31 +668,59 @@ func (api *PluginAPI) DeletePost(postID string) *model.AppError {
}
func (api *PluginAPI) GetPostThread(postID string) (*model.PostList, *model.AppError) {
return api.app.GetPostThread(postID, model.GetPostsOptions{}, "")
list, appErr := api.app.GetPostThread(postID, model.GetPostsOptions{}, "")
if list != nil {
list = list.ForPlugin()
}
return list, appErr
}
func (api *PluginAPI) GetPost(postID string) (*model.Post, *model.AppError) {
return api.app.GetSinglePost(postID, false)
post, appErr := api.app.GetSinglePost(postID, false)
if post != nil {
post = post.ForPlugin()
}
return post, appErr
}
func (api *PluginAPI) GetPostsSince(channelID string, time int64) (*model.PostList, *model.AppError) {
return api.app.GetPostsSince(model.GetPostsSinceOptions{ChannelId: channelID, Time: time})
list, appErr := api.app.GetPostsSince(model.GetPostsSinceOptions{ChannelId: channelID, Time: time})
if list != nil {
list = list.ForPlugin()
}
return list, appErr
}
func (api *PluginAPI) GetPostsAfter(channelID, postID string, page, perPage int) (*model.PostList, *model.AppError) {
return api.app.GetPostsAfterPost(model.GetPostsOptions{ChannelId: channelID, PostId: postID, Page: page, PerPage: perPage})
list, appErr := api.app.GetPostsAfterPost(model.GetPostsOptions{ChannelId: channelID, PostId: postID, Page: page, PerPage: perPage})
if list != nil {
list = list.ForPlugin()
}
return list, appErr
}
func (api *PluginAPI) GetPostsBefore(channelID, postID string, page, perPage int) (*model.PostList, *model.AppError) {
return api.app.GetPostsBeforePost(model.GetPostsOptions{ChannelId: channelID, PostId: postID, Page: page, PerPage: perPage})
list, appErr := api.app.GetPostsBeforePost(model.GetPostsOptions{ChannelId: channelID, PostId: postID, Page: page, PerPage: perPage})
if list != nil {
list = list.ForPlugin()
}
return list, appErr
}
func (api *PluginAPI) GetPostsForChannel(channelID string, page, perPage int) (*model.PostList, *model.AppError) {
return api.app.GetPostsPage(model.GetPostsOptions{ChannelId: channelID, Page: page, PerPage: perPage})
list, appErr := api.app.GetPostsPage(model.GetPostsOptions{ChannelId: channelID, Page: page, PerPage: perPage})
if list != nil {
list = list.ForPlugin()
}
return list, appErr
}
func (api *PluginAPI) UpdatePost(post *model.Post) (*model.Post, *model.AppError) {
return api.app.UpdatePost(api.ctx, post, false)
post, appErr := api.app.UpdatePost(api.ctx, post, false)
if post != nil {
post = post.ForPlugin()
}
return post, appErr
}
func (api *PluginAPI) GetProfileImage(userID string) ([]byte, *model.AppError) {