signal-desktop/ts/util/getRecipientsByConversation.ts
Fedor Indutny 366b875fd2 Introduce Service Id Types
Co-authored-by: Scott Nonnenberg <scott@signal.org>
2023-08-21 09:30:32 -07:00

24 lines
776 B
TypeScript

// Copyright 2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ConversationAttributesType } from '../model-types';
import type { RecipientsByConversation } from '../state/ducks/stories';
import { getConversationMembers } from './getConversationMembers';
import { isNotNil } from './isNotNil';
export function getRecipientsByConversation(
conversations: Array<ConversationAttributesType>
): RecipientsByConversation {
const recipientsByConversation: RecipientsByConversation = {};
conversations.forEach(attributes => {
recipientsByConversation[attributes.id] = {
serviceIds: getConversationMembers(attributes)
.map(member => member.uuid)
.filter(isNotNil),
};
});
return recipientsByConversation;
}