loshadka-0.2: Network/Loshadka/WhiteList.hs
{-# LANGUAGE DeriveGeneric #-}
module Network.Loshadka.WhiteList
(Player, name, uuid, readWhiteList) where
import Prelude hiding (readFile)
import Data.Aeson (decode, FromJSON)
import Data.ByteString.Lazy.Char8 (ByteString, readFile)
import GHC.Generics (Generic)
import Data.Maybe (fromJust)
data Player = Player { name :: String, uuid :: String } deriving (Generic)
instance FromJSON Player
readWhiteList :: String -> IO [Player]
readWhiteList path = do
file <- readFile $ path ++ "/whitelist.json"
return $ parse file
parse :: ByteString -> [Player]
parse list = fromJust $ decode list