MM-37721: Add prop for post preview before saving record. (#18361)

* MM-37721: Add prop for post preview before saving record.

* MM-37721: Test fix.

* MM-37721: Adds test.

* MM-37721: Fixes vet.

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Этот коммит содержится в:
Martin Kraft
2021-09-16 13:54:38 -04:00
коммит произвёл GitHub
родитель f9bd7cce8e
Коммит acec8db7c5
2 изменённых файлов: 47 добавлений и 8 удалений

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

@@ -297,6 +297,12 @@ func (a *App) CreatePost(c *request.Context, post *model.Post, channel *model.Ch
}
}
post = a.PreparePostForClient(post, true, false)
previewPost := post.GetPreviewPost()
if previewPost != nil {
post.AddProp(model.PostPropsPreviewedPost, previewPost.PostID)
}
rpost, nErr := a.Srv().Store.Post().Save(post)
if nErr != nil {
var appErr *model.AppError
@@ -345,11 +351,6 @@ func (a *App) CreatePost(c *request.Context, post *model.Post, channel *model.Ch
// to be done when we send the post over the websocket in handlePostEvents
rpost = a.PreparePostForClient(rpost, true, false)
rpost, nErr = a.addPostPreviewProp(rpost)
if nErr != nil {
return nil, model.NewAppError("CreatePost", "app.post.save.app_error", nil, nErr.Error(), http.StatusInternalServerError)
}
// Make sure poster is following the thread
if *a.Config().ServiceSettings.ThreadAutoFollow && rpost.RootId != "" {
_, err := a.Srv().Store.Thread().MaintainMembership(user.Id, rpost.RootId, store.ThreadMembershipOpts{