packages feed

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