public SingleObjectModel CreateObjectPosting(string objectUID,
                                                     [FromBody] object body)
        {
            try {
                base.RequireBody(body);

                var bodyAsJson = JsonObject.Parse(body);

                var posting = new ObjectPosting(objectUID, bodyAsJson);

                posting.Save();

                if (!posting.SendTo.IsEmptyInstance)
                {
                    var activity = Activity.Parse(objectUID);

                    EventsNotifier.SendNotification(activity, posting.SendTo, posting.Title, posting.Body);
                }

                return(new SingleObjectModel(this.Request, posting.ToResponse(),
                                             typeof(ObjectPosting).FullName));
            } catch (Exception e) {
                throw base.CreateHttpException(e);
            }
        }
 static internal object ToResponse(this ObjectPosting posting)
 {
     return(new {
         uid = posting.UID,
         objectUID = posting.ObjectUID,
         body = posting.Body,
         title = posting.Title,
         fileUrl = posting.FileUrl,
         authors = posting.Authors,
         tags = posting.Tags,
         sendTo = posting.SendTo.ToObject(),
         date = posting.Date,
         accessMode = posting.AccessMode,
         owner = posting.Owner.Nickname,
         status = posting.Status
     });
 }