signal-desktop/ts/util/onCallLogEventSync.ts
2023-09-27 12:42:30 -07:00

31 lines
1,012 B
TypeScript

// Copyright 2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { CallLogEventSyncEvent } from '../textsecure/messageReceiverEvents';
import * as log from '../logging/log';
import { CallLogEvent } from '../types/CallDisposition';
import { missingCaseError } from './missingCaseError';
export async function onCallLogEventSync(
syncEvent: CallLogEventSyncEvent
): Promise<void> {
const { callLogEvent, confirm } = syncEvent;
const { event, timestamp } = callLogEvent;
log.info(
`onCallLogEventSync: Processing event (Event: ${event}, Timestamp: ${timestamp})`
);
if (event === CallLogEvent.Clear) {
log.info(`onCallLogEventSync: Clearing call history before ${timestamp}`);
try {
await window.Signal.Data.clearCallHistory(timestamp);
} finally {
// We want to reset the call history even if the clear fails.
window.reduxActions.callHistory.resetCallHistory();
}
confirm();
} else {
throw missingCaseError(event);
}
}