Documentation ¶
Index ¶
- func Context(req *http.Request, device *userapi.Device, rsAPI roomserver.SyncRoomserverAPI, ...) util.JSONResponse
- func GetEvent(req *http.Request, device *userapi.Device, rawRoomID string, eventID string, ...) util.JSONResponse
- func GetFilter(req *http.Request, device *api.Device, syncDB storage.Database, userID string, ...) util.JSONResponse
- func GetMemberships(req *http.Request, device *userapi.Device, roomID string, ...) util.JSONResponse
- func OnIncomingMessagesRequest(req *http.Request, db storage.Database, roomID string, device *userapi.Device, ...) util.JSONResponse
- func PutFilter(req *http.Request, device *api.Device, syncDB storage.Database, userID string) util.JSONResponse
- func Relations(req *http.Request, device *userapi.Device, syncDB storage.Database, ...) util.JSONResponse
- func Search(req *http.Request, device *api.Device, syncDB storage.Database, ...) util.JSONResponse
- func Setup(csMux *mux.Router, srp *sync.RequestPool, syncDB storage.Database, ...)
- type ContextRespsonse
- type EventContext
- type GroupBy
- type Groupings
- type Groups
- type ProfileInfoResponse
- type RelationsResponse
- type Result
- type RoomEvents
- type RoomEventsResponse
- type RoomResult
- type SearchCategories
- type SearchCategoriesResponse
- type SearchContextResponse
- type SearchRequest
- type SearchResponse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Context ¶
func Context( req *http.Request, device *userapi.Device, rsAPI roomserver.SyncRoomserverAPI, syncDB storage.Database, roomID, eventID string, lazyLoadCache caching.LazyLoadCache, ) util.JSONResponse
func GetEvent ¶
func GetEvent( req *http.Request, device *userapi.Device, rawRoomID string, eventID string, cfg *config.SyncAPI, syncDB storage.Database, rsAPI api.SyncRoomserverAPI, ) util.JSONResponse
GetEvent implements
GET /_matrix/client/r0/rooms/{roomId}/event/{eventId}
https://spec.matrix.org/v1.4/client-server-api/#get_matrixclientv3roomsroomideventeventid
func GetFilter ¶
func GetFilter( req *http.Request, device *api.Device, syncDB storage.Database, userID string, filterID string, ) util.JSONResponse
GetFilter implements GET /_matrix/client/r0/user/{userId}/filter/{filterId}
func GetMemberships ¶
func GetMemberships( req *http.Request, device *userapi.Device, roomID string, syncDB storage.Database, rsAPI api.SyncRoomserverAPI, membership, notMembership *string, at string, ) util.JSONResponse
GetMemberships implements
GET /rooms/{roomId}/members
func OnIncomingMessagesRequest ¶
func OnIncomingMessagesRequest( req *http.Request, db storage.Database, roomID string, device *userapi.Device, rsAPI api.SyncRoomserverAPI, cfg *config.SyncAPI, srp *sync.RequestPool, lazyLoadCache caching.LazyLoadCache, ) util.JSONResponse
OnIncomingMessagesRequest implements the /messages endpoint from the client-server API. See: https://matrix.org/docs/spec/client_server/latest.html#get-matrix-client-r0-rooms-roomid-messages nolint:gocyclo
func PutFilter ¶
func PutFilter( req *http.Request, device *api.Device, syncDB storage.Database, userID string, ) util.JSONResponse
PutFilter implements
POST /_matrix/client/r0/user/{userId}/filter
func Relations ¶
func Relations( req *http.Request, device *userapi.Device, syncDB storage.Database, rsAPI api.SyncRoomserverAPI, rawRoomID, eventID, relType, eventType string, ) util.JSONResponse
nolint:gocyclo
func Search ¶
func Search(req *http.Request, device *api.Device, syncDB storage.Database, fts fulltext.Indexer, from *string, rsAPI roomserverAPI.SyncRoomserverAPI) util.JSONResponse
nolint:gocyclo
func Setup ¶
func Setup( csMux *mux.Router, srp *sync.RequestPool, syncDB storage.Database, userAPI userapi.SyncUserAPI, rsAPI api.SyncRoomserverAPI, cfg *config.SyncAPI, lazyLoadCache caching.LazyLoadCache, fts fulltext.Indexer, rateLimits *httputil.RateLimits, )
Setup configures the given mux with sync-server listeners
Due to Setup being used to call many other functions, a gocyclo nolint is applied: nolint: gocyclo
Types ¶
type ContextRespsonse ¶
type ContextRespsonse struct { End string `json:"end"` Event *synctypes.ClientEvent `json:"event,omitempty"` EventsAfter []synctypes.ClientEvent `json:"events_after,omitempty"` EventsBefore []synctypes.ClientEvent `json:"events_before,omitempty"` Start string `json:"start"` State []synctypes.ClientEvent `json:"state,omitempty"` }
type EventContext ¶
type Groups ¶
type Groups struct {
RoomID map[string]RoomResult `json:"room_id"`
}
type ProfileInfoResponse ¶
type RelationsResponse ¶
type RelationsResponse struct { Chunk []synctypes.ClientEvent `json:"chunk"` NextBatch string `json:"next_batch,omitempty"` PrevBatch string `json:"prev_batch,omitempty"` }
type Result ¶
type Result struct { Context SearchContextResponse `json:"context"` Rank float64 `json:"rank"` Result synctypes.ClientEvent `json:"result"` }
type RoomEvents ¶
type RoomEvents struct { EventContext EventContext `json:"event_context"` Filter synctypes.RoomEventFilter `json:"filter"` Groupings Groupings `json:"groupings"` IncludeState bool `json:"include_state"` Keys []string `json:"keys"` OrderBy string `json:"order_by"` SearchTerm string `json:"search_term"` }
type RoomEventsResponse ¶
type RoomResult ¶
type SearchCategories ¶
type SearchCategories struct {
RoomEvents RoomEvents `json:"room_events"`
}
type SearchCategoriesResponse ¶
type SearchCategoriesResponse struct {
RoomEvents RoomEventsResponse `json:"room_events"`
}
type SearchContextResponse ¶
type SearchContextResponse struct { End string `json:"end"` EventsAfter []synctypes.ClientEvent `json:"events_after"` EventsBefore []synctypes.ClientEvent `json:"events_before"` Start string `json:"start"` ProfileInfo map[string]ProfileInfoResponse `json:"profile_info"` }
type SearchRequest ¶
type SearchRequest struct {
SearchCategories SearchCategories `json:"search_categories"`
}
type SearchResponse ¶
type SearchResponse struct {
SearchCategories SearchCategoriesResponse `json:"search_categories"`
}
Click to show internal directories.
Click to hide internal directories.