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.