hercules-ci-cli-0.2.2: src/Hercules/CLI/Common.hs
module Hercules.CLI.Common
( runAuthenticated,
exitMsg,
)
where
import Hercules.CLI.Client
import Hercules.CLI.Credentials (determineDomain, readToken)
import Hercules.CLI.Exception (exitMsg)
import Protolude
import RIO (RIO, runRIO)
import Servant.Auth.Client (Token (Token))
runAuthenticated :: RIO (HerculesClientToken, HerculesClientEnv) b -> IO b
runAuthenticated m = do
clientEnv <- Hercules.CLI.Client.init
domain <- determineDomain
token <- readToken domain
runRIO (HerculesClientToken $ Token $ encodeUtf8 token, clientEnv) m