more fixes

This commit is contained in:
qvalentin 2025-01-25 18:37:03 +01:00
parent 491dc6c569
commit 64ec9972be
2 changed files with 16 additions and 10 deletions

View file

@ -49,13 +49,12 @@ roomDataHandler ::
roomDataHandler = do
newRoomData <- parseBodyOrBadRequest
liftIO $ putStrLn "Got triggered from prosody"
whenM (roomStateDiffers newRoomData) $ do
(openedRooms, closedRooms) <- setRoomDataState newRoomData
(openedRooms, closedRooms) <- setRoomDataState newRoomData
mapM_ notifyRoomOpend openedRooms
mapM_ notifyRoomClosed closedRooms
mapM_ notifyRoomOpend openedRooms
mapM_ notifyRoomClosed closedRooms
broadcastUserData
broadcastUserData
success
parseBodyOrBadRequest ::

View file

@ -26,16 +26,23 @@ class HasRoomsState a where
updateRoomState ::
( HasRoomsState env,
MonadIO m,
MonadReader env m
MonadReader env m,
MonadRoomDataStateRead m
) =>
RoomsData ->
m RoomsStateDiff
updateRoomState newData = do
state <- getRoomsState <$> ask
liftIO $ putStrLn "Upating room state"
diff <- updateGenericTVarStateWithQuery state roomStateDiff newData
liftIO $ putStrLn "Done Upating room state"
return diff
current <- getRoomDataState
if not $ eqIgnoreOrdering newData current
then
( do
liftIO $ putStrLn "Upating room state"
diff <- updateGenericTVarStateWithQuery state roomStateDiff newData
liftIO $ putStrLn "Done Upating room state"
return diff
)
else return ([], [])
getRoomState ::
( HasRoomsState env,