mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-08-06 06:24:10 -04:00
Add beginnings of ban support.
This commit is contained in:
parent
865469f233
commit
db7109c43b
8 changed files with 122 additions and 29 deletions
|
@ -22,7 +22,7 @@ from synapse.api.errors import StoreError, SynapseError
|
|||
from synapse.api.events.room import (
|
||||
RoomMemberEvent, RoomCreateEvent, RoomPowerLevelsEvent,
|
||||
RoomJoinRulesEvent, RoomAddStateLevelEvent,
|
||||
RoomSendEventLevelEvent,
|
||||
RoomSendEventLevelEvent, RoomOpsPowerLevelsEvent,
|
||||
)
|
||||
from synapse.util import stringutils
|
||||
from ._base import BaseRoomHandler
|
||||
|
@ -151,35 +151,44 @@ class RoomCreationHandler(BaseRoomHandler):
|
|||
"user_id": creator.to_string(),
|
||||
}
|
||||
|
||||
creation_event = self.event_factory.create_event(
|
||||
def create(etype, **content):
|
||||
return self.event_factory.create_event(
|
||||
etype=etype,
|
||||
content=content,
|
||||
**event_keys
|
||||
)
|
||||
|
||||
creation_event = create(
|
||||
etype=RoomCreateEvent.TYPE,
|
||||
content={"creator": creator.to_string(), "default": 0},
|
||||
**event_keys
|
||||
creator=creator.to_string(),
|
||||
default=0,
|
||||
)
|
||||
|
||||
power_levels_event = self.event_factory.create_event(
|
||||
power_levels_event = create(
|
||||
etype=RoomPowerLevelsEvent.TYPE,
|
||||
content={creator.to_string(): 10},
|
||||
**event_keys
|
||||
**{creator.to_string(): 10}
|
||||
)
|
||||
|
||||
join_rule = JoinRules.PUBLIC if is_public else JoinRules.INVITE
|
||||
join_rules_event = self.event_factory.create_event(
|
||||
join_rules_event = create(
|
||||
etype=RoomJoinRulesEvent.TYPE,
|
||||
content={"join_rule": join_rule},
|
||||
**event_keys
|
||||
join_rule=join_rule,
|
||||
)
|
||||
|
||||
add_state_event = self.event_factory.create_event(
|
||||
add_state_event = create(
|
||||
etype=RoomAddStateLevelEvent.TYPE,
|
||||
content={"level": 10},
|
||||
**event_keys
|
||||
level=10,
|
||||
)
|
||||
|
||||
send_event = self.event_factory.create_event(
|
||||
send_event = create(
|
||||
etype=RoomSendEventLevelEvent.TYPE,
|
||||
content={"level": 0},
|
||||
**event_keys
|
||||
level=0,
|
||||
)
|
||||
|
||||
ops = create(
|
||||
etype=RoomOpsPowerLevelsEvent.TYPE,
|
||||
ban_level=5,
|
||||
kick_level=5,
|
||||
)
|
||||
|
||||
return [
|
||||
|
@ -188,6 +197,7 @@ class RoomCreationHandler(BaseRoomHandler):
|
|||
join_rules_event,
|
||||
add_state_event,
|
||||
send_event,
|
||||
ops,
|
||||
]
|
||||
|
||||
|
||||
|
@ -493,10 +503,9 @@ class RoomMemberHandler(BaseRoomHandler):
|
|||
host = target_user.domain
|
||||
destinations.append(host)
|
||||
|
||||
# If we are joining a remote HS, include that.
|
||||
if membership == Membership.JOIN:
|
||||
host = target_user.domain
|
||||
destinations.append(host)
|
||||
# Always include target domain
|
||||
host = target_user.domain
|
||||
destinations.append(host)
|
||||
|
||||
return self._on_new_room_event(
|
||||
event, snapshot, extra_destinations=destinations,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue