|
55 | 55 | ON_THREEPID_BIND_CALLBACK = Callable[[str, str, str], Awaitable] |
56 | 56 | ON_ADD_USER_THIRD_PARTY_IDENTIFIER_CALLBACK = Callable[[str, str, str], Awaitable] |
57 | 57 | ON_REMOVE_USER_THIRD_PARTY_IDENTIFIER_CALLBACK = Callable[[str, str, str], Awaitable] |
58 | | -ON_UPGRADE_ROOM_CALLBACK = Callable[[Requester, RoomVersion], Awaitable] |
| 58 | +ON_UPGRADE_ROOM_CALLBACK = Callable[[Requester, RoomVersion, bool], Awaitable] |
59 | 59 |
|
60 | 60 |
|
61 | 61 | def load_legacy_third_party_event_rules(hs: "HomeServer") -> None: |
@@ -605,17 +605,18 @@ async def on_remove_user_third_party_identifier( |
605 | 605 | ) |
606 | 606 |
|
607 | 607 | async def on_upgrade_room( |
608 | | - self, requester: Requester, room_version: RoomVersion |
| 608 | + self, requester: Requester, room_version: RoomVersion, is_requester_admin: bool |
609 | 609 | ) -> None: |
610 | 610 | """Intercept requests to upgrade a room to maybe deny it (via an exception). |
611 | 611 |
|
612 | 612 | Args: |
613 | 613 | requester |
614 | 614 | room_version: The RoomVersion requested for the upgrade. |
| 615 | + is_requester_admin: If the requester is an admin |
615 | 616 | """ |
616 | 617 | for callback in self._on_upgrade_room_callbacks: |
617 | 618 | try: |
618 | | - await callback(requester, room_version) |
| 619 | + await callback(requester, room_version, is_requester_admin) |
619 | 620 | except Exception as e: |
620 | 621 | logger.exception( |
621 | 622 | "Failed to run module API callback %s: %s", callback, e |
|
0 commit comments