summaryrefslogtreecommitdiff
path: root/main/Test.hs
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2024-10-29 20:19:46 +0100
committerRoman Smrž <roman.smrz@seznam.cz>2024-10-29 21:36:21 +0100
commit5736b214b44bf34b3d2c0d6921c5044a6ad4378b (patch)
tree72c5ae2354fc1ebb93eff86e81876875e3277619 /main/Test.hs
parente51286039a0413cfbc456b0a9386c8ea369fdce3 (diff)
Chatroom-specific identity
Changelog: Chatroom-specific identity
Diffstat (limited to 'main/Test.hs')
-rw-r--r--main/Test.hs11
1 files changed, 10 insertions, 1 deletions
diff --git a/main/Test.hs b/main/Test.hs
index 741ffe8..1b156ae 100644
--- a/main/Test.hs
+++ b/main/Test.hs
@@ -290,6 +290,7 @@ commands = map (T.pack *** id)
, ("chatroom-unsubscribe", cmdChatroomUnsubscribe)
, ("chatroom-members", cmdChatroomMembers)
, ("chatroom-join", cmdChatroomJoin)
+ , ("chatroom-join-as", cmdChatroomJoinAs)
, ("chatroom-leave", cmdChatroomLeave)
, ("chatroom-message-send", cmdChatroomMessageSend)
]
@@ -757,7 +758,7 @@ cmdChatroomListLocal = do
cmdChatroomWatchLocal :: Command
cmdChatroomWatchLocal = do
[] <- asks tiParams
- h <- getHead
+ h <- getOrLoadHead
out <- asks tiOutput
void $ watchChatrooms h $ \_ -> \case
Nothing -> return ()
@@ -815,6 +816,14 @@ cmdChatroomJoin = do
joinChatroomByStateData =<< getChatroomStateData cid
cmdOut "chatroom-join-done"
+cmdChatroomJoinAs :: Command
+cmdChatroomJoinAs = do
+ [ cid, name ] <- asks tiParams
+ st <- asks tiStorage
+ identity <- liftIO $ createIdentity st (Just name) Nothing
+ joinChatroomAsByStateData identity =<< getChatroomStateData cid
+ cmdOut $ unwords [ "chatroom-join-as-done", T.unpack cid ]
+
cmdChatroomLeave :: Command
cmdChatroomLeave = do
[ cid ] <- asks tiParams