From 02c9b435266fe2d738ca9ee17963351a44b89a39 Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Mon, 25 Jan 2016 18:26:24 +0000 Subject: minor code cleanup --- server/src/Thermoprint/Server.hs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'server/src') diff --git a/server/src/Thermoprint/Server.hs b/server/src/Thermoprint/Server.hs index 3d0e97e..7767c12 100644 --- a/server/src/Thermoprint/Server.hs +++ b/server/src/Thermoprint/Server.hs @@ -64,6 +64,13 @@ instance Default Config where , printers = Map.empty } +withPrinters :: MonadResource m => Config -> [m PrinterMethod] -> m Config +-- ^ Add a list of printers to a 'Config' +withPrinters cfg pss = (\map -> cfg { printers = map }) <$> foldlM (\map spec -> Map.insert (nextKey map) <$> printer spec <*> pure map) Map.empty pss + where + nextKey map + | Map.null map = 0 + | otherwise = succ . fst $ Map.findMin map thermoprintServer :: ( MonadLoggerIO m , MonadReader ConnectionPool m @@ -83,10 +90,3 @@ thermoprintServer io = Dyre.wrapMain $ Dyre.defaultParams mapM_ ($(logWarnS) "DB") =<< runSqlPool (runMigrationSilent migrateAll) =<< ask forM_ printers $ resourceForkIO . runPrinter liftIO . Warp.runSettings warpSettings . serve thermoprintAPI . flip enter API.thermoprintServer =<< handlerNat printers - -withPrinters :: MonadResource m => Config -> [m PrinterMethod] -> m Config -withPrinters cfg pss = (\map -> cfg { printers = map }) <$> foldlM (\map spec -> Map.insert (nextKey map) <$> printer spec <*> pure map) Map.empty pss - where - nextKey map - | Map.null map = 0 - | otherwise = succ . fst $ Map.findMin map -- cgit v1.2.3