Documentation ¶
Overview ¶
Package api provides the types that are used to communicate with the typing server.
Index ¶
- Constants
- func SendReceipt(ctx context.Context, eduAPI EDUServerInputAPI, ...) error
- func SendToDevice(ctx context.Context, eduAPI EDUServerInputAPI, ...) error
- func SendTyping(ctx context.Context, eduAPI EDUServerInputAPI, userID, roomID string, ...) error
- type CrossSigningKeyUpdate
- type EDUServerInputAPI
- type FederationReceiptData
- type FederationReceiptMRead
- type InputCrossSigningKeyUpdateRequest
- type InputCrossSigningKeyUpdateResponse
- type InputReceiptEvent
- type InputReceiptEventRequest
- type InputReceiptEventResponse
- type InputSendToDeviceEvent
- type InputSendToDeviceEventRequest
- type InputSendToDeviceEventResponse
- type InputTypingEvent
- type InputTypingEventRequest
- type InputTypingEventResponse
- type OutputCrossSigningKeyUpdate
- type OutputReceiptEvent
- type OutputSendToDeviceEvent
- type OutputTypingEvent
- type ReceiptEvent
- type ReceiptMRead
- type ReceiptTS
- type TypingEvent
Constants ¶
const (
MSigningKeyUpdate = "m.signing_key_update"
)
Variables ¶
This section is empty.
Functions ¶
func SendReceipt ¶ added in v0.3.0
func SendReceipt( ctx context.Context, eduAPI EDUServerInputAPI, userID, roomID, eventID, receiptType string, timestamp gomatrixserverlib.Timestamp, ) error
SendReceipt sends a receipt event to EDU Server
func SendToDevice ¶
func SendToDevice( ctx context.Context, eduAPI EDUServerInputAPI, sender, userID, deviceID, eventType string, message interface{}, ) error
SendToDevice sends a typing event to EDU server
func SendTyping ¶
func SendTyping( ctx context.Context, eduAPI EDUServerInputAPI, userID, roomID string, typing bool, timeoutMS int64, ) error
SendTyping sends a typing event to EDU server
Types ¶
type CrossSigningKeyUpdate ¶ added in v0.5.0
type CrossSigningKeyUpdate struct { MasterKey *gomatrixserverlib.CrossSigningKey `json:"master_key,omitempty"` SelfSigningKey *gomatrixserverlib.CrossSigningKey `json:"self_signing_key,omitempty"` UserID string `json:"user_id"` }
type EDUServerInputAPI ¶
type EDUServerInputAPI interface { InputTypingEvent( ctx context.Context, request *InputTypingEventRequest, response *InputTypingEventResponse, ) error InputSendToDeviceEvent( ctx context.Context, request *InputSendToDeviceEventRequest, response *InputSendToDeviceEventResponse, ) error InputReceiptEvent( ctx context.Context, request *InputReceiptEventRequest, response *InputReceiptEventResponse, ) error }
EDUServerInputAPI is used to write events to the typing server.
type FederationReceiptData ¶ added in v0.3.0
type FederationReceiptMRead ¶ added in v0.3.0
type FederationReceiptMRead struct {
User map[string]FederationReceiptData `json:"m.read"`
}
type InputCrossSigningKeyUpdateRequest ¶ added in v0.5.0
type InputCrossSigningKeyUpdateRequest struct {
CrossSigningKeyUpdate `json:"signing_keys"`
}
type InputCrossSigningKeyUpdateResponse ¶ added in v0.5.0
type InputCrossSigningKeyUpdateResponse struct{}
type InputReceiptEvent ¶ added in v0.3.0
type InputReceiptEventRequest ¶ added in v0.3.0
type InputReceiptEventRequest struct {
InputReceiptEvent InputReceiptEvent `json:"input_receipt_event"`
}
InputReceiptEventRequest is a request to EDUServerInputAPI
type InputReceiptEventResponse ¶ added in v0.3.0
type InputReceiptEventResponse struct{}
InputReceiptEventResponse is a response to InputReceiptEventRequest
type InputSendToDeviceEvent ¶
type InputSendToDeviceEvent struct { UserID string `json:"user_id"` DeviceID string `json:"device_id"` gomatrixserverlib.SendToDeviceEvent }
type InputSendToDeviceEventRequest ¶
type InputSendToDeviceEventRequest struct {
InputSendToDeviceEvent InputSendToDeviceEvent `json:"input_send_to_device_event"`
}
InputSendToDeviceEventRequest is a request to EDUServerInputAPI
type InputSendToDeviceEventResponse ¶
type InputSendToDeviceEventResponse struct{}
InputSendToDeviceEventResponse is a response to InputSendToDeviceEventRequest
type InputTypingEvent ¶
type InputTypingEvent struct { // UserID of the user to update typing status. UserID string `json:"user_id"` // RoomID of the room the user is typing (or has stopped). RoomID string `json:"room_id"` // Typing is true if the user is typing, false if they have stopped. Typing bool `json:"typing"` // Timeout is the interval in milliseconds for which the user should be marked as typing. TimeoutMS int64 `json:"timeout"` // OriginServerTS when the server received the update. OriginServerTS gomatrixserverlib.Timestamp `json:"origin_server_ts"` }
InputTypingEvent is an event for notifying the typing server about typing updates.
type InputTypingEventRequest ¶
type InputTypingEventRequest struct {
InputTypingEvent InputTypingEvent `json:"input_typing_event"`
}
InputTypingEventRequest is a request to EDUServerInputAPI
type InputTypingEventResponse ¶
type InputTypingEventResponse struct{}
InputTypingEventResponse is a response to InputTypingEvents
type OutputCrossSigningKeyUpdate ¶ added in v0.5.0
type OutputCrossSigningKeyUpdate struct {
CrossSigningKeyUpdate `json:"signing_keys"`
}
OutputCrossSigningKeyUpdate is an entry in the signing key update output kafka log
type OutputReceiptEvent ¶ added in v0.3.0
type OutputReceiptEvent struct { UserID string `json:"user_id"` RoomID string `json:"room_id"` EventID string `json:"event_id"` Type string `json:"type"` Timestamp gomatrixserverlib.Timestamp `json:"timestamp"` }
OutputReceiptEvent is an entry in the receipt output kafka log
type OutputSendToDeviceEvent ¶
type OutputSendToDeviceEvent struct { UserID string `json:"user_id"` DeviceID string `json:"device_id"` gomatrixserverlib.SendToDeviceEvent }
OutputSendToDeviceEvent is an entry in the send-to-device output kafka log. This contains the full event content, along with the user ID and device ID to which it is destined.
type OutputTypingEvent ¶
type OutputTypingEvent struct { // The Event for the typing edu event. Event TypingEvent `json:"event"` // ExpireTime is the interval after which the user should no longer be // considered typing. Only available if Event.Typing is true. ExpireTime *time.Time }
OutputTypingEvent is an entry in typing server output kafka log. This contains the event with extra fields used to create 'm.typing' event in clientapi & federation.
type ReceiptEvent ¶ added in v0.3.0
type ReceiptMRead ¶ added in v0.3.0
type ReceiptTS ¶ added in v0.3.0
type ReceiptTS struct {
TS gomatrixserverlib.Timestamp `json:"ts"`
}