signal-desktop/ts/util/getSenderIdentifier.ts
Fedor Indutny 3555ccc629
Make most message attribute uses readonly
Co-authored-by: Jamie Kyle <jamie@signal.org>
2024-07-24 13:14:11 -07:00

23 lines
679 B
TypeScript

// Copyright 2023 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReadonlyMessageAttributesType } from '../model-types.d';
export function getSenderIdentifier({
sent_at: sentAt,
source,
sourceServiceId,
sourceDevice,
}: Pick<
ReadonlyMessageAttributesType,
'sent_at' | 'source' | 'sourceServiceId' | 'sourceDevice'
>): string {
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
const conversation = window.ConversationController.lookupOrCreate({
e164: source,
serviceId: sourceServiceId,
reason: 'MessageModel.getSenderIdentifier',
})!;
return `${conversation?.id}.${sourceDevice}-${sentAt}`;
}