ps-simple-rest-service/src/Main.purs

27 lines
890 B
Plaintext
Raw Normal View History

2017-08-28 11:14:37 +05:30
module Main where
import Prelude
2017-08-28 11:14:37 +05:30
import Control.Monad.Eff (Eff)
2017-09-30 20:32:07 +05:30
import Control.Monad.Eff.Console (CONSOLE, log)
import Data.Either (Either(..))
import Data.Set (toUnfoldable)
import Data.String (joinWith)
import Database.PostgreSQL as PG
import Node.Express.Types (EXPRESS)
2017-09-30 20:32:07 +05:30
import Node.Process (PROCESS)
import Node.Process as Process
import SimpleService.Config (readServerConfig)
import SimpleService.Server (runServer)
2017-08-28 11:14:37 +05:30
main :: forall eff. Eff ( console :: CONSOLE
, express :: EXPRESS
, postgreSQL :: PG.POSTGRESQL
2017-09-30 20:32:07 +05:30
, process :: PROCESS
| eff) Unit
2017-09-30 20:32:07 +05:30
main = readServerConfig >>= case _ of
Left missingKeys -> do
log $ "Unable to start. Missing Env keys: " <> joinWith ", " (toUnfoldable missingKeys)
Process.exit 1
Right { port, databaseConfig } -> runServer port databaseConfig