aboutsummaryrefslogtreecommitdiff
path: root/lib/Server.hs
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Server.hs')
-rw-r--r--lib/Server.hs9
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/Server.hs b/lib/Server.hs
index 0ad451d..7a79aa8 100644
--- a/lib/Server.hs
+++ b/lib/Server.hs
@@ -26,7 +26,7 @@ import qualified Data.UUID.V4 as UUID
import qualified Data.UUID as UUID
import Data.UUID (UUID)
import Control.Concurrent.STM
-import Data.Aeson (ToJSON, FromJSON, ToJSONKey)
+import Data.Aeson (ToJSON (toJSON), FromJSON (parseJSON), ToJSONKey, genericToJSON, genericParseJSON)
import Servant.Server (Handler)
import GHC.Generics (Generic)
import GHC.Foreign (withCStringsLen)
@@ -40,7 +40,12 @@ data TrainPing = TrainPing
, pingLong :: Float
, pingDelay :: Int
, pingTimestamp :: Time
- } deriving (Generic, FromJSON, ToJSON)
+ } deriving (Generic)
+
+instance FromJSON TrainPing where
+ parseJSON = genericParseJSON (aesonOptions "ping")
+instance ToJSON TrainPing where
+ toJSON = genericToJSON (aesonOptions "ping")
type KnownTrips = TVar (Map Token [TrainPing])