matebeamter/src/Control/User.hs
2019-09-08 17:27:38 +02:00

42 lines
846 B
Haskell

{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PackageImports #-}
module Control.User where
import Servant.Server (Server)
import Servant.Client
import Servant.Client.Core.Auth
import Data.Aeson (decode)
import Data.Text.I18n
import Control.Monad.Reader (ask)
import Control.Monad.IO.Class (liftIO)
import Network.HTTP.Client
-- imports from mateamt
import qualified "mateamt" Types as MT
-- internal imports
import Types
import Client
import View
import Util
import API
userListControl :: Int -> UserHandler UserPage
userListControl uid = do
(ReadState manager l10n) <- ask
let loc = Locale "en"
euser <- liftIO $ runClientM
(userList (Nothing))
(mkClientEnv manager (BaseUrl Http "localhost" 8000 ""))
case euser of
Right uss ->
return $ userPage l10n loc uss
Left err ->
error $ show err