2023-12-10 19:12:53 +00:00
|
|
|
{-# LANGUAGE DeriveGeneric #-}
|
|
|
|
module Library.Types.Communication where
|
|
|
|
|
|
|
|
import Data.Aeson
|
|
|
|
|
|
|
|
import Data.UUID
|
|
|
|
|
|
|
|
import GHC.Generics
|
|
|
|
|
|
|
|
data ServerMessage
|
|
|
|
= ServerQuit
|
|
|
|
| AcceptClient
|
|
|
|
{ acClientUUID :: UUID
|
|
|
|
}
|
|
|
|
deriving (Eq, Show, Generic)
|
|
|
|
|
|
|
|
instance FromJSON ServerMessage
|
|
|
|
|
|
|
|
instance ToJSON ServerMessage
|
|
|
|
|
2023-12-11 08:49:24 +00:00
|
|
|
data ClientMessagePayload
|
2023-12-10 19:12:53 +00:00
|
|
|
= ClientQuit
|
2023-12-11 08:49:24 +00:00
|
|
|
deriving (Eq, Show, Generic)
|
|
|
|
|
|
|
|
data ClientMessage
|
|
|
|
= ClientMessage
|
|
|
|
{ cmClientID :: UUID
|
|
|
|
, cmPayload :: ClientMessagePayload
|
|
|
|
}
|
2023-12-10 19:12:53 +00:00
|
|
|
| IdRequest
|
|
|
|
deriving (Eq, Show, Generic)
|
|
|
|
|
2023-12-11 08:49:24 +00:00
|
|
|
instance FromJSON ClientMessagePayload
|
|
|
|
|
|
|
|
instance ToJSON ClientMessagePayload
|
|
|
|
|
|
|
|
instance FromJSON ClientMessage
|
2023-12-10 19:12:53 +00:00
|
|
|
|
2023-12-11 08:49:24 +00:00
|
|
|
instance ToJSON ClientMessage
|