Add a flag to indicate if the requesting user can unbridge the portal

This commit is contained in:
Travis Ralston
2018-09-16 16:16:33 -06:00
parent d4ea5f8b38
commit 23bb2871fd
3 changed files with 34 additions and 0 deletions
+15
View File
@@ -184,6 +184,21 @@ class Portal:
return tgid not in self.filter_list
return True
# endregion
# region Permission checks
async def can_user_perform(self, user: 'u.User', event: str, default: int = 50) -> bool:
if user.is_admin:
return True
try:
await self.main_intent.get_power_levels(self.mxid)
except MatrixRequestError:
return False
return self.main_intent.state_store.has_power_level(
self.mxid, user.mxid,
event=f"net.maunium.telegram.{event}",
default=default)
# endregion
# region Deduplication