packages feed

mattermost-api-30802.1.0: examples/GetTeams.hs

-- Note: See LocalConfig.hs to configure example for your server
module Main (main) where
import           Control.Monad ( void, join )
import qualified Data.Text as T
import           Text.Show.Pretty ( pPrint )
import           Network.Connection
import           System.Process ( readProcess )

import           Network.Mattermost

import           Config
import           LocalConfig -- You will need to define a function:
                             -- getConfig :: IO Config
                             -- See Config.hs

main :: IO ()
main = do
  config <- getConfig -- see LocalConfig import
  ctx    <- initConnectionContext
  let cd = mkConnectionData (configHostname config)
                            (fromIntegral (configPort config))
                            ctx
  let login = Login { username = configUsername config
                    , password = configPassword config
                    }

  (session, mmUser) <- join (hoistE <$> mmLogin cd login)
  putStrLn "Authenticated as: "
  pPrint mmUser
  i <- mmGetInitialLoad session
  pPrint $ initialLoadTeams i