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 ced5e8887b6800affe912cb11273dc9df0434c03..0000000000000000000000000000000000000000 --- 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 138bda83dd7066949375c4ec4026e5612d18ea00..845aaf9ce50e5c8441c2cf805d9ee47abbb69c6d 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 42777fea862c692df81d535d0f588b33f7265640..0000000000000000000000000000000000000000 --- 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 80d8317060f3c0485ebc0d1d5d5bf92162316924..6d17bbb7c4f82a9e9625d35f35d2d86347b3badf 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"