diff --git a/libervia/backend/core/core_types.py b/libervia/backend/core/core_types.py index 4e07ec05..8baaa2b8 100644 --- a/libervia/backend/core/core_types.py +++ b/libervia/backend/core/core_types.py @@ -29,6 +29,7 @@ from twisted.words.xish import domish from wokkel import disco from libervia.backend.core import exceptions +from libervia.backend.models.core import MessageData if TYPE_CHECKING: from libervia.backend.core.xmpp import LiberviaRosterProtocol @@ -49,8 +50,10 @@ MessageDataExtra = TypedDict( ) -MessageData = TypedDict( - "MessageData", +# FIXME: deprecated, do not use this type. Use libervia.backend.models.core.MessageData +# instead. +MessageDataLegacy = TypedDict( + "MessageDataLegacy", { "from": t_jid.JID, "to": t_jid.JID, diff --git a/libervia/backend/core/xmpp.py b/libervia/backend/core/xmpp.py index 99534e94..f6b31045 100644 --- a/libervia/backend/core/xmpp.py +++ b/libervia/backend/core/xmpp.py @@ -636,9 +636,9 @@ class SatXMPPEntity(core_types.SatXMPPEntity): def generate_message_xml( self, - data: core_types.MessageData, + data: core_types.MessageDataLegacy, post_xml_treatments: Optional[defer.Deferred] = None, - ) -> core_types.MessageData: + ) -> core_types.MessageDataLegacy: """Generate stanza from message data @param data: message data diff --git a/libervia/backend/memory/encryption.py b/libervia/backend/memory/encryption.py index 13cb5ad5..1a14fef7 100644 --- a/libervia/backend/memory/encryption.py +++ b/libervia/backend/memory/encryption.py @@ -26,7 +26,7 @@ from twisted.python import failure from libervia.backend.core.core_types import ( EncryptionPlugin, EncryptionSession, - MessageData, + MessageDataLegacy, ) from libervia.backend.core.i18n import D_, _ from libervia.backend.core.constants import Const as C @@ -540,7 +540,7 @@ class EncryptionHandler: return mess_data def is_encryption_requested( - self, mess_data: MessageData, namespace: Optional[str] = None + self, mess_data: MessageDataLegacy, namespace: Optional[str] = None ) -> bool: """Helper method to check if encryption is requested in an outgoind message diff --git a/libervia/backend/plugins/plugin_sec_autocrypt.py b/libervia/backend/plugins/plugin_sec_autocrypt.py index 5df23375..79227453 100644 --- a/libervia/backend/plugins/plugin_sec_autocrypt.py +++ b/libervia/backend/plugins/plugin_sec_autocrypt.py @@ -27,7 +27,7 @@ from twisted.words.protocols.jabber import jid from twisted.words.xish import domish from libervia.backend.core.constants import Const as C -from libervia.backend.core.core_types import MessageData, SatXMPPEntity +from libervia.backend.core.core_types import MessageDataLegacy, SatXMPPEntity from libervia.backend.core.i18n import _ from libervia.backend.core.log import getLogger from libervia.backend.memory import persistent @@ -159,7 +159,7 @@ class Autocrypt: client._autocrypt_gpg_provider = get_gpg_provider(self.host, client) async def handle_autocrypt_data( - self, client: SatXMPPEntity, mess_data: MessageData, autocrypt_data_raw: str + self, client: SatXMPPEntity, mess_data: MessageDataLegacy, autocrypt_data_raw: str ) -> None: """Process Autocrypt header from XMPP email gateway @@ -211,8 +211,8 @@ class Autocrypt: client._autocrypt_seen.add(sender_email) def _check_headers( - self, client: SatXMPPEntity, mess_data: MessageData - ) -> MessageData: + self, client: SatXMPPEntity, mess_data: MessageDataLegacy + ) -> MessageDataLegacy: try: autocrypt_data = mess_data["extra"]["headers"]["autocrypt"] except KeyError: @@ -232,7 +232,7 @@ class Autocrypt: post_treat.addCallback(partial(self._check_headers, client)) return True - async def add_autocrypt_header(self, client, mess_data: MessageData) -> MessageData: + async def add_autocrypt_header(self, client, mess_data: MessageDataLegacy) -> MessageDataLegacy: to_jid = mess_data["to"] if await self.host.memory.disco.has_identity( client, "gateway", "smtp", jid.JID(to_jid.host) @@ -265,7 +265,7 @@ class Autocrypt: ) -> Literal[True]: """Process the XEP-0131 related data to be sent""" - def add_headers(mess_data: MessageData) -> MessageData: + def add_headers(mess_data: MessageDataLegacy) -> MessageDataLegacy: extra = mess_data["extra"] self.move_keywords_to_headers(extra) # Now we parse headers, if any. diff --git a/libervia/backend/plugins/plugin_xep_0384.py b/libervia/backend/plugins/plugin_xep_0384.py index dbd0491b..795f3e29 100644 --- a/libervia/backend/plugins/plugin_xep_0384.py +++ b/libervia/backend/plugins/plugin_xep_0384.py @@ -45,7 +45,7 @@ import xmlschema from libervia.backend.core import exceptions from libervia.backend.core.constants import Const as C -from libervia.backend.core.core_types import MessageData, SatXMPPEntity +from libervia.backend.core.core_types import MessageDataLegacy, SatXMPPEntity from libervia.backend.core.i18n import _, D_ from libervia.backend.core.log import getLogger, Logger from libervia.backend.core.main import LiberviaBackend @@ -776,7 +776,7 @@ async def send_trust_messages( # Finally, encrypt and send the trust message! message_data = client.generate_message_xml( - MessageData( + MessageDataLegacy( { "from": own_jid, "to": recipient_jid, @@ -1296,7 +1296,7 @@ def make_session_manager( raise omemo.UnknownNamespace(f"Unknown namespace: {message.namespace}") message_data = client.generate_message_xml( - MessageData( + MessageDataLegacy( { "from": client.jid, "to": jid.JID(bare_jid), @@ -1680,7 +1680,7 @@ class OMEMO: defer.ensureDeferred(self.get_session_manager(cast(str, client.profile))) async def cmd_omemo_reset( - self, client: SatXMPPClient, mess_data: MessageData + self, client: SatXMPPClient, mess_data: MessageDataLegacy ) -> Literal[False]: """Reset all sessions of devices that belong to the recipient of ``mess_data``. diff --git a/libervia/backend/plugins/plugin_xep_0424.py b/libervia/backend/plugins/plugin_xep_0424.py index 8ff3040d..3ffc270a 100644 --- a/libervia/backend/plugins/plugin_xep_0424.py +++ b/libervia/backend/plugins/plugin_xep_0424.py @@ -27,7 +27,7 @@ from zope.interface import implementer from libervia.backend.core import exceptions from libervia.backend.core.constants import Const as C -from libervia.backend.core.core_types import MessageData, SatXMPPEntity +from libervia.backend.core.core_types import MessageDataLegacy, SatXMPPEntity from libervia.backend.core.i18n import D_, _ from libervia.backend.core.log import getLogger from libervia.backend.memory.sqla_mapping import History @@ -210,7 +210,7 @@ class XEP_0424: del history.extra["attachments"] await self.host.memory.storage.add(history) - retract_data = MessageData(history.serialise()) + retract_data = MessageDataLegacy(history.serialise()) self.host.bridge.message_update( history.uid, C.MESS_UPDATE_RETRACT,