aboutsummaryrefslogtreecommitdiff
path: root/server/lib/Cafp/Messages.hs
blob: 871037e52915453dd415da32976cce0219f46bc1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{-# LANGUAGE TemplateHaskell #-}
module Cafp.Messages
    ( GameView (..)
    , ServerMessage (..)
    ) where

import           Data.Text  (Text)
import           Elm.Derive

data GameView = GameView
    { gameViewPlayers :: [Text]
    } deriving (Show)

data ServerMessage
    = Welcome Int
    | SyncGameView GameView
    | Bye
    deriving (Show)

deriveBoth (defaultOptionsDropLower 8) ''GameView
deriveBoth defaultOptions ''ServerMessage