From 81bdec302ce41a99fdc2d00dc7154429710787eb Mon Sep 17 00:00:00 2001 From: Philippe Pittoli Date: Sat, 1 Jul 2023 16:03:29 +0200 Subject: [PATCH] DomainAdded message. List of domains auto-update when adding a message. --- src/App/DNSManagerDomainsInterface.purs | 10 ++++++++-- src/App/Messages/DNSManagerDaemon.purs | 7 +++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/App/DNSManagerDomainsInterface.purs b/src/App/DNSManagerDomainsInterface.purs index 9b14c97..59b7e95 100644 --- a/src/App/DNSManagerDomainsInterface.purs +++ b/src/App/DNSManagerDomainsInterface.purs @@ -376,8 +376,8 @@ handleAction = case _ of (DNSManager.UnknownNumber ) -> handleAction $ WebSocketParseError ("Parsing error: DNSManager.UnknownNumber") -- Cases where we understood the message. - Right response -> do - case response of + Right received_msg -> do + case received_msg of -- The authentication failed. (DNSManager.MkError errmsg) -> do appendMessage $ "[😈] Failed, reason is: " <> errmsg.reason @@ -400,8 +400,14 @@ handleAction = case _ of handleAction $ UpdateAcceptedDomains response.accepted_domains handleAction $ UpdateMyDomains response.my_domains + (DNSManager.MkDomainAdded response) -> do + { my_domains } <- H.get + appendMessage $ "[😈] Domain added: " <> response.domain + handleAction $ UpdateMyDomains (my_domains <> [response.domain]) + (DNSManager.MkInvalidDomainName _) -> do appendMessage $ "[😈] Failed! The domain is not valid!" + (DNSManager.MkSuccess _) -> do appendMessage $ "[😈] Success!" -- WTH?! diff --git a/src/App/Messages/DNSManagerDaemon.purs b/src/App/Messages/DNSManagerDaemon.purs index e7eb78a..26a3759 100644 --- a/src/App/Messages/DNSManagerDaemon.purs +++ b/src/App/Messages/DNSManagerDaemon.purs @@ -169,6 +169,11 @@ codecLogged ∷ CA.JsonCodec Logged codecLogged = CA.object "Logged" (CAR.record { accepted_domains: CA.array CA.string , my_domains: CA.array CA.string }) +{- 17 -} +type DomainAdded = { domain :: String } +codecDomainAdded ∷ CA.JsonCodec DomainAdded +codecDomainAdded = CA.object "DomainAdded" (CAR.record { domain: CA.string }) + {- 50 -} type UnknownUser = { } codecUnknownUser ∷ CA.JsonCodec UnknownUser @@ -211,6 +216,7 @@ data AnswerMessage | MkDomainList DomainList -- 14 | MkAcceptedDomains AcceptedDomains -- 15 | MkLogged Logged -- 16 + | MkDomainAdded DomainAdded -- 17 | MkUnknownUser UnknownUser -- 50 | MkNoOwnership NoOwnership -- 51 @@ -255,6 +261,7 @@ decode number string 14 -> error_management codecDomainList MkDomainList 15 -> error_management codecAcceptedDomains MkAcceptedDomains 16 -> error_management codecLogged MkLogged + 17 -> error_management codecDomainAdded MkDomainAdded 50 -> error_management codecUnknownUser MkUnknownUser 51 -> error_management codecNoOwnership MkNoOwnership _ -> Left UnknownNumber