{-| Module : Reader Description : Holds environment variables. Copyright : (c) IOcrafts, 2024-present License : BSD Maintainer : Maurizio Dusi Stability : stable Portability : POSIX This module holds the environment variables used by the program. -} module Reader ( Env (..) , ReaderIO ) where import Control.Monad.Reader ( ReaderT ) -- | Represents the environment configuration for the SFTP client. data Env = Env { Env -> String hostName :: String -- ^ The hostname of the SFTP server. , Env -> Int port :: Int -- ^ The port number to connect to. , Env -> String user :: String -- ^ The username for authentication. , Env -> String password :: String -- ^ The password for authentication. , Env -> String knownHosts :: FilePath -- ^ The path to the known hosts file. , Env -> String transferFrom :: FilePath -- ^ The source file path for transfer. , Env -> String transferTo :: FilePath -- ^ The destination file path for transfer. , Env -> [String] transferExtensions :: [String] -- ^ The list of file extensions to transfer. , Env -> Maybe String archiveTo :: Maybe FilePath -- ^ Optional path to archive transferred files. , Env -> Integer date :: Integer -- ^ The date for filtering files to transfer. , Env -> Bool noOp :: Bool -- ^ Whether or not to perform the actual transfer. } type ReaderIO = ReaderT Env IO