Skip to content

Commit c3acf98

Browse files
committed
Extracted out initModelContext so it's callable from apps
1 parent 1d60cff commit c3acf98

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

IHP/FrameworkConfig.hs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import qualified Network.Wai.Parse as WaiParse
2121
import qualified System.Posix.Env.ByteString as Posix
2222
import Data.String.Interpolate.IsString (i)
2323
import qualified Control.Exception as Exception
24+
import IHP.ModelSupport
2425

2526
newtype AppHostname = AppHostname Text
2627
newtype AppPort = AppPort Int
@@ -532,4 +533,11 @@ defaultCorsResourcePolicy = Nothing
532533
-- > -- Do something with the FrameworkConfig here
533534
--
534535
withFrameworkConfig :: ConfigBuilder -> (FrameworkConfig -> IO result) -> IO result
535-
withFrameworkConfig configBuilder = Exception.bracket (buildFrameworkConfig configBuilder) (\frameworkConfig -> frameworkConfig |> get #logger |> get #cleanup)
536+
withFrameworkConfig configBuilder = Exception.bracket (buildFrameworkConfig configBuilder) (\frameworkConfig -> frameworkConfig |> get #logger |> get #cleanup)
537+
538+
initModelContext :: FrameworkConfig -> IO ModelContext
539+
initModelContext FrameworkConfig { environment, dbPoolIdleTime, dbPoolMaxConnections, databaseUrl, logger } = do
540+
let isDevelopment = environment == Development
541+
modelContext <- createModelContext dbPoolIdleTime dbPoolMaxConnections databaseUrl logger
542+
pure modelContext
543+

IHP/Server.hs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ run configBuilder = do
4444
IO.setLocaleEncoding IO.utf8
4545

4646
withFrameworkConfig configBuilder \frameworkConfig -> do
47-
modelContext <- initModelContext frameworkConfig
47+
modelContext <- IHP.FrameworkConfig.initModelContext frameworkConfig
4848
let withPGListener = Exception.bracket (PGListener.init modelContext) PGListener.stop
4949

5050
withPGListener \pgListener -> do
@@ -152,12 +152,6 @@ initCorsMiddleware FrameworkConfig { corsResourcePolicy } = case corsResourcePol
152152
Just corsResourcePolicy -> Cors.cors (const (Just corsResourcePolicy))
153153
Nothing -> id
154154

155-
initModelContext :: FrameworkConfig -> IO ModelContext
156-
initModelContext FrameworkConfig { environment, dbPoolIdleTime, dbPoolMaxConnections, databaseUrl, logger } = do
157-
let isDevelopment = environment == Env.Development
158-
modelContext <- createModelContext dbPoolIdleTime dbPoolMaxConnections databaseUrl logger
159-
pure modelContext
160-
161155
application :: (FrontController RootApplication, ?applicationContext :: ApplicationContext) => Application
162156
application request respond = do
163157
requestContext <- ControllerSupport.createRequestContext ?applicationContext request respond

0 commit comments

Comments
 (0)