Documentation ¶
Index ¶
- type RoomserverInternalAPI
- func (r *RoomserverInternalAPI) GetAliasesForRoomID(ctx context.Context, request *api.GetAliasesForRoomIDRequest, ...) error
- func (r *RoomserverInternalAPI) GetCreatorIDForAlias(ctx context.Context, request *api.GetCreatorIDForAliasRequest, ...) error
- func (r *RoomserverInternalAPI) GetRoomIDForAlias(ctx context.Context, request *api.GetRoomIDForAliasRequest, ...) error
- func (r *RoomserverInternalAPI) PerformForget(ctx context.Context, req *api.PerformForgetRequest, ...) error
- func (r *RoomserverInternalAPI) PerformInvite(ctx context.Context, req *api.PerformInviteRequest, ...) error
- func (r *RoomserverInternalAPI) PerformLeave(ctx context.Context, req *api.PerformLeaveRequest, ...) error
- func (r *RoomserverInternalAPI) RemoveRoomAlias(ctx context.Context, request *api.RemoveRoomAliasRequest, ...) error
- func (r *RoomserverInternalAPI) SetFederationSenderAPI(fsAPI fsAPI.FederationSenderInternalAPI)
- func (r *RoomserverInternalAPI) SetRoomAlias(ctx context.Context, request *api.SetRoomAliasRequest, ...) error
- type RoomserverInternalAPIDatabase
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type RoomserverInternalAPI ¶
type RoomserverInternalAPI struct { *input.Inputer *query.Queryer *perform.Inviter *perform.Joiner *perform.Peeker *perform.Unpeeker *perform.Leaver *perform.Publisher *perform.Backfiller *perform.Forgetter DB storage.Database Cfg *config.RoomServer Producer sarama.SyncProducer Cache caching.RoomServerCaches ServerName gomatrixserverlib.ServerName KeyRing gomatrixserverlib.JSONVerifier OutputRoomEventTopic string // Kafka topic for new output room events PerspectiveServerNames []gomatrixserverlib.ServerName // contains filtered or unexported fields }
RoomserverInternalAPI is an implementation of api.RoomserverInternalAPI
func NewRoomserverAPI ¶
func NewRoomserverAPI( cfg *config.RoomServer, roomserverDB storage.Database, producer sarama.SyncProducer, outputRoomEventTopic string, caches caching.RoomServerCaches, keyRing gomatrixserverlib.JSONVerifier, perspectiveServerNames []gomatrixserverlib.ServerName, ) *RoomserverInternalAPI
func (*RoomserverInternalAPI) GetAliasesForRoomID ¶
func (r *RoomserverInternalAPI) GetAliasesForRoomID( ctx context.Context, request *api.GetAliasesForRoomIDRequest, response *api.GetAliasesForRoomIDResponse, ) error
GetAliasesForRoomID implements alias.RoomserverInternalAPI
func (*RoomserverInternalAPI) GetCreatorIDForAlias ¶
func (r *RoomserverInternalAPI) GetCreatorIDForAlias( ctx context.Context, request *api.GetCreatorIDForAliasRequest, response *api.GetCreatorIDForAliasResponse, ) error
GetCreatorIDForAlias implements alias.RoomserverInternalAPI
func (*RoomserverInternalAPI) GetRoomIDForAlias ¶
func (r *RoomserverInternalAPI) GetRoomIDForAlias( ctx context.Context, request *api.GetRoomIDForAliasRequest, response *api.GetRoomIDForAliasResponse, ) error
GetRoomIDForAlias implements alias.RoomserverInternalAPI
func (*RoomserverInternalAPI) PerformForget ¶ added in v0.3.0
func (r *RoomserverInternalAPI) PerformForget( ctx context.Context, req *api.PerformForgetRequest, resp *api.PerformForgetResponse, ) error
func (*RoomserverInternalAPI) PerformInvite ¶
func (r *RoomserverInternalAPI) PerformInvite( ctx context.Context, req *api.PerformInviteRequest, res *api.PerformInviteResponse, ) error
func (*RoomserverInternalAPI) PerformLeave ¶
func (r *RoomserverInternalAPI) PerformLeave( ctx context.Context, req *api.PerformLeaveRequest, res *api.PerformLeaveResponse, ) error
func (*RoomserverInternalAPI) RemoveRoomAlias ¶
func (r *RoomserverInternalAPI) RemoveRoomAlias( ctx context.Context, request *api.RemoveRoomAliasRequest, response *api.RemoveRoomAliasResponse, ) error
RemoveRoomAlias implements alias.RoomserverInternalAPI
func (*RoomserverInternalAPI) SetFederationSenderAPI ¶
func (r *RoomserverInternalAPI) SetFederationSenderAPI(fsAPI fsAPI.FederationSenderInternalAPI)
SetFederationSenderInputAPI passes in a federation sender input API reference so that we can avoid the chicken-and-egg problem of both the roomserver input API and the federation sender input API being interdependent.
func (*RoomserverInternalAPI) SetRoomAlias ¶
func (r *RoomserverInternalAPI) SetRoomAlias( ctx context.Context, request *api.SetRoomAliasRequest, response *api.SetRoomAliasResponse, ) error
SetRoomAlias implements alias.RoomserverInternalAPI
type RoomserverInternalAPIDatabase ¶
type RoomserverInternalAPIDatabase interface { // Save a given room alias with the room ID it refers to. // Returns an error if there was a problem talking to the database. SetRoomAlias(ctx context.Context, alias string, roomID string, creatorUserID string) error // Look up the room ID a given alias refers to. // Returns an error if there was a problem talking to the database. GetRoomIDForAlias(ctx context.Context, alias string) (string, error) // Look up all aliases referring to a given room ID. // Returns an error if there was a problem talking to the database. GetAliasesForRoomID(ctx context.Context, roomID string) ([]string, error) // Get the user ID of the creator of an alias. // Returns an error if there was a problem talking to the database. GetCreatorIDForAlias(ctx context.Context, alias string) (string, error) // Remove a given room alias. // Returns an error if there was a problem talking to the database. RemoveRoomAlias(ctx context.Context, alias string) error // Look up the room version for a given room. GetRoomVersionForRoom( ctx context.Context, roomID string, ) (gomatrixserverlib.RoomVersion, error) }
RoomserverInternalAPIDatabase has the storage APIs needed to implement the alias API.