42 lines
846 B
Haskell
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
|