signal-desktop/ts/util/isConversationSMSOnly.ts
2023-08-21 09:30:33 -07:00

27 lines
690 B
TypeScript

// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ServiceIdString } from '../types/ServiceId';
export type MinimalConversationType = Readonly<{
type?: string;
e164?: string;
serviceId?: ServiceIdString;
discoveredUnregisteredAt?: number;
}>;
export function isConversationSMSOnly(
conversation: MinimalConversationType
): boolean {
const { e164, serviceId, type } = conversation;
// `direct` for redux, `private` for models and the database
if (type !== 'direct' && type !== 'private') {
return false;
}
if (e164 && !serviceId) {
return true;
}
return conversation.discoveredUnregisteredAt !== undefined;
}