Return `url` of new post on publish

This commit is contained in:
Matt Baer 2021-05-20 20:44:59 -04:00
parent 73e0b72878
commit b010484493
2 changed files with 3 additions and 2 deletions

View File

@ -125,6 +125,7 @@ type (
Views int64 `json:"views"` Views int64 `json:"views"`
Owner *PublicUser `json:"-"` Owner *PublicUser `json:"-"`
IsOwner bool `json:"-"` IsOwner bool `json:"-"`
URL string `json:"url,omitempty"`
Collection *CollectionObj `json:"collection,omitempty"` Collection *CollectionObj `json:"collection,omitempty"`
} }
@ -612,6 +613,7 @@ func newPost(app *App, w http.ResponseWriter, r *http.Request) error {
newPost.extractData() newPost.extractData()
newPost.OwnerName = username newPost.OwnerName = username
newPost.URL = newPost.CanonicalURL(app.cfg.App.Host)
// Write success now // Write success now
response := impart.WriteSuccess(w, newPost, http.StatusCreated) response := impart.WriteSuccess(w, newPost, http.StatusCreated)
@ -1124,7 +1126,7 @@ func (p *Post) processPost() PublicPost {
func (p *PublicPost) CanonicalURL(hostName string) string { func (p *PublicPost) CanonicalURL(hostName string) string {
if p.Collection == nil || p.Collection.Alias == "" { if p.Collection == nil || p.Collection.Alias == "" {
return hostName + "/" + p.ID return hostName + "/" + p.ID + ".md"
} }
return p.Collection.CanonicalURL() + p.Slug.String return p.Collection.CanonicalURL() + p.Slug.String
} }

View File

@ -315,7 +315,6 @@ func viewLocalTimelineFeed(app *App, w http.ResponseWriter, req *http.Request) e
author = p.Collection.Title author = p.Collection.Title
} else { } else {
author = "Anonymous" author = "Anonymous"
permalink += ".md"
} }
i := &Item{ i := &Item{
Id: app.cfg.App.Host + "/read/a/" + p.ID, Id: app.cfg.App.Host + "/read/a/" + p.ID,