parent
360cb52680
commit
6e8d25e530
@ -1,55 +0,0 @@
|
||||
import { ConversationModel } from '../models/conversation';
|
||||
import { getConversationController } from '../session/conversations';
|
||||
import { MentionsMembersType } from '../state/ducks/conversations';
|
||||
|
||||
// tslint:disable: no-unnecessary-class
|
||||
export class FindMember {
|
||||
public static async findMember(
|
||||
pubkey: String,
|
||||
convoId: string,
|
||||
clearOurInterval?: any
|
||||
): Promise<ConversationModel | null> {
|
||||
let groupMembers;
|
||||
|
||||
const groupConvos = getConversationController()
|
||||
.getConversations()
|
||||
.filter((d: any) => {
|
||||
return !d.isPrivate();
|
||||
});
|
||||
const thisConvo = groupConvos.find((d: any) => {
|
||||
return d.id === convoId;
|
||||
});
|
||||
|
||||
if (!thisConvo) {
|
||||
// If this gets triggered, is is likely because we deleted the conversation
|
||||
if (clearOurInterval) {
|
||||
clearOurInterval();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
if (thisConvo.isPublic()) {
|
||||
const publicMembers = (await window.inboxStore?.getState()
|
||||
.mentionsInput) as MentionsMembersType;
|
||||
const memberConversations = (publicMembers || [])
|
||||
.map(publicMember => getConversationController().get(publicMember.authorPhoneNumber))
|
||||
.filter((c: any) => !!c);
|
||||
groupMembers = memberConversations;
|
||||
} else {
|
||||
const privateConvos = getConversationController()
|
||||
.getConversations()
|
||||
.filter((d: any) => d.isPrivate());
|
||||
const members = thisConvo.attributes.members;
|
||||
if (!members) {
|
||||
return null;
|
||||
}
|
||||
const memberConversations = members
|
||||
.map((m: any) => privateConvos.find((c: any) => c.id === m))
|
||||
.filter((c: any) => !!c);
|
||||
groupMembers = memberConversations;
|
||||
}
|
||||
|
||||
return groupMembers.find(({ id: pn }: any) => pn && pn === pubkey);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue