diff --git a/app/controllers/comment.go b/app/controllers/comment.go index 8e3bfb0ae12ab375586697325bf384a884abc74d..1a7ae0d6e07ecb55b0c781addd94b25c55862557 100644 --- a/app/controllers/comment.go +++ b/app/controllers/comment.go @@ -59,7 +59,7 @@ func (c ApiComment) Create() revel.Result { return c.RenderError(err) } - err = post.FindByID(postID, false) + err = post.FindByID(postID, true) if err != nil { revel.ERROR.Println(err) return c.NotFound("Post not found") @@ -67,6 +67,7 @@ func (c ApiComment) Create() revel.Result { dispatcher := jobs.Dispatcher{ User: user, + ParentPerson: &post.Person, Message: federation.EntityComment{ ParentGuid: post.Guid, Text: comment, diff --git a/app/controllers/post.go b/app/controllers/post.go index 5803ce1dff5d9f6d409b39357c6aedcdd0a6bc36..3ecb6033db4b0be255661ee0e8c641032e1e586d 100644 --- a/app/controllers/post.go +++ b/app/controllers/post.go @@ -96,6 +96,29 @@ func (p ApiPost) Create() revel.Result { return p.RenderError(err) } + // this is required for mapping + // posts to the author + shareable := models.Shareable{ + ShareableID: post.ID, + UserID: user.ID, + ShareableType: models.ShareablePost, + }; if err := shareable.Create(); err != nil { + revel.ERROR.Println(err) + return p.RenderError(err) + } + + // create an aspect visibillity entry + // the host has to remember the recipients + visibility := models.AspectVisibility{ + ShareableID: post.ID, + AspectID: aspectID, + ShareableType: models.ShareablePost, + } + if err := visibility.Create(); err != nil { + revel.ERROR.Println(err) + return p.RenderError(err) + } + dispatcher := jobs.Dispatcher{ User: user, AspectID: aspectID,