mirror of
https://github.com/element-hq/synapse.git
synced 2024-12-14 11:57:44 +00:00
Add type hints to the room member handler. (#9631)
This commit is contained in:
parent
27d2820c33
commit
b449af0379
5 changed files with 17 additions and 6 deletions
1
changelog.d/9631.misc
Normal file
1
changelog.d/9631.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Add additional type hints to the Homeserver object.
|
|
@ -437,10 +437,10 @@ class RegistrationHandler(BaseHandler):
|
|||
|
||||
if RoomAlias.is_valid(r):
|
||||
(
|
||||
room_id,
|
||||
room,
|
||||
remote_room_hosts,
|
||||
) = await room_member_handler.lookup_room_alias(room_alias)
|
||||
room_id = room_id.to_string()
|
||||
room_id = room.to_string()
|
||||
else:
|
||||
raise SynapseError(
|
||||
400, "%s was not legal room ID or room alias" % (r,)
|
||||
|
|
|
@ -155,6 +155,10 @@ class RoomMemberHandler(metaclass=abc.ABCMeta):
|
|||
"""
|
||||
raise NotImplementedError()
|
||||
|
||||
@abc.abstractmethod
|
||||
async def forget(self, user: UserID, room_id: str) -> None:
|
||||
raise NotImplementedError()
|
||||
|
||||
def ratelimit_invite(self, room_id: Optional[str], invitee_user_id: str):
|
||||
"""Ratelimit invites by room and by target user.
|
||||
|
||||
|
|
|
@ -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.")
|
||||
|
|
|
@ -96,7 +96,7 @@ from synapse.handlers.room import (
|
|||
RoomShutdownHandler,
|
||||
)
|
||||
from synapse.handlers.room_list import RoomListHandler
|
||||
from synapse.handlers.room_member import RoomMemberMasterHandler
|
||||
from synapse.handlers.room_member import RoomMemberHandler, RoomMemberMasterHandler
|
||||
from synapse.handlers.room_member_worker import RoomMemberWorkerHandler
|
||||
from synapse.handlers.search import SearchHandler
|
||||
from synapse.handlers.set_password import SetPasswordHandler
|
||||
|
@ -630,7 +630,7 @@ class HomeServer(metaclass=abc.ABCMeta):
|
|||
return ThirdPartyEventRules(self)
|
||||
|
||||
@cache_in_self
|
||||
def get_room_member_handler(self):
|
||||
def get_room_member_handler(self) -> RoomMemberHandler:
|
||||
if self.config.worker_app:
|
||||
return RoomMemberWorkerHandler(self)
|
||||
return RoomMemberMasterHandler(self)
|
||||
|
|
Loading…
Reference in a new issue