Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrPushRejected error = &RespPush{}
Functions ¶
This section is empty.
Types ¶
type BaseDevice ¶
type BaseDevice struct {
AppID PusherAppID `json:"app_id"`
PushKey string `json:"pushkey"`
PushKeyTS int64 `json:"pushkey_ts,omitempty"`
Data PusherData `json:"data,omitempty"`
}
type Device ¶
type Device struct {
BaseDevice
Tweaks map[pushrules.PushActionTweak]any `json:"tweaks,omitempty"`
}
type NotificationCounts ¶
type PushFormat ¶
type PushFormat string
const ( PushFormatDefault PushFormat = "" PushFormatEventIDOnly PushFormat = "event_id_only" )
type PushKey ¶
type PushKey struct {
BaseDevice
URL string `json:"url"`
}
type PushNotification ¶
type PushNotification struct {
Devices []Device `json:"devices"`
Counts *NotificationCounts `json:"counts,omitempty"`
EventID id.EventID `json:"event_id,omitempty"`
Priority PushPriority `json:"prio,omitempty"`
RoomAlias id.RoomAlias `json:"room_alias,omitempty"`
RoomID id.RoomID `json:"room_id,omitempty"`
RoomName string `json:"room_name,omitempty"`
Sender id.UserID `json:"sender,omitempty"`
SenderDisplayName string `json:"sender_display_name,omitempty"`
Type string `json:"type,omitempty"`
Content json.RawMessage `json:"content,omitempty"`
UserIsTarget bool `json:"user_is_target,omitempty"`
BeeperTTL *int `json:"com.beeper.ttl,omitempty"`
BeeperUserID id.UserID `json:"com.beeper.user_id,omitempty"`
BeeperLastFullyReadRoomID id.RoomID `json:"com.beeper.last_fully_read_room_id,omitempty"`
}
type PushPriority ¶
type PushPriority string
const ( PushPriorityHigh PushPriority = "high" PushPriorityLow PushPriority = "low" )
type Pusher ¶
type Pusher struct {
AppDisplayName string `json:"app_display_name"`
AppID PusherAppID `json:"app_id"`
Data PusherData `json:"data"`
DeviceDisplayName string `json:"device_display_name"`
Kind *PusherKind `json:"kind"`
Language string `json:"lang"`
ProfileTag string `json:"profile_tag,omitempty"`
PushKey string `json:"pushkey"`
}
type PusherData ¶
func (PusherData) ConvertToNotificationData ¶
func (pd PusherData) ConvertToNotificationData() PusherData
ConvertToNotificationData returns a copy of the map with the url and format fields removed.
func (PusherData) Format ¶
func (pd PusherData) Format() PushFormat
func (PusherData) URL ¶
func (pd PusherData) URL() string
type PusherKind ¶
type PusherKind string
const ( PusherKindHTTP PusherKind = "http" PusherKindEmail PusherKind = "email" )
type ReqPush ¶
type ReqPush struct {
Notification *PushNotification `json:"notification"`
}
type RespPushers ¶
type RespPushers struct {
Pushers []Pusher `json:"pushers"`
}
Click to show internal directories.
Click to hide internal directories.