05cafbd197
* Add possibility to set history_visibility and user AccountType
* Add new DB queries
* Add actual history_visibility changes for /messages
* Add passing tests
* Extract check function
* Cleanup
* Cleanup
* Fix build on 386
* Move ApplyHistoryVisibilityFilter to internal
* Move queries to topology table
* Add filtering to /sync and /context
Some cleanup
* Add passing tests; Remove failing tests :(
* Re-add passing tests
* Move filtering to own function to avoid duplication
* Re-add passing test
* Use newly added GMSL HistoryVisibility
* Update gomatrixserverlib
* Set the visibility when creating events
* Default to shared history visibility
* Remove unused query
* Update history visibility checks to use gmsl
Update tests
* Remove unused statement
* Update migrations to set "correct" history visibility
* Add method to fetch the membership at a given event
* Tweaks and logging
* Use actual internal rsAPI, default to shared visibility in tests
* Revert "Move queries to topology table"
This reverts commit 4f0d41be9c
.
* Remove noise/unneeded code
* More cleanup
* Try to optimize database requests
* Fix imports
* PR peview fixes/changes
* Move setting history visibility to own migration, be more restrictive
* Fix unit tests
* Lint
* Fix missing entries
* Tweaks for incremental syncs
* Adapt generic changes
Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
Co-authored-by: kegsay <kegan@matrix.org>
202 lines
5.9 KiB
Go
202 lines
5.9 KiB
Go
package inthttp
|
|
|
|
import (
|
|
"github.com/gorilla/mux"
|
|
|
|
"github.com/matrix-org/dendrite/internal/httputil"
|
|
"github.com/matrix-org/dendrite/roomserver/api"
|
|
)
|
|
|
|
// AddRoutes adds the RoomserverInternalAPI handlers to the http.ServeMux.
|
|
// nolint: gocyclo
|
|
func AddRoutes(r api.RoomserverInternalAPI, internalAPIMux *mux.Router) {
|
|
internalAPIMux.Handle(
|
|
RoomserverInputRoomEventsPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverInputRoomEvents", r.InputRoomEvents),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverPerformInvitePath,
|
|
httputil.MakeInternalRPCAPI("RoomserverPerformInvite", r.PerformInvite),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverPerformJoinPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverPerformJoin", r.PerformJoin),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverPerformLeavePath,
|
|
httputil.MakeInternalRPCAPI("RoomserverPerformLeave", r.PerformLeave),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverPerformPeekPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverPerformPeek", r.PerformPeek),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverPerformInboundPeekPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverPerformInboundPeek", r.PerformInboundPeek),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverPerformUnpeekPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverPerformUnpeek", r.PerformUnpeek),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverPerformRoomUpgradePath,
|
|
httputil.MakeInternalRPCAPI("RoomserverPerformRoomUpgrade", r.PerformRoomUpgrade),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverPerformPublishPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverPerformPublish", r.PerformPublish),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverPerformAdminEvacuateRoomPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverPerformAdminEvacuateRoom", r.PerformAdminEvacuateRoom),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverPerformAdminEvacuateUserPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverPerformAdminEvacuateUser", r.PerformAdminEvacuateUser),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverQueryPublishedRoomsPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverQueryPublishedRooms", r.QueryPublishedRooms),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverQueryLatestEventsAndStatePath,
|
|
httputil.MakeInternalRPCAPI("RoomserverQueryLatestEventsAndState", r.QueryLatestEventsAndState),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverQueryStateAfterEventsPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverQueryStateAfterEvents", r.QueryStateAfterEvents),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverQueryEventsByIDPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverQueryEventsByID", r.QueryEventsByID),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverQueryMembershipForUserPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverQueryMembershipForUser", r.QueryMembershipForUser),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverQueryMembershipsForRoomPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverQueryMembershipsForRoom", r.QueryMembershipsForRoom),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverQueryServerJoinedToRoomPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverQueryServerJoinedToRoom", r.QueryServerJoinedToRoom),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverQueryServerAllowedToSeeEventPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverQueryServerAllowedToSeeEvent", r.QueryServerAllowedToSeeEvent),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverQueryMissingEventsPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverQueryMissingEvents", r.QueryMissingEvents),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverQueryStateAndAuthChainPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverQueryStateAndAuthChain", r.QueryStateAndAuthChain),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverPerformBackfillPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverPerformBackfill", r.PerformBackfill),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverPerformForgetPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverPerformForget", r.PerformForget),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverQueryRoomVersionCapabilitiesPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverQueryRoomVersionCapabilities", r.QueryRoomVersionCapabilities),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverQueryRoomVersionForRoomPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverQueryRoomVersionForRoom", r.QueryRoomVersionForRoom),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverSetRoomAliasPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverSetRoomAlias", r.SetRoomAlias),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverGetRoomIDForAliasPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverGetRoomIDForAlias", r.GetRoomIDForAlias),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverGetAliasesForRoomIDPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverGetAliasesForRoomID", r.GetAliasesForRoomID),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverRemoveRoomAliasPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverRemoveRoomAlias", r.RemoveRoomAlias),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverQueryCurrentStatePath,
|
|
httputil.MakeInternalRPCAPI("RoomserverQueryCurrentState", r.QueryCurrentState),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverQueryRoomsForUserPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverQueryRoomsForUser", r.QueryRoomsForUser),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverQueryBulkStateContentPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverQueryBulkStateContent", r.QueryBulkStateContent),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverQuerySharedUsersPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverQuerySharedUsers", r.QuerySharedUsers),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverQueryKnownUsersPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverQueryKnownUsers", r.QueryKnownUsers),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverQueryServerBannedFromRoomPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverQueryServerBannedFromRoom", r.QueryServerBannedFromRoom),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverQueryAuthChainPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverQueryAuthChain", r.QueryAuthChain),
|
|
)
|
|
|
|
internalAPIMux.Handle(
|
|
RoomserverQueryRestrictedJoinAllowed,
|
|
httputil.MakeInternalRPCAPI("RoomserverQueryRestrictedJoinAllowed", r.QueryRestrictedJoinAllowed),
|
|
)
|
|
internalAPIMux.Handle(
|
|
RoomserverQueryMembershipAtEventPath,
|
|
httputil.MakeInternalRPCAPI("RoomserverQueryMembershipAtEventPath", r.QueryMembershipAtEvent),
|
|
)
|
|
}
|