|
@@ -17,6 +17,7 @@ from typing import Optional
|
|
|
import attr
|
|
|
from nacl.signing import SigningKey
|
|
|
|
|
|
+from synapse.api.auth import Auth
|
|
|
from synapse.api.constants import MAX_DEPTH
|
|
|
from synapse.api.errors import UnsupportedRoomVersionError
|
|
|
from synapse.api.room_versions import (
|
|
@@ -27,6 +28,8 @@ from synapse.api.room_versions import (
|
|
|
)
|
|
|
from synapse.crypto.event_signing import add_hashes_and_signatures
|
|
|
from synapse.events import EventBase, _EventInternalMetadata, make_event_from_dict
|
|
|
+from synapse.state import StateHandler
|
|
|
+from synapse.storage.databases.main import DataStore
|
|
|
from synapse.types import EventID, JsonDict
|
|
|
from synapse.util import Clock
|
|
|
from synapse.util.stringutils import random_string
|
|
@@ -42,45 +45,46 @@ class EventBuilder(object):
|
|
|
|
|
|
Attributes:
|
|
|
room_version: Version of the target room
|
|
|
- room_id (str)
|
|
|
- type (str)
|
|
|
- sender (str)
|
|
|
- content (dict)
|
|
|
- unsigned (dict)
|
|
|
- internal_metadata (_EventInternalMetadata)
|
|
|
-
|
|
|
- _state (StateHandler)
|
|
|
- _auth (synapse.api.Auth)
|
|
|
- _store (DataStore)
|
|
|
- _clock (Clock)
|
|
|
- _hostname (str): The hostname of the server creating the event
|
|
|
+ room_id
|
|
|
+ type
|
|
|
+ sender
|
|
|
+ content
|
|
|
+ unsigned
|
|
|
+ internal_metadata
|
|
|
+
|
|
|
+ _state
|
|
|
+ _auth
|
|
|
+ _store
|
|
|
+ _clock
|
|
|
+ _hostname: The hostname of the server creating the event
|
|
|
_signing_key: The signing key to use to sign the event as the server
|
|
|
"""
|
|
|
|
|
|
- _state = attr.ib()
|
|
|
- _auth = attr.ib()
|
|
|
- _store = attr.ib()
|
|
|
- _clock = attr.ib()
|
|
|
- _hostname = attr.ib()
|
|
|
- _signing_key = attr.ib()
|
|
|
+ _state = attr.ib(type=StateHandler)
|
|
|
+ _auth = attr.ib(type=Auth)
|
|
|
+ _store = attr.ib(type=DataStore)
|
|
|
+ _clock = attr.ib(type=Clock)
|
|
|
+ _hostname = attr.ib(type=str)
|
|
|
+ _signing_key = attr.ib(type=SigningKey)
|
|
|
|
|
|
room_version = attr.ib(type=RoomVersion)
|
|
|
|
|
|
- room_id = attr.ib()
|
|
|
- type = attr.ib()
|
|
|
- sender = attr.ib()
|
|
|
+ room_id = attr.ib(type=str)
|
|
|
+ type = attr.ib(type=str)
|
|
|
+ sender = attr.ib(type=str)
|
|
|
|
|
|
- content = attr.ib(default=attr.Factory(dict))
|
|
|
- unsigned = attr.ib(default=attr.Factory(dict))
|
|
|
+ content = attr.ib(default=attr.Factory(dict), type=JsonDict)
|
|
|
+ unsigned = attr.ib(default=attr.Factory(dict), type=JsonDict)
|
|
|
|
|
|
# These only exist on a subset of events, so they raise AttributeError if
|
|
|
# someone tries to get them when they don't exist.
|
|
|
- _state_key = attr.ib(default=None)
|
|
|
- _redacts = attr.ib(default=None)
|
|
|
- _origin_server_ts = attr.ib(default=None)
|
|
|
+ _state_key = attr.ib(default=None, type=Optional[str])
|
|
|
+ _redacts = attr.ib(default=None, type=Optional[str])
|
|
|
+ _origin_server_ts = attr.ib(default=None, type=Optional[int])
|
|
|
|
|
|
internal_metadata = attr.ib(
|
|
|
- default=attr.Factory(lambda: _EventInternalMetadata({}))
|
|
|
+ default=attr.Factory(lambda: _EventInternalMetadata({})),
|
|
|
+ type=_EventInternalMetadata,
|
|
|
)
|
|
|
|
|
|
@property
|