Documentation ¶
Index ¶
- type RoomserverInternalAPI
- func (r *RoomserverInternalAPI) GetAliasesForRoomID(ctx context.Context, request *api.GetAliasesForRoomIDRequest, ...) 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) SetAppserviceAPI(asAPI asAPI.AppServiceInternalAPI)
- func (r *RoomserverInternalAPI) SetFederationAPI(fsAPI fsAPI.RoomserverFederationAPI, keyRing *gomatrixserverlib.KeyRing)
- func (r *RoomserverInternalAPI) SetRoomAlias(ctx context.Context, request *api.SetRoomAliasRequest, ...) error
- func (r *RoomserverInternalAPI) SetUserAPI(userAPI userapi.RoomserverUserAPI)
- 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.InboundPeeker *perform.Unpeeker *perform.Leaver *perform.Publisher *perform.Backfiller *perform.Forgetter *perform.Upgrader *perform.Admin ProcessContext *process.ProcessContext Base *base.BaseDendrite DB storage.Database Cfg *config.RoomServer Cache caching.RoomServerCaches ServerName gomatrixserverlib.ServerName KeyRing gomatrixserverlib.JSONVerifier ServerACLs *acls.ServerACLs NATSClient *nats.Conn JetStream nats.JetStreamContext Durable string InputRoomEventTopic string // JetStream topic for new input room events OutputProducer *producers.RoomEventProducer PerspectiveServerNames []gomatrixserverlib.ServerName // contains filtered or unexported fields }
RoomserverInternalAPI is an implementation of api.RoomserverInternalAPI
func NewRoomserverAPI ¶
func NewRoomserverAPI( base *base.BaseDendrite, roomserverDB storage.Database, js nats.JetStreamContext, nc *nats.Conn, ) *RoomserverInternalAPI
func (*RoomserverInternalAPI) GetAliasesForRoomID ¶
func (r *RoomserverInternalAPI) GetAliasesForRoomID( ctx context.Context, request *api.GetAliasesForRoomIDRequest, response *api.GetAliasesForRoomIDResponse, ) error
GetAliasesForRoomID 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 ¶
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) SetAppserviceAPI ¶
func (r *RoomserverInternalAPI) SetAppserviceAPI(asAPI asAPI.AppServiceInternalAPI)
func (*RoomserverInternalAPI) SetFederationAPI ¶
func (r *RoomserverInternalAPI) SetFederationAPI(fsAPI fsAPI.RoomserverFederationAPI, keyRing *gomatrixserverlib.KeyRing)
SetFederationInputAPI passes in a federation input API reference so that we can avoid the chicken-and-egg problem of both the roomserver input API and the federation 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
func (*RoomserverInternalAPI) SetUserAPI ¶
func (r *RoomserverInternalAPI) SetUserAPI(userAPI userapi.RoomserverUserAPI)
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) // 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.
Click to show internal directories.
Click to hide internal directories.