internal

package
v0.0.0-...-811715e Latest Latest
Warning

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

Go to latest
Published: Nov 29, 2022 License: Apache-2.0 Imports: 28 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
	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 (*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

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.

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