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.