Read env variables using envy library
Using my dear friend's, dmjio's, excellent library, envy -- to read and parse variables from the system environment. I added and git-ignored the .envrc file that contains API secrets. I'm using Envy to read these values, so that I don't hard-code these values into the source code.
This commit is contained in:
parent
385164c6af
commit
b6e8389edd
5 changed files with 33 additions and 13 deletions
24
src/App.hs
24
src/App.hs
|
|
@ -37,15 +37,15 @@ err429 = ServerError
|
|||
, errHeaders = []
|
||||
}
|
||||
|
||||
server :: FilePath -> Server API
|
||||
server dbFile = createAccount
|
||||
:<|> deleteAccount
|
||||
:<|> listAccounts
|
||||
:<|> createTrip
|
||||
:<|> deleteTrip
|
||||
:<|> listTrips
|
||||
:<|> login
|
||||
:<|> logout
|
||||
server :: T.Config -> Server API
|
||||
server T.Config{..} = createAccount
|
||||
:<|> deleteAccount
|
||||
:<|> listAccounts
|
||||
:<|> createTrip
|
||||
:<|> deleteTrip
|
||||
:<|> listTrips
|
||||
:<|> login
|
||||
:<|> logout
|
||||
where
|
||||
-- Admit Admins + whatever the predicate `p` passes.
|
||||
adminsAnd cookie p = Auth.assert dbFile cookie (\acct@T.Account{..} -> accountRole == T.Admin || p acct)
|
||||
|
|
@ -124,6 +124,6 @@ server dbFile = createAccount
|
|||
liftIO $ Sessions.delete dbFile uuid
|
||||
pure $ addHeader Auth.emptyCookie NoContent
|
||||
|
||||
run :: FilePath -> IO ()
|
||||
run dbFile =
|
||||
Warp.run 3000 (serve (Proxy @ API) $ server dbFile)
|
||||
run :: T.Config -> IO ()
|
||||
run config =
|
||||
Warp.run 3000 (serve (Proxy @ API) $ server config)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue