MM-53924 - Implement push notifications plugin hook and plugin api method (#24350)
* Revert "MM-52804 - Implement SendPushNotification plugin api method (#24273)" This reverts commit8418eefb75. * Revert "MM-53924 - Implement NotificationWillBePushed plugin hook (#24263)" This reverts commitf13a531bca. * implement NotificationWillBePushed plugin hook * implement SendPushNotification plugin api method * move where we're setting post and channel type * fix comment --------- Co-authored-by: Mattermost Build <build@mattermost.com>
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
dad579daee
Коммит
69c11cfe14
@@ -1,21 +0,0 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
package model
|
||||
|
||||
// PluginPushNotification is sent to the plugin when a push notification is going to be sent (via the
|
||||
// NotificationWillBePushed hook), and is used as the source data for the plugin api SendPluginPushNotification method.
|
||||
//
|
||||
// Note: Please keep in mind that Mattermost push notifications always refer to a specific post. Therefore, when used
|
||||
// as source data for `SendPluginPushNotification`, Post and Channel must be valid in order to create a correct
|
||||
// model.PushNotification.
|
||||
// Note: Post and Channel are pointers so that plugins using the NotificationWillBePushed hook will not need to query the
|
||||
// database on every push notification.
|
||||
type PluginPushNotification struct {
|
||||
Post *Post // The post that will be used as the source of the push notification.
|
||||
Channel *Channel // The channel that the post appeared in.
|
||||
UserID string // The receiver of the push notification.
|
||||
ExplicitMention bool // Used to construct the generic "@sender mentioned you" msg when `cfg.EmailSettings.PushNotificationContents` is not set to `full`
|
||||
ChannelWideMention bool // Used to construct the generic "@sender notified the channel" msg when `cfg.EmailSettings.PushNotificationContents` is not set to `full`
|
||||
ReplyToThreadType string // Used to construct the generic CRT msgs when `cfg.EmailSettings.PushNotificationContents` is not set to `full`; see `App.getPushNotificationMessage` for details.
|
||||
}
|
||||
@@ -44,29 +44,31 @@ type PushNotificationAck struct {
|
||||
}
|
||||
|
||||
type PushNotification struct {
|
||||
AckId string `json:"ack_id"`
|
||||
Platform string `json:"platform"`
|
||||
ServerId string `json:"server_id"`
|
||||
DeviceId string `json:"device_id"`
|
||||
PostId string `json:"post_id"`
|
||||
Category string `json:"category,omitempty"`
|
||||
Sound string `json:"sound,omitempty"`
|
||||
Message string `json:"message,omitempty"`
|
||||
Badge int `json:"badge,omitempty"`
|
||||
ContentAvailable int `json:"cont_ava,omitempty"`
|
||||
TeamId string `json:"team_id,omitempty"`
|
||||
ChannelId string `json:"channel_id,omitempty"`
|
||||
RootId string `json:"root_id,omitempty"`
|
||||
ChannelName string `json:"channel_name,omitempty"`
|
||||
Type string `json:"type,omitempty"`
|
||||
SenderId string `json:"sender_id,omitempty"`
|
||||
SenderName string `json:"sender_name,omitempty"`
|
||||
OverrideUsername string `json:"override_username,omitempty"`
|
||||
OverrideIconURL string `json:"override_icon_url,omitempty"`
|
||||
FromWebhook string `json:"from_webhook,omitempty"`
|
||||
Version string `json:"version,omitempty"`
|
||||
IsCRTEnabled bool `json:"is_crt_enabled"`
|
||||
IsIdLoaded bool `json:"is_id_loaded"`
|
||||
AckId string `json:"ack_id"`
|
||||
Platform string `json:"platform"`
|
||||
ServerId string `json:"server_id"`
|
||||
DeviceId string `json:"device_id"`
|
||||
PostId string `json:"post_id"`
|
||||
Category string `json:"category,omitempty"`
|
||||
Sound string `json:"sound,omitempty"`
|
||||
Message string `json:"message,omitempty"`
|
||||
Badge int `json:"badge,omitempty"`
|
||||
ContentAvailable int `json:"cont_ava,omitempty"`
|
||||
TeamId string `json:"team_id,omitempty"`
|
||||
ChannelId string `json:"channel_id,omitempty"`
|
||||
RootId string `json:"root_id,omitempty"`
|
||||
ChannelName string `json:"channel_name,omitempty"`
|
||||
Type string `json:"type,omitempty"`
|
||||
SenderId string `json:"sender_id,omitempty"`
|
||||
SenderName string `json:"sender_name,omitempty"`
|
||||
OverrideUsername string `json:"override_username,omitempty"`
|
||||
OverrideIconURL string `json:"override_icon_url,omitempty"`
|
||||
FromWebhook string `json:"from_webhook,omitempty"`
|
||||
Version string `json:"version,omitempty"`
|
||||
IsCRTEnabled bool `json:"is_crt_enabled"`
|
||||
IsIdLoaded bool `json:"is_id_loaded"`
|
||||
PostType string `json:"-"`
|
||||
ChannelType ChannelType `json:"-"`
|
||||
}
|
||||
|
||||
func (pn *PushNotification) DeepCopy() *PushNotification {
|
||||
|
||||
Ссылка в новой задаче
Block a user