summaryrefslogtreecommitdiffstats
path: root/app/export.go
diff options
context:
space:
mode:
Diffstat (limited to 'app/export.go')
-rw-r--r--app/export.go36
1 files changed, 35 insertions, 1 deletions
diff --git a/app/export.go b/app/export.go
index a7a78cfee..b911954a5 100644
--- a/app/export.go
+++ b/app/export.go
@@ -249,8 +249,15 @@ func (a *App) ExportAllPosts(writer io.Writer) *model.AppError {
return err
}
+ reactions, err := a.BuildPostReactions(post.Id)
+ if err != nil {
+ return err
+ }
+
postLine.Post.Replies = replies
+ postLine.Post.Reactions = reactions
+
if err := a.ExportWriteLine(writer, postLine); err != nil {
return err
}
@@ -272,8 +279,35 @@ func (a *App) buildPostReplies(postId string) (*[]ReplyImportData, *model.AppErr
replyPosts := result.Data.([]*model.ReplyForExport)
for _, reply := range replyPosts {
- replies = append(replies, *ImportReplyFromPost(reply))
+ replyImportObject := ImportReplyFromPost(reply)
+ if reply.HasReactions == true {
+ reactionsOfReply, err := a.BuildPostReactions(reply.Id)
+ if err != nil {
+ return nil, err
+ }
+ replyImportObject.Reactions = reactionsOfReply
+ }
+ replies = append(replies, *replyImportObject)
}
return &replies, nil
}
+
+func (a *App) BuildPostReactions(postId string) (*[]ReactionImportData, *model.AppError) {
+ var reactionsOfPost []ReactionImportData
+
+ result := <-a.Srv.Store.Reaction().GetForPost(postId, true)
+
+ if result.Err != nil {
+ return nil, result.Err
+ }
+
+ reactions := result.Data.([]*model.Reaction)
+
+ for _, reaction := range reactions {
+ reactionsOfPost = append(reactionsOfPost, *ImportReactionFromPost(reaction))
+ }
+
+ return &reactionsOfPost, nil
+
+}