aboutsummaryrefslogtreecommitdiff
path: root/appservice
diff options
context:
space:
mode:
authorNeil Alexander <neilalexander@users.noreply.github.com>2020-05-01 10:48:17 +0100
committerGitHub <noreply@github.com>2020-05-01 10:48:17 +0100
commite15f6676ac3f76ec2ef679c2df300d6a8e7e668f (patch)
tree0b82339939e8932d46e1ca2cf6024ab55dc7602f /appservice
parentebbfc125920beb321713e28a2a137d768406fa15 (diff)
Consolidation of roomserver APIs (#994)
* Consolidation of roomserver APIs * Comment out alias tests for now, they are broken * Wire AS API into roomserver again * Roomserver didn't take asAPI param before so return to that * Prevent roomserver asking AS API for alias info * Rename some files * Remove alias_test, incoherent tests and unwanted appservice integration * Remove FS API inject on syncapi component
Diffstat (limited to 'appservice')
-rw-r--r--appservice/appservice.go7
-rw-r--r--appservice/consumers/roomserver.go13
-rw-r--r--appservice/routing/routing.go2
3 files changed, 9 insertions, 13 deletions
diff --git a/appservice/appservice.go b/appservice/appservice.go
index 18179987..71d13199 100644
--- a/appservice/appservice.go
+++ b/appservice/appservice.go
@@ -44,8 +44,7 @@ func SetupAppServiceAPIComponent(
accountsDB accounts.Database,
deviceDB devices.Database,
federation *gomatrixserverlib.FederationClient,
- roomserverAliasAPI roomserverAPI.RoomserverAliasAPI,
- roomserverQueryAPI roomserverAPI.RoomserverQueryAPI,
+ rsAPI roomserverAPI.RoomserverInternalAPI,
transactionsCache *transactions.Cache,
) appserviceAPI.AppServiceQueryAPI {
// Create a connection to the appservice postgres DB
@@ -87,7 +86,7 @@ func SetupAppServiceAPIComponent(
consumer := consumers.NewOutputRoomEventConsumer(
base.Cfg, base.KafkaConsumer, accountsDB, appserviceDB,
- roomserverQueryAPI, roomserverAliasAPI, workerStates,
+ rsAPI, workerStates,
)
if err := consumer.Start(); err != nil {
logrus.WithError(err).Panicf("failed to start appservice roomserver consumer")
@@ -100,7 +99,7 @@ func SetupAppServiceAPIComponent(
// Set up HTTP Endpoints
routing.Setup(
- base.APIMux, base.Cfg, roomserverQueryAPI, roomserverAliasAPI,
+ base.APIMux, base.Cfg, rsAPI,
accountsDB, federation, transactionsCache,
)
diff --git a/appservice/consumers/roomserver.go b/appservice/consumers/roomserver.go
index 3bd364c5..b7f68924 100644
--- a/appservice/consumers/roomserver.go
+++ b/appservice/consumers/roomserver.go
@@ -35,8 +35,7 @@ type OutputRoomEventConsumer struct {
roomServerConsumer *common.ContinualConsumer
db accounts.Database
asDB storage.Database
- query api.RoomserverQueryAPI
- alias api.RoomserverAliasAPI
+ rsAPI api.RoomserverInternalAPI
serverName string
workerStates []types.ApplicationServiceWorkerState
}
@@ -48,8 +47,7 @@ func NewOutputRoomEventConsumer(
kafkaConsumer sarama.Consumer,
store accounts.Database,
appserviceDB storage.Database,
- queryAPI api.RoomserverQueryAPI,
- aliasAPI api.RoomserverAliasAPI,
+ rsAPI api.RoomserverInternalAPI,
workerStates []types.ApplicationServiceWorkerState,
) *OutputRoomEventConsumer {
consumer := common.ContinualConsumer{
@@ -61,8 +59,7 @@ func NewOutputRoomEventConsumer(
roomServerConsumer: &consumer,
db: store,
asDB: appserviceDB,
- query: queryAPI,
- alias: aliasAPI,
+ rsAPI: rsAPI,
serverName: string(cfg.Matrix.ServerName),
workerStates: workerStates,
}
@@ -139,7 +136,7 @@ func (s *OutputRoomEventConsumer) lookupMissingStateEvents(
// Request the missing events from the roomserver
eventReq := api.QueryEventsByIDRequest{EventIDs: missing}
var eventResp api.QueryEventsByIDResponse
- if err := s.query.QueryEventsByID(context.TODO(), &eventReq, &eventResp); err != nil {
+ if err := s.rsAPI.QueryEventsByID(context.TODO(), &eventReq, &eventResp); err != nil {
return nil, err
}
@@ -200,7 +197,7 @@ func (s *OutputRoomEventConsumer) appserviceIsInterestedInEvent(ctx context.Cont
// Check all known room aliases of the room the event came from
queryReq := api.GetAliasesForRoomIDRequest{RoomID: event.RoomID()}
var queryRes api.GetAliasesForRoomIDResponse
- if err := s.alias.GetAliasesForRoomID(ctx, &queryReq, &queryRes); err == nil {
+ if err := s.rsAPI.GetAliasesForRoomID(ctx, &queryReq, &queryRes); err == nil {
for _, alias := range queryRes.Aliases {
if appservice.IsInterestedInRoomAlias(alias) {
return true
diff --git a/appservice/routing/routing.go b/appservice/routing/routing.go
index 42fa8052..9f59e05f 100644
--- a/appservice/routing/routing.go
+++ b/appservice/routing/routing.go
@@ -37,7 +37,7 @@ const pathPrefixApp = "/_matrix/app/v1"
// nolint: gocyclo
func Setup(
apiMux *mux.Router, cfg *config.Dendrite, // nolint: unparam
- queryAPI api.RoomserverQueryAPI, aliasAPI api.RoomserverAliasAPI, // nolint: unparam
+ rsAPI api.RoomserverInternalAPI, // nolint: unparam
accountDB accounts.Database, // nolint: unparam
federation *gomatrixserverlib.FederationClient, // nolint: unparam
transactionsCache *transactions.Cache, // nolint: unparam