aboutsummaryrefslogtreecommitdiff
path: root/federationapi/internal/perform.go
diff options
context:
space:
mode:
Diffstat (limited to 'federationapi/internal/perform.go')
-rw-r--r--federationapi/internal/perform.go30
1 files changed, 30 insertions, 0 deletions
diff --git a/federationapi/internal/perform.go b/federationapi/internal/perform.go
index 552942f2..b9684f76 100644
--- a/federationapi/internal/perform.go
+++ b/federationapi/internal/perform.go
@@ -840,6 +840,36 @@ func (r *FederationInternalAPI) P2PQueryRelayServers(
return nil
}
+// P2PAddRelayServers implements api.FederationInternalAPI
+func (r *FederationInternalAPI) P2PAddRelayServers(
+ ctx context.Context,
+ request *api.P2PAddRelayServersRequest,
+ response *api.P2PAddRelayServersResponse,
+) error {
+ logrus.Infof("Adding relay servers for: %s", request.Server)
+ err := r.db.P2PAddRelayServersForServer(ctx, request.Server, request.RelayServers)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// P2PRemoveRelayServers implements api.FederationInternalAPI
+func (r *FederationInternalAPI) P2PRemoveRelayServers(
+ ctx context.Context,
+ request *api.P2PRemoveRelayServersRequest,
+ response *api.P2PRemoveRelayServersResponse,
+) error {
+ logrus.Infof("Adding relay servers for: %s", request.Server)
+ err := r.db.P2PRemoveRelayServersForServer(ctx, request.Server, request.RelayServers)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
func (r *FederationInternalAPI) shouldAttemptDirectFederation(
destination gomatrixserverlib.ServerName,
) bool {