Documentation
¶
Index ¶
- type ClientEvent
- func ToClientEvent(se gomatrixserverlib.PDU, format ClientEventFormat, sender spec.UserID, ...) ClientEvent
- func ToClientEventDefault(userIDQuery spec.UserIDForSender, event gomatrixserverlib.PDU) ClientEvent
- func ToClientEvents(serverEvs []gomatrixserverlib.PDU, format ClientEventFormat, ...) []ClientEvent
- type ClientEventFormat
- type EventFilter
- type Filter
- type RoomEventFilter
- type RoomFilter
- type StateFilter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ClientEvent ¶
type ClientEvent struct {
Content spec.RawJSON `json:"content"`
EventID string `json:"event_id,omitempty"` // EventID is omitted on receipt events
OriginServerTS spec.Timestamp `json:"origin_server_ts,omitempty"` // OriginServerTS is omitted on receipt events
RoomID string `json:"room_id,omitempty"` // RoomID is omitted on /sync responses
Sender string `json:"sender,omitempty"` // Sender is omitted on receipt events
SenderKey spec.SenderID `json:"sender_key,omitempty"` // The SenderKey for events in pseudo ID rooms
StateKey *string `json:"state_key,omitempty"`
Type string `json:"type"`
Unsigned spec.RawJSON `json:"unsigned,omitempty"`
Redacts string `json:"redacts,omitempty"`
}
ClientEvent is an event which is fit for consumption by clients, in accordance with the specification.
func ToClientEvent ¶
func ToClientEvent(se gomatrixserverlib.PDU, format ClientEventFormat, sender spec.UserID, stateKey *string) ClientEvent
ToClientEvent converts a single server event to a client event.
func ToClientEventDefault ¶
func ToClientEventDefault(userIDQuery spec.UserIDForSender, event gomatrixserverlib.PDU) ClientEvent
ToClientEvent converts a single server event to a client event. It provides default logic for event.SenderID & event.StateKey -> userID conversions.
func ToClientEvents ¶
func ToClientEvents(serverEvs []gomatrixserverlib.PDU, format ClientEventFormat, userIDForSender spec.UserIDForSender) []ClientEvent
ToClientEvents converts server events to client events.
type ClientEventFormat ¶
type ClientEventFormat int
const ( // FormatAll will include all client event keys FormatAll ClientEventFormat = iota // FormatSync will include only the event keys required by the /sync API. Notably, this // means the 'room_id' will be missing from the events. FormatSync )
type EventFilter ¶
type EventFilter struct {
Limit int `json:"limit,omitempty"`
NotSenders *[]string `json:"not_senders,omitempty"`
NotTypes *[]string `json:"not_types,omitempty"`
Senders *[]string `json:"senders,omitempty"`
Types *[]string `json:"types,omitempty"`
}
EventFilter is used to define filtering rules for events
func DefaultEventFilter ¶
func DefaultEventFilter() EventFilter
DefaultEventFilter returns the default event filter used by the Matrix server if no filter is provided in the request
type Filter ¶
type Filter struct {
EventFields []string `json:"event_fields,omitempty"`
EventFormat string `json:"event_format,omitempty"`
Presence EventFilter `json:"presence,omitempty"`
AccountData EventFilter `json:"account_data,omitempty"`
Room RoomFilter `json:"room,omitempty"`
}
Filter is used by clients to specify how the server should filter responses to e.g. sync requests Specified by: https://spec.matrix.org/v1.6/client-server-api/#filtering
func DefaultFilter ¶
func DefaultFilter() Filter
DefaultFilter returns the default filter used by the Matrix server if no filter is provided in the request
type RoomEventFilter ¶
type RoomEventFilter struct {
Limit int `json:"limit,omitempty"`
NotSenders *[]string `json:"not_senders,omitempty"`
NotTypes *[]string `json:"not_types,omitempty"`
Senders *[]string `json:"senders,omitempty"`
Types *[]string `json:"types,omitempty"`
LazyLoadMembers bool `json:"lazy_load_members,omitempty"`
IncludeRedundantMembers bool `json:"include_redundant_members,omitempty"`
NotRooms *[]string `json:"not_rooms,omitempty"`
Rooms *[]string `json:"rooms,omitempty"`
UnreadThreadNotifications bool `json:"unread_thread_notifications,omitempty"`
ContainsURL *bool `json:"contains_url,omitempty"`
}
RoomEventFilter is used to define filtering rules for events in rooms
func DefaultRoomEventFilter ¶
func DefaultRoomEventFilter() RoomEventFilter
DefaultRoomEventFilter returns the default room event filter used by the Matrix server if no filter is provided in the request
type RoomFilter ¶
type RoomFilter struct {
NotRooms *[]string `json:"not_rooms,omitempty"`
Rooms *[]string `json:"rooms,omitempty"`
Ephemeral RoomEventFilter `json:"ephemeral,omitempty"`
IncludeLeave bool `json:"include_leave,omitempty"`
State StateFilter `json:"state,omitempty"`
Timeline RoomEventFilter `json:"timeline,omitempty"`
AccountData RoomEventFilter `json:"account_data,omitempty"`
}
RoomFilter is used to define filtering rules for room-related events
type StateFilter ¶
type StateFilter struct {
NotSenders *[]string `json:"not_senders,omitempty"`
NotTypes *[]string `json:"not_types,omitempty"`
Senders *[]string `json:"senders,omitempty"`
Types *[]string `json:"types,omitempty"`
LazyLoadMembers bool `json:"lazy_load_members,omitempty"`
IncludeRedundantMembers bool `json:"include_redundant_members,omitempty"`
NotRooms *[]string `json:"not_rooms,omitempty"`
Rooms *[]string `json:"rooms,omitempty"`
Limit int `json:"limit,omitempty"`
UnreadThreadNotifications bool `json:"unread_thread_notifications,omitempty"`
ContainsURL *bool `json:"contains_url,omitempty"`
}
StateFilter is used to define filtering rules for state events
func DefaultStateFilter ¶
func DefaultStateFilter() StateFilter
DefaultStateFilter returns the default state event filter used by the Matrix server if no filter is provided in the request