mirror of
https://mau.dev/mautrix/go.git
synced 2026-03-14 14:25:53 +01:00
bridgev2/matrixinterface: add parent interface to MatrixConnector subinterfaces
This commit is contained in:
parent
9d70b2b845
commit
3d5de4ed2f
2 changed files with 23 additions and 10 deletions
|
|
@ -59,10 +59,12 @@ type MatrixConnector interface {
|
|||
}
|
||||
|
||||
type MatrixConnectorWithArbitraryRoomState interface {
|
||||
MatrixConnector
|
||||
GetStateEvent(ctx context.Context, roomID id.RoomID, eventType event.Type, stateKey string) (*event.Event, error)
|
||||
}
|
||||
|
||||
type MatrixConnectorWithServer interface {
|
||||
MatrixConnector
|
||||
GetPublicAddress() string
|
||||
GetRouter() *http.ServeMux
|
||||
}
|
||||
|
|
@ -73,31 +75,38 @@ type IProvisioningAPI interface {
|
|||
}
|
||||
|
||||
type MatrixConnectorWithProvisioning interface {
|
||||
MatrixConnector
|
||||
GetProvisioning() IProvisioningAPI
|
||||
}
|
||||
|
||||
type MatrixConnectorWithPublicMedia interface {
|
||||
MatrixConnector
|
||||
GetPublicMediaAddress(contentURI id.ContentURIString) string
|
||||
GetPublicMediaAddressForEvent(ctx context.Context, evt *event.MessageEventContent) (string, error)
|
||||
}
|
||||
|
||||
type MatrixConnectorWithNameDisambiguation interface {
|
||||
MatrixConnector
|
||||
IsConfusableName(ctx context.Context, roomID id.RoomID, userID id.UserID, name string) ([]id.UserID, error)
|
||||
}
|
||||
|
||||
type MatrixConnectorWithBridgeIdentifier interface {
|
||||
MatrixConnector
|
||||
GetUniqueBridgeID() string
|
||||
}
|
||||
|
||||
type MatrixConnectorWithURLPreviews interface {
|
||||
MatrixConnector
|
||||
GetURLPreview(ctx context.Context, url string) (*event.LinkPreview, error)
|
||||
}
|
||||
|
||||
type MatrixConnectorWithPostRoomBridgeHandling interface {
|
||||
MatrixConnector
|
||||
HandleNewlyBridgedRoom(ctx context.Context, roomID id.RoomID) error
|
||||
}
|
||||
|
||||
type MatrixConnectorWithAnalytics interface {
|
||||
MatrixConnector
|
||||
TrackAnalytics(userID id.UserID, event string, properties map[string]any)
|
||||
}
|
||||
|
||||
|
|
@ -112,6 +121,7 @@ type DirectNotificationData struct {
|
|||
}
|
||||
|
||||
type MatrixConnectorWithNotifications interface {
|
||||
MatrixConnector
|
||||
DisplayNotification(ctx context.Context, data *DirectNotificationData)
|
||||
}
|
||||
|
||||
|
|
@ -192,9 +202,11 @@ type MatrixAPI interface {
|
|||
}
|
||||
|
||||
type StreamOrderReadingMatrixAPI interface {
|
||||
MatrixAPI
|
||||
MarkStreamOrderRead(ctx context.Context, roomID id.RoomID, streamOrder int64, ts time.Time) error
|
||||
}
|
||||
|
||||
type MarkAsDMMatrixAPI interface {
|
||||
MatrixAPI
|
||||
MarkAsDM(ctx context.Context, roomID id.RoomID, otherUser id.UserID) error
|
||||
}
|
||||
|
|
|
|||
|
|
@ -261,6 +261,7 @@ type NetworkConnector interface {
|
|||
}
|
||||
|
||||
type StoppableNetwork interface {
|
||||
NetworkConnector
|
||||
// Stop is called when the bridge is stopping, after all network clients have been disconnected.
|
||||
Stop()
|
||||
}
|
||||
|
|
@ -295,11 +296,6 @@ type PortalBridgeInfoFillingNetwork interface {
|
|||
FillPortalBridgeInfo(portal *Portal, content *event.BridgeEventContent)
|
||||
}
|
||||
|
||||
type PersonalFilteringCustomizingNetworkAPI interface {
|
||||
NetworkAPI
|
||||
CustomizePersonalFilteringSpace(req *mautrix.ReqCreateRoom)
|
||||
}
|
||||
|
||||
// ConfigValidatingNetwork is an optional interface that network connectors can implement to validate config fields
|
||||
// before the bridge is started.
|
||||
//
|
||||
|
|
@ -792,6 +788,16 @@ type UserSearchingNetworkAPI interface {
|
|||
SearchUsers(ctx context.Context, query string) ([]*ResolveIdentifierResponse, error)
|
||||
}
|
||||
|
||||
type GroupCreatingNetworkAPI interface {
|
||||
IdentifierResolvingNetworkAPI
|
||||
CreateGroup(ctx context.Context, params *GroupCreateParams) (*CreateChatResponse, error)
|
||||
}
|
||||
|
||||
type PersonalFilteringCustomizingNetworkAPI interface {
|
||||
NetworkAPI
|
||||
CustomizePersonalFilteringSpace(req *mautrix.ReqCreateRoom)
|
||||
}
|
||||
|
||||
type ProvisioningCapabilities struct {
|
||||
ResolveIdentifier ResolveIdentifierCapabilities `json:"resolve_identifier"`
|
||||
GroupCreation map[string]GroupTypeCapabilities `json:"group_creation"`
|
||||
|
|
@ -863,11 +869,6 @@ type GroupCreateParams struct {
|
|||
RoomID id.RoomID `json:"room_id,omitempty"`
|
||||
}
|
||||
|
||||
type GroupCreatingNetworkAPI interface {
|
||||
IdentifierResolvingNetworkAPI
|
||||
CreateGroup(ctx context.Context, params *GroupCreateParams) (*CreateChatResponse, error)
|
||||
}
|
||||
|
||||
type MembershipChangeType struct {
|
||||
From event.Membership
|
||||
To event.Membership
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue