internal

package
v0.8.6 Latest Latest
Warning

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

Go to latest
Published: May 26, 2022 License: Apache-2.0 Imports: 25 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.InboundPeeker
	*perform.Unpeeker
	*perform.Leaver
	*perform.Publisher
	*perform.Backfiller
	*perform.Forgetter
	*perform.Upgrader
	*perform.Admin
	ProcessContext *process.ProcessContext
	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
	OutputRoomEventTopic   string // JetStream 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(
	processCtx *process.ProcessContext, cfg *config.RoomServer, roomserverDB storage.Database,
	consumer nats.JetStreamContext, nc *nats.Conn,
	inputRoomEventTopic, outputRoomEventTopic string,
	caches caching.RoomServerCaches, 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) 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) SetAppserviceAPI added in v0.3.4

func (r *RoomserverInternalAPI) SetAppserviceAPI(asAPI asAPI.AppServiceInternalAPI)

func (*RoomserverInternalAPI) SetFederationAPI added in v0.6.0

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 added in v0.6.4

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.

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