{-# 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