Files
Desktop/ts/util/updateBackupMediaDownloadProgress.ts
2025-10-09 13:28:58 -07:00

26 lines
815 B
TypeScript

// Copyright 2025 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import lodash from 'lodash';
import type { BackupAttachmentDownloadProgress } from '../sql/Interface.js';
import { itemStorage } from '../textsecure/Storage.js';
const { throttle } = lodash;
export async function updateBackupMediaDownloadProgress(
getBackupAttachmentDownloadProgress: () => Promise<BackupAttachmentDownloadProgress>
): Promise<void> {
const { totalBytes, completedBytes } =
await getBackupAttachmentDownloadProgress();
await Promise.all([
itemStorage.put('backupMediaDownloadCompletedBytes', completedBytes),
itemStorage.put('backupMediaDownloadTotalBytes', totalBytes),
]);
}
export const throttledUpdateBackupMediaDownloadProgress = throttle(
updateBackupMediaDownloadProgress,
200
);