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

30 lines
998 B
Plaintext
Raw Permalink 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 22:22:14 +05:30
import Control.Monad.Eff.Console (CONSOLE)
import Control.Monad.Eff.Now (NOW)
2017-09-30 20:32:07 +05:30
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)
2017-09-30 22:22:14 +05:30
import SimpleService.Logger as Log
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
2017-09-30 22:22:14 +05:30
, now :: NOW
| eff) Unit
2017-09-30 20:32:07 +05:30
main = readServerConfig >>= case _ of
Left missingKeys -> do
2017-09-30 22:22:14 +05:30
Log.error $ "Unable to start. Missing Env keys: " <> joinWith ", " (toUnfoldable missingKeys)
2017-09-30 20:32:07 +05:30
Process.exit 1
Right { port, databaseConfig } -> runServer port databaseConfig