mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-02 10:56:06 -04:00
Simplify _locally_reject_invite
Update `EventCreationHandler.create_event` to accept an auth_events param, and use it in `_locally_reject_invite` instead of reinventing the wheel.
This commit is contained in:
parent
d9d86c2996
commit
a34b17e492
6 changed files with 52 additions and 57 deletions
|
@ -439,6 +439,7 @@ class EventCreationHandler:
|
|||
event_dict: dict,
|
||||
txn_id: Optional[str] = None,
|
||||
prev_event_ids: Optional[List[str]] = None,
|
||||
auth_event_ids: Optional[List[str]] = None,
|
||||
require_consent: bool = True,
|
||||
) -> Tuple[EventBase, EventContext]:
|
||||
"""
|
||||
|
@ -458,6 +459,12 @@ class EventCreationHandler:
|
|||
new event.
|
||||
|
||||
If None, they will be requested from the database.
|
||||
|
||||
auth_event_ids:
|
||||
The event ids to use as the auth_events for the new event.
|
||||
Should normally be left as None, which will cause them to be calculated
|
||||
based on the room state at the prev_events.
|
||||
|
||||
require_consent: Whether to check if the requester has
|
||||
consented to the privacy policy.
|
||||
Raises:
|
||||
|
@ -516,7 +523,10 @@ class EventCreationHandler:
|
|||
builder.internal_metadata.txn_id = txn_id
|
||||
|
||||
event, context = await self.create_new_client_event(
|
||||
builder=builder, requester=requester, prev_event_ids=prev_event_ids,
|
||||
builder=builder,
|
||||
requester=requester,
|
||||
prev_event_ids=prev_event_ids,
|
||||
auth_event_ids=auth_event_ids,
|
||||
)
|
||||
|
||||
# In an ideal world we wouldn't need the second part of this condition. However,
|
||||
|
@ -755,6 +765,7 @@ class EventCreationHandler:
|
|||
builder: EventBuilder,
|
||||
requester: Optional[Requester] = None,
|
||||
prev_event_ids: Optional[List[str]] = None,
|
||||
auth_event_ids: Optional[List[str]] = None,
|
||||
) -> Tuple[EventBase, EventContext]:
|
||||
"""Create a new event for a local client
|
||||
|
||||
|
@ -767,6 +778,11 @@ class EventCreationHandler:
|
|||
|
||||
If None, they will be requested from the database.
|
||||
|
||||
auth_event_ids:
|
||||
The event ids to use as the auth_events for the new event.
|
||||
Should normally be left as None, which will cause them to be calculated
|
||||
based on the room state at the prev_events.
|
||||
|
||||
Returns:
|
||||
Tuple of created event, context
|
||||
"""
|
||||
|
@ -788,7 +804,9 @@ class EventCreationHandler:
|
|||
builder.type == EventTypes.Create or len(prev_event_ids) > 0
|
||||
), "Attempting to create an event with no prev_events"
|
||||
|
||||
event = await builder.build(prev_event_ids=prev_event_ids)
|
||||
event = await builder.build(
|
||||
prev_event_ids=prev_event_ids, auth_event_ids=auth_event_ids
|
||||
)
|
||||
context = await self.state.compute_event_context(event)
|
||||
if requester:
|
||||
context.app_service = requester.app_service
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue