[MM-44765] Add API method for getting post's information from permalink (#21518)

* add api for getting post's information

* add information about current user state

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Этот коммит содержится в:
Konstantinos Pittas
2022-12-05 16:04:44 +02:00
коммит произвёл GitHub
родитель 0c64252c9f
Коммит 3059abdd88
7 изменённых файлов: 398 добавлений и 0 удалений

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

@@ -8540,6 +8540,20 @@ func (c *Client4) GetNewTeamMembersSince(teamID string, timeRange string, page i
return newTeamMembersList, BuildResponse(r), nil
}
func (c *Client4) GetPostInfo(postId string) (*PostInfo, *Response, error) {
r, err := c.DoAPIGet(c.postRoute(postId)+"/info", "")
if err != nil {
return nil, BuildResponse(r), err
}
defer closeBody(r)
var info *PostInfo
if err = json.NewDecoder(r.Body).Decode(&info); err != nil {
return nil, nil, NewAppError("GetPostInfo", "api.unmarshal_error", nil, "", http.StatusInternalServerError).Wrap(err)
}
return info, BuildResponse(r), nil
}
func (c *Client4) AcknowledgePost(postId, userId string) (*PostAcknowledgement, *Response, error) {
r, err := c.DoAPIPost(c.userRoute(userId)+c.postRoute(postId)+"/ack", "")
if err != nil {

15
model/post_info.go Обычный файл
Просмотреть файл

@@ -0,0 +1,15 @@
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
package model
type PostInfo struct {
ChannelId string `json:"channel_id"`
ChannelType ChannelType `json:"channel_type"`
ChannelDisplayName string `json:"channel_display_name"`
HasJoinedChannel bool `json:"has_joined_channel"`
TeamId string `json:"team_id"`
TeamType string `json:"team_type"`
TeamDisplayName string `json:"team_display_name"`
HasJoinedTeam bool `json:"has_joined_team"`
}