mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-07-28 18:40:09 +00:00
core: return member records from apiGetReactionMembers (#5270)
This commit is contained in:
+1
-1
@@ -1081,7 +1081,7 @@ processChatCommand' vr = \case
|
||||
APIGetReactionMembers userId groupId itemId reaction -> withUserId userId $ \user -> do
|
||||
memberReactions <- withStore $ \db -> do
|
||||
CChatItem _ ChatItem {meta = CIMeta {itemSharedMsgId = Just itemSharedMId}} <- getGroupChatItem db user groupId itemId
|
||||
liftIO $ getReactionMembers db groupId itemSharedMId reaction
|
||||
liftIO $ getReactionMembers db vr user groupId itemSharedMId reaction
|
||||
pure $ CRReactionMembers user memberReactions
|
||||
APIPlanForwardChatItems (ChatRef fromCType fromChatId) itemIds -> withUser $ \user -> case fromCType of
|
||||
CTDirect -> planForward user . snd =<< getCommandDirectChatItems user fromChatId itemIds
|
||||
|
||||
@@ -475,7 +475,7 @@ deriving instance Show ACIReaction
|
||||
data JSONCIReaction c d = JSONCIReaction {chatInfo :: ChatInfo c, chatReaction :: CIReaction c d}
|
||||
|
||||
data MemberReaction = MemberReaction
|
||||
{ groupMemberId :: GroupMemberId,
|
||||
{ groupMember :: GroupMember,
|
||||
reactionTs :: UTCTime
|
||||
}
|
||||
deriving (Show)
|
||||
|
||||
@@ -2853,10 +2853,10 @@ setGroupReaction db GroupInfo {groupId} m itemMemberId itemSharedMId sent reacti
|
||||
|]
|
||||
(groupId, groupMemberId' m, itemSharedMId, itemMemberId, sent, reaction)
|
||||
|
||||
getReactionMembers :: DB.Connection -> GroupId -> SharedMsgId -> MsgReaction -> IO [MemberReaction]
|
||||
getReactionMembers db groupId itemSharedMId reaction =
|
||||
map toMemberReaction
|
||||
<$> DB.query
|
||||
getReactionMembers :: DB.Connection -> VersionRangeChat -> User -> GroupId -> SharedMsgId -> MsgReaction -> IO [MemberReaction]
|
||||
getReactionMembers db vr user groupId itemSharedMId reaction = do
|
||||
reactions <-
|
||||
DB.query
|
||||
db
|
||||
[sql|
|
||||
SELECT group_member_id, reaction_ts
|
||||
@@ -2864,9 +2864,12 @@ getReactionMembers db groupId itemSharedMId reaction =
|
||||
WHERE group_id = ? AND shared_msg_id = ? AND reaction = ?
|
||||
|]
|
||||
(groupId, itemSharedMId, reaction)
|
||||
rights <$> mapM (runExceptT . toMemberReaction) reactions
|
||||
where
|
||||
toMemberReaction :: (GroupMemberId, UTCTime) -> MemberReaction
|
||||
toMemberReaction (groupMemberId, reactionTs) = MemberReaction {groupMemberId, reactionTs}
|
||||
toMemberReaction :: (GroupMemberId, UTCTime) -> ExceptT StoreError IO MemberReaction
|
||||
toMemberReaction (groupMemberId, reactionTs) = do
|
||||
groupMember <- getGroupMemberById db vr user groupMemberId
|
||||
pure MemberReaction {groupMember, reactionTs}
|
||||
|
||||
getTimedItems :: DB.Connection -> User -> UTCTime -> IO [((ChatRef, ChatItemId), UTCTime)]
|
||||
getTimedItems db User {userId} startTimedThreadCutoff =
|
||||
|
||||
Reference in New Issue
Block a user