|
@@ -14,7 +14,7 @@
|
|
|
# limitations under the License.
|
|
|
|
|
|
import logging
|
|
|
-from typing import List, Optional, Tuple
|
|
|
+from typing import TYPE_CHECKING, List, Optional, Tuple
|
|
|
|
|
|
from synapse.api.errors import SynapseError
|
|
|
from synapse.handlers.room_member import RoomMemberHandler
|
|
@@ -25,11 +25,14 @@ from synapse.replication.http.membership import (
|
|
|
)
|
|
|
from synapse.types import Requester, UserID
|
|
|
|
|
|
+if TYPE_CHECKING:
|
|
|
+ from synapse.app.homeserver import HomeServer
|
|
|
+
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
|
|
|
class RoomMemberWorkerHandler(RoomMemberHandler):
|
|
|
- def __init__(self, hs):
|
|
|
+ def __init__(self, hs: "HomeServer"):
|
|
|
super().__init__(hs)
|
|
|
|
|
|
self._remote_join_client = ReplRemoteJoin.make_client(hs)
|
|
@@ -83,3 +86,6 @@ class RoomMemberWorkerHandler(RoomMemberHandler):
|
|
|
await self._notify_change_client(
|
|
|
user_id=target.to_string(), room_id=room_id, change="left"
|
|
|
)
|
|
|
+
|
|
|
+ async def forget(self, target: UserID, room_id: str) -> None:
|
|
|
+ raise RuntimeError("Cannot forget rooms on workers.")
|