Organize application logic by core/feature breakouts, add dhall configuration support and add a range of new config options in the Reader, add example configuration/deployment files

This commit is contained in:
2022-07-01 20:34:29 -05:00
parent b4d6e9c9d1
commit f7a61dcddc
15 changed files with 260 additions and 22 deletions

18
src/Feature/Handlers.hs Normal file
View File

@ -0,0 +1,18 @@
module Feature.Handlers ( root ) where
import Core.Types
import qualified Core.Mongo as DB
import Control.Monad.Reader (ask, lift)
import Data.AesonBson (aesonify)
import Data.Bson (Document, Field (..), Value (Array, Doc))
import qualified Data.Text as T
import qualified Data.Text.Lazy as LT
import Web.Scotty.Trans (json)
import Prelude hiding (id)
root :: PurrAction ()
root = do
config <- lift $ ask
docs <- DB.tempGetDocs config
json $ aesonify ["allDocs" := Array (map Doc docs)]