Federate draft when published to a blog

This now sends out a `Create` activity when a post is moved from a draft
to a blog.

This closes #9. Closes T526.
pull/29/head
Matt Baer 6 years ago
parent 778098d925
commit 8e6d0daa06
  1. 5
      database.go
  2. 9
      posts.go

@ -1278,6 +1278,7 @@ func (db *datastore) ClaimPosts(userID int64, collAlias string, posts *[]ClaimPo
var query string
var params []interface{}
var slugIdx int = -1
var coll *Collection
if collAlias == "" {
// Posts are being claimed at /posts/claim, not
// /collections/{alias}/collect, so use given individual collection
@ -1286,7 +1287,6 @@ func (db *datastore) ClaimPosts(userID int64, collAlias string, posts *[]ClaimPo
}
if postCollAlias != "" {
// Associate this post with a collection
var coll *Collection
if p.CreateCollection {
// This is a new collection
// TODO: consider removing this. This seriously complicates this
@ -1389,6 +1389,9 @@ func (db *datastore) ClaimPosts(userID int64, collAlias string, posts *[]ClaimPo
// Post was successfully claimed
r.Code = http.StatusOK
r.Post = fullPost
if coll != nil {
r.Post.Collection = &CollectionObj{Collection: *coll}
}
rowsAffected, _ := qRes.RowsAffected()
if rowsAffected == 0 {

@ -848,6 +848,15 @@ func addPost(app *app, w http.ResponseWriter, r *http.Request) error {
if err != nil {
return err
}
if app.cfg.App.Federation {
for _, pRes := range *res {
if pRes.Code != http.StatusOK {
continue
}
go federatePost(app, pRes.Post, pRes.Post.Collection.ID, false)
}
}
return impart.WriteSuccess(w, res, http.StatusOK)
}

Loading…
Cancel
Save