changeset 4379:79d463e3fdeb

core (types): Renamed `libervia.backend.core.core_types.MessageData` to `MessageDataLegacy`: There are 2 concurrent models, this one is an historical legacy. The type to use the one from `libervia.backend.models.core`, and it will progressively be used everywhere and fully based on Pydantic.
author Goffi <goffi@goffi.org>
date Fri, 04 Jul 2025 12:28:00 +0200
parents 930a4ea7ab6f
children 2e3ce128973c
files libervia/backend/core/core_types.py libervia/backend/core/xmpp.py libervia/backend/memory/encryption.py libervia/backend/plugins/plugin_sec_autocrypt.py libervia/backend/plugins/plugin_xep_0384.py libervia/backend/plugins/plugin_xep_0424.py
diffstat 6 files changed, 21 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/libervia/backend/core/core_types.py	Thu Jun 26 17:02:33 2025 +0200
+++ b/libervia/backend/core/core_types.py	Fri Jul 04 12:28:00 2025 +0200
@@ -29,6 +29,7 @@
 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 @@
 )
 
 
-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,
--- a/libervia/backend/core/xmpp.py	Thu Jun 26 17:02:33 2025 +0200
+++ b/libervia/backend/core/xmpp.py	Fri Jul 04 12:28:00 2025 +0200
@@ -636,9 +636,9 @@
 
     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 <message/> stanza from message data
 
         @param data: message data
--- a/libervia/backend/memory/encryption.py	Thu Jun 26 17:02:33 2025 +0200
+++ b/libervia/backend/memory/encryption.py	Fri Jul 04 12:28:00 2025 +0200
@@ -26,7 +26,7 @@
 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 @@
         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
 
--- a/libervia/backend/plugins/plugin_sec_autocrypt.py	Thu Jun 26 17:02:33 2025 +0200
+++ b/libervia/backend/plugins/plugin_sec_autocrypt.py	Fri Jul 04 12:28:00 2025 +0200
@@ -27,7 +27,7 @@
 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 @@
         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 @@
         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 @@
         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 @@
     ) -> 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.
--- a/libervia/backend/plugins/plugin_xep_0384.py	Thu Jun 26 17:02:33 2025 +0200
+++ b/libervia/backend/plugins/plugin_xep_0384.py	Fri Jul 04 12:28:00 2025 +0200
@@ -45,7 +45,7 @@
 
 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 @@
 
         # 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 @@
                 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 @@
         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``.
 
--- a/libervia/backend/plugins/plugin_xep_0424.py	Thu Jun 26 17:02:33 2025 +0200
+++ b/libervia/backend/plugins/plugin_xep_0424.py	Fri Jul 04 12:28:00 2025 +0200
@@ -27,7 +27,7 @@
 
 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 @@
             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,