internal

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Mar 12, 2025 License: AGPL-3.0 Imports: 32 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
	*perform.Creator
	ProcessContext *process.ProcessContext
	DB             storage.Database
	Cfg            *config.Dendrite
	Cache          caching.RoomServerCaches
	ServerName     spec.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 []spec.ServerName
	// contains filtered or unexported fields
}

RoomserverInternalAPI is an implementation of api.RoomserverInternalAPI

func NewRoomserverAPI

func NewRoomserverAPI(
	processContext *process.ProcessContext, dendriteCfg *config.Dendrite, roomserverDB storage.Database,
	js nats.JetStreamContext, nc *nats.Conn, caches caching.RoomServerCaches, enableMetrics bool,
) *RoomserverInternalAPI

func (*RoomserverInternalAPI) AssignRoomNID

func (r *RoomserverInternalAPI) AssignRoomNID(ctx context.Context, roomID spec.RoomID, roomVersion gomatrixserverlib.RoomVersion) (roomNID types.RoomNID, err error)

func (*RoomserverInternalAPI) DefaultRoomVersion

func (r *RoomserverInternalAPI) DefaultRoomVersion() gomatrixserverlib.RoomVersion

func (*RoomserverInternalAPI) GetAliasesForRoomID

func (r *RoomserverInternalAPI) GetAliasesForRoomID(
	ctx context.Context,
	request *api.GetAliasesForRoomIDRequest,
	response *api.GetAliasesForRoomIDResponse,
) error

GetAliasesForRoomID implements alias.RoomserverInternalAPI

func (*RoomserverInternalAPI) GetOrCreateUserRoomPrivateKey

func (r *RoomserverInternalAPI) GetOrCreateUserRoomPrivateKey(ctx context.Context, userID spec.UserID, roomID spec.RoomID) (ed25519.PrivateKey, error)

GetOrCreateUserRoomPrivateKey gets the user room key for the specified user. If no key exists yet, a new one is created.

func (*RoomserverInternalAPI) GetRoomIDForAlias

func (r *RoomserverInternalAPI) GetRoomIDForAlias(
	ctx context.Context,
	request *api.GetRoomIDForAliasRequest,
	response *api.GetRoomIDForAliasResponse,
) error

GetRoomIDForAlias implements alias.RoomserverInternalAPI

func (*RoomserverInternalAPI) HandleInvite

func (r *RoomserverInternalAPI) HandleInvite(
	ctx context.Context, inviteEvent *types.HeaderedEvent,
) error

func (*RoomserverInternalAPI) InsertReportedEvent

func (r *RoomserverInternalAPI) InsertReportedEvent(
	ctx context.Context,
	roomID, eventID, reportingUserID, reason string,
	score int64,
) (int64, error)

func (*RoomserverInternalAPI) IsKnownRoom

func (r *RoomserverInternalAPI) IsKnownRoom(ctx context.Context, roomID spec.RoomID) (bool, error)

func (*RoomserverInternalAPI) PerformCreateRoom

func (r *RoomserverInternalAPI) PerformCreateRoom(
	ctx context.Context, userID spec.UserID, roomID spec.RoomID, createRequest *api.PerformCreateRoomRequest,
) (string, *util.JSONResponse)

func (*RoomserverInternalAPI) PerformForget

func (*RoomserverInternalAPI) PerformInvite

func (r *RoomserverInternalAPI) PerformInvite(
	ctx context.Context,
	req *api.PerformInviteRequest,
) error

func (*RoomserverInternalAPI) PerformLeave

func (*RoomserverInternalAPI) RemoveRoomAlias

func (r *RoomserverInternalAPI) RemoveRoomAlias(ctx context.Context, senderID spec.SenderID, alias string) (aliasFound bool, aliasRemoved bool, err error)

nolint:gocyclo RemoveRoomAlias implements alias.RoomserverInternalAPI nolint: gocyclo

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,
	senderID spec.SenderID,
	roomID spec.RoomID,
	alias string,
) (aliasAlreadyUsed bool, err error)

SetRoomAlias implements alias.RoomserverInternalAPI

func (*RoomserverInternalAPI) SetUserAPI

func (r *RoomserverInternalAPI) SetUserAPI(userAPI userapi.RoomserverUserAPI)

func (*RoomserverInternalAPI) SigningIdentityFor

func (r *RoomserverInternalAPI) SigningIdentityFor(ctx context.Context, roomID spec.RoomID, senderID spec.UserID) (fclient.SigningIdentity, error)

func (*RoomserverInternalAPI) StateQuerier

func (*RoomserverInternalAPI) StoreUserRoomPublicKey

func (r *RoomserverInternalAPI) StoreUserRoomPublicKey(ctx context.Context, senderID spec.SenderID, userID spec.UserID, roomID spec.RoomID) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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