diff options
author | David Robertson <davidr@element.io> | 2022-03-18 13:51:41 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-18 13:51:41 +0000 |
commit | 872dbb0181714e201be082c4e8bd9b727c73f177 (patch) | |
tree | 2d70f1c88fb93d2d52668dd846afd5c9395a30c3 /synapse/types.py | |
parent | Generate announcement links in release script (#12242) (diff) | |
download | synapse-872dbb0181714e201be082c4e8bd9b727c73f177.tar.xz |
Correct `check_username_for_spam` annotations and docs (#12246)
* Formally type the UserProfile in user searches * export UserProfile in synapse.module_api * Update docs Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com>
Diffstat (limited to 'synapse/types.py')
-rw-r--r-- | synapse/types.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/synapse/types.py b/synapse/types.py index 53be3583a0..5ce2a5b0a5 100644 --- a/synapse/types.py +++ b/synapse/types.py @@ -34,6 +34,7 @@ from typing import ( import attr from frozendict import frozendict from signedjson.key import decode_verify_key_bytes +from typing_extensions import TypedDict from unpaddedbase64 import decode_base64 from zope.interface import Interface @@ -63,6 +64,10 @@ MutableStateMap = MutableMapping[StateKey, T] # JSON types. These could be made stronger, but will do for now. # A JSON-serialisable dict. JsonDict = Dict[str, Any] +# A JSON-serialisable mapping; roughly speaking an immutable JSONDict. +# Useful when you have a TypedDict which isn't going to be mutated and you don't want +# to cast to JsonDict everywhere. +JsonMapping = Mapping[str, Any] # A JSON-serialisable object. JsonSerializable = object @@ -791,3 +796,9 @@ class UserInfo: is_deactivated: bool is_guest: bool is_shadow_banned: bool + + +class UserProfile(TypedDict): + user_id: str + display_name: Optional[str] + avatar_url: Optional[str] |