Removed the opengraph type dependency for plugins by stripping post Metadata (#20612)

Этот коммит содержится в:
Lev
2022-07-20 04:50:56 -07:00
коммит произвёл GitHub
родитель 9ed453dcac
Коммит da7a8a4552
6 изменённых файлов: 76 добавлений и 40 удалений

Просмотреть файл

@@ -736,18 +736,10 @@ func (o *Post) ToNilIfInvalid() *Post {
return o
}
func (o *Post) RemovePreviewPost() {
if o.Metadata == nil || o.Metadata.Embeds == nil {
return
}
n := 0
for _, embed := range o.Metadata.Embeds {
if embed.Type != PostEmbedPermalink {
o.Metadata.Embeds[n] = embed
n++
}
}
o.Metadata.Embeds = o.Metadata.Embeds[:n]
func (o *Post) ForPlugin() *Post {
p := o.Clone()
p.Metadata = nil
return p
}
func (o *Post) GetPreviewPost() *PreviewPost {

Просмотреть файл

@@ -46,6 +46,14 @@ func (o *PostList) Clone() *PostList {
}
}
func (o *PostList) ForPlugin() *PostList {
copy := o.Clone()
for k, p := range copy.Posts {
copy.Posts[k] = p.ForPlugin()
}
return copy
}
func (o *PostList) ToSlice() []*Post {
var posts []*Post

Просмотреть файл

@@ -33,3 +33,9 @@ func (o *PostSearchResults) EncodeJSON(w io.Writer) error {
o.PostList.StripActionIntegrations()
return json.NewEncoder(w).Encode(o)
}
func (o *PostSearchResults) ForPlugin() *PostSearchResults {
copy := *o
copy.PostList = copy.PostList.ForPlugin()
return &copy
}