on master help sign in
Resolved #83
commit54410df1888b2e0561248265d842197a30b4ba88 authoriko <ilyakooo0@gmail.com> dateTue 14 May 2019, 02:34 (7 years ago) parent534f1b5
1 file changed+16−13
denis/src/Data/Query.hs+16−13
denis/src/Data/Query.hs+16−13
@@ -1006,7 +1006,6 @@ deleteNamedChannel uId cId = do
10061006 _ <- commitedTransactionallyUpdate $ manipulateParams deleteNamedChannelQ (Only cId)
10071007 return ()
10081008
1009−-- Returns n most popular
10101009getTags :: Limit -> StaticPQ [String]
10111010getTags lim = map fromOnly <$> (runQuery (getNpopularTagsQ lim) >>= getRows)
10121011
@@ -1057,20 +1056,24 @@ sendMessage selfId (MessageCreation gId@Nothing (Just uId) body) = do
10571056sendMessage _ _ = lift $ S.throwError S.err400
10581057
10591058createGroupChat :: UserId -> GroupChatCreation -> StaticPQ GroupChatId
1060−createGroupChat uId (GroupChatCreation (Jsonb chatUsers) name) = commitedTransactionallyUpdate $ do
1061− let chatUsers' = M.insert uId maxChatPermissions chatUsers
1062− (Only chatId) <- manipulateParams createGroupChatQ (GroupChatCreation (Jsonb chatUsers') name)
1063− >>= firstRow >>= fromMaybe500
1064− _ <- manipulateParams createPhantomMessageQ (Only chatId)
1065− return chatId
1059+createGroupChat uId (GroupChatCreation (Jsonb chatUsers) name) = do
1060+ verifyUsers . M.keys $ chatUsers
1061+ commitedTransactionallyUpdate $ do
1062+ let chatUsers' = M.insert uId maxChatPermissions chatUsers
1063+ (Only chatId) <- manipulateParams createGroupChatQ (GroupChatCreation (Jsonb chatUsers') name)
1064+ >>= firstRow >>= fromMaybe500
1065+ _ <- manipulateParams createPhantomMessageQ (Only chatId)
1066+ return chatId
10661067
10671068updateGroupChat :: UserId -> GroupChat -> StaticPQ ()
1068−updateGroupChat uId (GroupChat gId (Jsonb perms) name) = commitedTransactionallyUpdate $ do
1069− (GroupChat _ (Jsonb perms') _) <- getGroupChatForUser uId gId
1070− let userPerm = fromMaybe minChatPermissions $ M.lookup uId perms'
1071− unless (isAdmin userPerm) $ lift $ S.throwError $ S.err401
1072− let newPerms = M.insert uId userPerm perms
1073− void $ manipulateParams updateGroupChatQ (GroupChat gId (Jsonb newPerms) name)
1069+updateGroupChat uId (GroupChat gId (Jsonb perms) name) = do
1070+ verifyUsers . M.keys $ perms
1071+ commitedTransactionallyUpdate $ do
1072+ (GroupChat _ (Jsonb perms') _) <- getGroupChatForUser uId gId
1073+ let userPerm = fromMaybe minChatPermissions $ M.lookup uId perms'
1074+ unless (isAdmin userPerm) $ lift $ S.throwError $ S.err401
1075+ let newPerms = M.insert uId userPerm perms
1076+ void $ manipulateParams updateGroupChatQ (GroupChat gId (Jsonb newPerms) name)
10741077
10751078leaveGroupChat :: UserId -> GroupChatId -> StaticPQ ()
10761079leaveGroupChat uId gId = commitedTransactionallyUpdate $ do