fix: ordinalPriorities

This commit is contained in:
Gregor Kleen 2019-10-04 17:30:40 +02:00
parent 374f8a754e
commit d4ab6f64e2

View File

@ -16,7 +16,6 @@ import qualified Data.Map.Strict as Map
import qualified Database.Esqueleto as E
import qualified Database.Esqueleto.Utils as E
import Control.Monad.Trans.State.Strict (evalStateT)
import qualified Control.Monad.State.Class as State (get, modify')
import Data.List (genericLength, elemIndex)
@ -29,6 +28,7 @@ import System.Random (mkStdGen)
import Utils.Allocation
import qualified Data.Conduit.List as C
import Data.Conduit.Lift (evalStateC)
import Data.Generics.Product.Param
@ -45,7 +45,7 @@ allocationDone allocId = fmap (E.unValue <=< listToMaybe) . E.select . E.from $
ordinalPriorities :: Monad m => ConduitT UserMatriculation (Map UserMatriculation AllocationPriority) m ()
ordinalPriorities = transPipe (flip evalStateT 0) . C.mapM $ \matr -> singletonMap matr <$> (AllocationPriorityOrdinal <$> State.get <* State.modify' succ)
ordinalPriorities = evalStateC 0 . C.mapM $ \matr -> singletonMap matr <$> (AllocationPriorityOrdinal <$> State.get <* State.modify' succ)
sinkAllocationPriorities :: AllocationId
-> ConduitT (Map UserMatriculation AllocationPriority) Void DB ()