--- a/gameServer/Utils.hs Tue Jun 19 19:14:33 2018 -0400
+++ b/gameServer/Utils.hs Thu Jun 21 23:09:20 2018 +0200
@@ -32,6 +32,8 @@
import qualified Data.ByteString.Char8 as B
import qualified Data.ByteString.UTF8 as UTF8
import Data.Maybe
+import qualified Data.Aeson.Types as Aeson
+import qualified Data.Text as Text
-------------------------------------------------
import CoreTypes
@@ -253,3 +255,16 @@
isRegistered :: ClientInfo -> Bool
isRegistered = (<) 0 . B.length . webPassword
+
+instance Aeson.ToJSON B.ByteString where
+ toJSON = Aeson.toJSON . B.unpack
+
+instance Aeson.FromJSON B.ByteString where
+ parseJSON = Aeson.withText "ByteString" $ pure . B.pack . Text.unpack
+
+instance Aeson.ToJSONKey B.ByteString where
+ toJSONKey = Aeson.toJSONKeyText (Text.pack . B.unpack)
+
+instance Aeson.FromJSONKey B.ByteString where
+ fromJSONKey = Aeson.FromJSONKeyTextParser (return . B.pack . Text.unpack)
+