module Web.Antagonist.Server.Data where
import Data.Chatty.Atoms
import Data.Chatty.AVL
import Data.Chatty.TST
import Game.Antisplice
import Game.Antisplice.Monad.Dungeon
import Game.Antisplice.Monad.Vocab
import Text.Chatty.Expansion
import Text.Chatty.Expansion.Vars
import Data.IORef
import Data.Time.Clock
import Yesod
type SessionState = ((((DungeonState,TST Token),AVL (Int,Container)),Int),[(String,EnvVar)])
data SingleUserSub = SingleUserSub { currentCounter :: IORef Int, dungeonStates :: IORef (AVL (Int,SessionState,String,NominalDiffTime)), constructor :: Constructor () }
mkYesodSubData "SingleUserSub" [parseRoutes|
/ PlayR GET
/put PutR POST
/news NewsR POST
|]