From 633cd675b5cd9476dc9624512d552f3851fab34c Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com> Date: Fri, 22 Apr 2022 20:02:02 +0100 Subject: [PATCH] ToJSON instance for NtfTknStatus (#362) --- src/Simplex/Messaging/Notifications/Protocol.hs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Simplex/Messaging/Notifications/Protocol.hs b/src/Simplex/Messaging/Notifications/Protocol.hs index d3ad6d043..3640004e0 100644 --- a/src/Simplex/Messaging/Notifications/Protocol.hs +++ b/src/Simplex/Messaging/Notifications/Protocol.hs @@ -11,6 +11,8 @@ module Simplex.Messaging.Notifications.Protocol where import Data.Aeson (FromJSON (..), ToJSON (..)) +import qualified Data.Aeson as J +import qualified Data.Aeson.Encoding as JE import qualified Data.Attoparsec.ByteString.Char8 as A import Data.ByteString.Char8 (ByteString) import qualified Data.ByteString.Char8 as B @@ -417,6 +419,10 @@ instance FromField NtfTknStatus where fromField = fromTextField_ $ either (const instance ToField NtfTknStatus where toField = toField . decodeLatin1 . smpEncode +instance ToJSON NtfTknStatus where + toEncoding = JE.text . decodeLatin1 . smpEncode + toJSON = J.String . decodeLatin1 . smpEncode + checkEntity :: forall t e e'. (NtfEntityI e, NtfEntityI e') => t e' -> Either String (t e) checkEntity c = case testEquality (sNtfEntity @e) (sNtfEntity @e') of Just Refl -> Right c