42 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Haskell
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Haskell
		
	
	
	
	
	
| {-# LANGUAGE TemplateHaskell #-}
 | |
| {-# LANGUAGE MultiParamTypeClasses #-}
 | |
| {-# LANGUAGE OverloadedStrings #-}
 | |
| {-# OPTIONS_GHC -fno-warn-orphans #-}
 | |
| module AppRun (
 | |
|                withApp
 | |
|               ,withDevelApp
 | |
|               )
 | |
| where
 | |
| 
 | |
| import Data.Dynamic (Dynamic, toDyn)
 | |
| import Network.Wai (Application)
 | |
| import Yesod.Helpers.Static
 | |
| 
 | |
| import Hledger.Data (nulljournal)
 | |
| 
 | |
| import App
 | |
| import Handlers
 | |
| import Settings
 | |
| 
 | |
| -- This line actually creates our YesodSite instance. It is the second half
 | |
| -- of the call to mkYesodData which occurs in App.hs. Please see
 | |
| -- the comments there for more details.
 | |
| mkYesodDispatch "App" resourcesApp
 | |
| 
 | |
| -- This function allocates resources (such as a database connection pool),
 | |
| -- performs initialization and creates a WAI application. This is also the
 | |
| -- place to put your migrate statements to have automatic database
 | |
| -- migrations handled by Yesod.
 | |
| withApp :: App -> (Application -> IO a) -> IO a
 | |
| withApp a f = toWaiApp a >>= f
 | |
| 
 | |
| withDevelApp :: Dynamic
 | |
| withDevelApp = toDyn (withApp a :: (Application -> IO ()) -> IO ())
 | |
|    where a = App{
 | |
|               getStatic=static Settings.staticdir
 | |
|              ,appRoot=Settings.defapproot
 | |
|              ,appOpts=[]
 | |
|              ,appArgs=[]
 | |
|              ,appJournal=nulljournal
 | |
|              }
 |