From a902c25c99c565f52f30d01fc96c11a1e70df78b Mon Sep 17 00:00:00 2001
From: trilero <trile@riseup.net>
Date: Thu, 11 Apr 2024 17:06:35 +0200
Subject: [PATCH] [TBC] Unify heartbeat message inside P2P, it's where it
 belongs

---
 .../trile/domain/codecs/HeartbeatCodecs.scala | 50 -------------------
 .../trile/domain/codecs/P2pCodecs.scala       |  2 -
 .../devcon0/trile/domain/dtos/Heartbeat.scala |  8 ---
 .../trile/domain/dtos/pubsub/P2p.scala        |  4 ++
 4 files changed, 4 insertions(+), 60 deletions(-)
 delete mode 100644 trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/codecs/HeartbeatCodecs.scala
 delete mode 100644 trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/dtos/Heartbeat.scala

diff --git a/trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/codecs/HeartbeatCodecs.scala b/trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/codecs/HeartbeatCodecs.scala
deleted file mode 100644
index ced5e88..0000000
--- a/trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/codecs/HeartbeatCodecs.scala
+++ /dev/null
@@ -1,50 +0,0 @@
-package acab.devcon0.trile.domain.codecs
-
-import acab.devcon0.trile.domain.dtos.FederationControllerHeartbeatMessage
-import acab.devcon0.trile.domain.dtos.FederationMemberHeartbeatMessage
-import acab.devcon0.trile.domain.dtos.IpfsClusterPeer
-import acab.devcon0.trile.domain.dtos.IpfsClusterPeerIpfsInfo
-import acab.devcon0.trile.domain.dtos.IpfsClusterPeers
-import cats.effect.IO
-import io.circe._
-import io.circe.generic.semiauto.deriveDecoder
-import io.circe.generic.semiauto.deriveEncoder
-import io.circe.jawn.decode
-import io.circe.syntax.EncoderOps
-
-object HeartbeatCodecs {
-
-  object Encoders {
-    implicit val ipfsClusterPeerIpfsInfo: Encoder[IpfsClusterPeerIpfsInfo]                    = deriveEncoder
-    implicit val ipfsClusterPeers: Encoder[IpfsClusterPeers]                                  = deriveEncoder
-    implicit val ipfsClusterPeer: Encoder[IpfsClusterPeer]                                    = deriveEncoder
-    implicit val federationControllerHeartbeat: Encoder[FederationControllerHeartbeatMessage] = deriveEncoder
-    implicit val federationMemberHeartbeat: Encoder[FederationMemberHeartbeatMessage]         = deriveEncoder
-    object FederationMemberHeartbeat {
-      def apply(dto: FederationMemberHeartbeatMessage): IO[String] = IO(
-        EncoderOps[FederationMemberHeartbeatMessage](dto).asJson.noSpaces
-      )
-    }
-    object FederationControllerHeartbeat {
-      def apply(dto: FederationControllerHeartbeatMessage): IO[String] = IO(
-        EncoderOps[FederationControllerHeartbeatMessage](dto).asJson.noSpaces
-      )
-    }
-  }
-
-  object Decoders {
-    implicit val ipfsClusterPeerIpfsInfo: Decoder[IpfsClusterPeerIpfsInfo]                    = deriveDecoder
-    implicit val ipfsClusterPeers: Decoder[IpfsClusterPeers]                                  = deriveDecoder
-    implicit val ipfsClusterPeer: Decoder[IpfsClusterPeer]                                    = deriveDecoder
-    implicit val federationControllerHeartbeat: Decoder[FederationControllerHeartbeatMessage] = deriveDecoder
-    implicit val federationMemberHeartbeat: Decoder[FederationMemberHeartbeatMessage]         = deriveDecoder
-    object FederationControllerHeartbeat {
-      def apply(rawJson: String): IO[FederationControllerHeartbeatMessage] =
-        IO.fromEither(decode[FederationControllerHeartbeatMessage](rawJson))
-    }
-    object FederationMemberHeartbeat {
-      def apply(rawJson: String): IO[FederationMemberHeartbeatMessage] =
-        IO.fromEither(decode[FederationMemberHeartbeatMessage](rawJson))
-    }
-  }
-}
diff --git a/trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/codecs/P2pCodecs.scala b/trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/codecs/P2pCodecs.scala
index 138bda8..845aaf9 100644
--- a/trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/codecs/P2pCodecs.scala
+++ b/trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/codecs/P2pCodecs.scala
@@ -1,7 +1,5 @@
 package acab.devcon0.trile.domain.codecs
 
-import acab.devcon0.trile.domain.dtos.FederationControllerHeartbeatMessage
-import acab.devcon0.trile.domain.dtos.FederationMemberHeartbeatMessage
 import acab.devcon0.trile.domain.dtos.IpfsClusterPeer
 import acab.devcon0.trile.domain.dtos.IpfsClusterPeerIpfsInfo
 import acab.devcon0.trile.domain.dtos.IpfsClusterPeers
diff --git a/trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/dtos/Heartbeat.scala b/trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/dtos/Heartbeat.scala
deleted file mode 100644
index 42777fe..0000000
--- a/trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/dtos/Heartbeat.scala
+++ /dev/null
@@ -1,8 +0,0 @@
-package acab.devcon0.trile.domain.dtos
-
-import java.time.Instant
-
-import acab.devcon0.trile.domain.dtos.aliases.IpfsCid
-
-final case class FederationControllerHeartbeatMessage(peers: List[IpfsClusterPeer])
-final case class FederationMemberHeartbeatMessage(ipfsPeerRootCid: IpfsCid, timestamp: Instant)
diff --git a/trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/dtos/pubsub/P2p.scala b/trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/dtos/pubsub/P2p.scala
index 80d8317..6d17bbb 100644
--- a/trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/dtos/pubsub/P2p.scala
+++ b/trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/dtos/pubsub/P2p.scala
@@ -2,6 +2,7 @@ package acab.devcon0.trile.domain.dtos.pubsub
 
 import java.time.Instant
 
+import acab.devcon0.trile.domain.dtos.IpfsClusterPeer
 import acab.devcon0.trile.domain.dtos.aliases._
 
 object P2p {
@@ -22,6 +23,9 @@ object P2p {
   final case class FederationMemberCheckInAck(to: P2pPeerId)
   final case class FederationMemberCheckInNack(to: P2pPeerId)
 
+  final case class FederationControllerHeartbeatMessage(peers: List[IpfsClusterPeer])
+  final case class FederationMemberHeartbeatMessage(ipfsPeerRootCid: IpfsCid, timestamp: Instant)
+
   object Keys {
     val request: P2pMessageKey = "REQUEST"
     val ack: P2pMessageKey     = "ACK"
-- 
GitLab