internal

package
v0.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 20, 2020 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

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.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 (*RoomserverInternalAPI) PerformInvite

func (*RoomserverInternalAPI) PerformLeave

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.

Directories

Path Synopsis
Package input contains the code processes new room events
Package input contains the code processes new room events

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL