UNPKG

matrix-react-sdk

Version:
34 lines (31 loc) 5.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isDeviceInactive = exports.filterDevicesBySecurityRecommendation = exports.INACTIVE_DEVICE_AGE_MS = exports.INACTIVE_DEVICE_AGE_DAYS = void 0; var _types = require("./types"); /* Copyright 2024 New Vector Ltd. Copyright 2022 The Matrix.org Foundation C.I.C. SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ const MS_DAY = 24 * 60 * 60 * 1000; const INACTIVE_DEVICE_AGE_MS = exports.INACTIVE_DEVICE_AGE_MS = 7.776e9; // 90 days const INACTIVE_DEVICE_AGE_DAYS = exports.INACTIVE_DEVICE_AGE_DAYS = INACTIVE_DEVICE_AGE_MS / MS_DAY; const isDeviceInactive = device => !!device.last_seen_ts && device.last_seen_ts < Date.now() - INACTIVE_DEVICE_AGE_MS; exports.isDeviceInactive = isDeviceInactive; const filters = { [_types.DeviceSecurityVariation.Verified]: device => !!device.isVerified, [_types.DeviceSecurityVariation.Unverified]: device => !device.isVerified, [_types.DeviceSecurityVariation.Inactive]: isDeviceInactive }; const filterDevicesBySecurityRecommendation = (devices, securityVariations) => { const activeFilters = securityVariations.map(variation => filters[variation]); if (!activeFilters.length) { return devices; } return devices.filter(device => activeFilters.every(filter => filter(device))); }; exports.filterDevicesBySecurityRecommendation = filterDevicesBySecurityRecommendation; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZXMiLCJyZXF1aXJlIiwiTVNfREFZIiwiSU5BQ1RJVkVfREVWSUNFX0FHRV9NUyIsImV4cG9ydHMiLCJJTkFDVElWRV9ERVZJQ0VfQUdFX0RBWVMiLCJpc0RldmljZUluYWN0aXZlIiwiZGV2aWNlIiwibGFzdF9zZWVuX3RzIiwiRGF0ZSIsIm5vdyIsImZpbHRlcnMiLCJEZXZpY2VTZWN1cml0eVZhcmlhdGlvbiIsIlZlcmlmaWVkIiwiaXNWZXJpZmllZCIsIlVudmVyaWZpZWQiLCJJbmFjdGl2ZSIsImZpbHRlckRldmljZXNCeVNlY3VyaXR5UmVjb21tZW5kYXRpb24iLCJkZXZpY2VzIiwic2VjdXJpdHlWYXJpYXRpb25zIiwiYWN0aXZlRmlsdGVycyIsIm1hcCIsInZhcmlhdGlvbiIsImxlbmd0aCIsImZpbHRlciIsImV2ZXJ5Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZGV2aWNlcy9maWx0ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuaW1wb3J0IHsgRXh0ZW5kZWREZXZpY2UsIERldmljZVNlY3VyaXR5VmFyaWF0aW9uIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxudHlwZSBEZXZpY2VGaWx0ZXJDb25kaXRpb24gPSAoZGV2aWNlOiBFeHRlbmRlZERldmljZSkgPT4gYm9vbGVhbjtcblxuY29uc3QgTVNfREFZID0gMjQgKiA2MCAqIDYwICogMTAwMDtcbmV4cG9ydCBjb25zdCBJTkFDVElWRV9ERVZJQ0VfQUdFX01TID0gNy43NzZlOTsgLy8gOTAgZGF5c1xuZXhwb3J0IGNvbnN0IElOQUNUSVZFX0RFVklDRV9BR0VfREFZUyA9IElOQUNUSVZFX0RFVklDRV9BR0VfTVMgLyBNU19EQVk7XG5cbmV4cG9ydCB0eXBlIEZpbHRlclZhcmlhdGlvbiA9XG4gICAgfCBEZXZpY2VTZWN1cml0eVZhcmlhdGlvbi5WZXJpZmllZFxuICAgIHwgRGV2aWNlU2VjdXJpdHlWYXJpYXRpb24uSW5hY3RpdmVcbiAgICB8IERldmljZVNlY3VyaXR5VmFyaWF0aW9uLlVudmVyaWZpZWQ7XG5cbmV4cG9ydCBjb25zdCBpc0RldmljZUluYWN0aXZlOiBEZXZpY2VGaWx0ZXJDb25kaXRpb24gPSAoZGV2aWNlKSA9PlxuICAgICEhZGV2aWNlLmxhc3Rfc2Vlbl90cyAmJiBkZXZpY2UubGFzdF9zZWVuX3RzIDwgRGF0ZS5ub3coKSAtIElOQUNUSVZFX0RFVklDRV9BR0VfTVM7XG5cbmNvbnN0IGZpbHRlcnM6IFJlY29yZDxGaWx0ZXJWYXJpYXRpb24sIERldmljZUZpbHRlckNvbmRpdGlvbj4gPSB7XG4gICAgW0RldmljZVNlY3VyaXR5VmFyaWF0aW9uLlZlcmlmaWVkXTogKGRldmljZSkgPT4gISFkZXZpY2UuaXNWZXJpZmllZCxcbiAgICBbRGV2aWNlU2VjdXJpdHlWYXJpYXRpb24uVW52ZXJpZmllZF06IChkZXZpY2UpID0+ICFkZXZpY2UuaXNWZXJpZmllZCxcbiAgICBbRGV2aWNlU2VjdXJpdHlWYXJpYXRpb24uSW5hY3RpdmVdOiBpc0RldmljZUluYWN0aXZlLFxufTtcblxuZXhwb3J0IGNvbnN0IGZpbHRlckRldmljZXNCeVNlY3VyaXR5UmVjb21tZW5kYXRpb24gPSAoXG4gICAgZGV2aWNlczogRXh0ZW5kZWREZXZpY2VbXSxcbiAgICBzZWN1cml0eVZhcmlhdGlvbnM6IEZpbHRlclZhcmlhdGlvbltdLFxuKTogRXh0ZW5kZWREZXZpY2VbXSA9PiB7XG4gICAgY29uc3QgYWN0aXZlRmlsdGVycyA9IHNlY3VyaXR5VmFyaWF0aW9ucy5tYXAoKHZhcmlhdGlvbikgPT4gZmlsdGVyc1t2YXJpYXRpb25dKTtcbiAgICBpZiAoIWFjdGl2ZUZpbHRlcnMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBkZXZpY2VzO1xuICAgIH1cbiAgICByZXR1cm4gZGV2aWNlcy5maWx0ZXIoKGRldmljZSkgPT4gYWN0aXZlRmlsdGVycy5ldmVyeSgoZmlsdGVyKSA9PiBmaWx0ZXIoZGV2aWNlKSkpO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBUUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBUkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBTUEsTUFBTUMsTUFBTSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUk7QUFDM0IsTUFBTUMsc0JBQXNCLEdBQUFDLE9BQUEsQ0FBQUQsc0JBQUEsR0FBRyxPQUFPLENBQUMsQ0FBQztBQUN4QyxNQUFNRSx3QkFBd0IsR0FBQUQsT0FBQSxDQUFBQyx3QkFBQSxHQUFHRixzQkFBc0IsR0FBR0QsTUFBTTtBQU9oRSxNQUFNSSxnQkFBdUMsR0FBSUMsTUFBTSxJQUMxRCxDQUFDLENBQUNBLE1BQU0sQ0FBQ0MsWUFBWSxJQUFJRCxNQUFNLENBQUNDLFlBQVksR0FBR0MsSUFBSSxDQUFDQyxHQUFHLENBQUMsQ0FBQyxHQUFHUCxzQkFBc0I7QUFBQ0MsT0FBQSxDQUFBRSxnQkFBQSxHQUFBQSxnQkFBQTtBQUV2RixNQUFNSyxPQUF1RCxHQUFHO0VBQzVELENBQUNDLDhCQUF1QixDQUFDQyxRQUFRLEdBQUlOLE1BQU0sSUFBSyxDQUFDLENBQUNBLE1BQU0sQ0FBQ08sVUFBVTtFQUNuRSxDQUFDRiw4QkFBdUIsQ0FBQ0csVUFBVSxHQUFJUixNQUFNLElBQUssQ0FBQ0EsTUFBTSxDQUFDTyxVQUFVO0VBQ3BFLENBQUNGLDhCQUF1QixDQUFDSSxRQUFRLEdBQUdWO0FBQ3hDLENBQUM7QUFFTSxNQUFNVyxxQ0FBcUMsR0FBR0EsQ0FDakRDLE9BQXlCLEVBQ3pCQyxrQkFBcUMsS0FDbEI7RUFDbkIsTUFBTUMsYUFBYSxHQUFHRCxrQkFBa0IsQ0FBQ0UsR0FBRyxDQUFFQyxTQUFTLElBQUtYLE9BQU8sQ0FBQ1csU0FBUyxDQUFDLENBQUM7RUFDL0UsSUFBSSxDQUFDRixhQUFhLENBQUNHLE1BQU0sRUFBRTtJQUN2QixPQUFPTCxPQUFPO0VBQ2xCO0VBQ0EsT0FBT0EsT0FBTyxDQUFDTSxNQUFNLENBQUVqQixNQUFNLElBQUthLGFBQWEsQ0FBQ0ssS0FBSyxDQUFFRCxNQUFNLElBQUtBLE1BQU0sQ0FBQ2pCLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDdEYsQ0FBQztBQUFDSCxPQUFBLENBQUFhLHFDQUFBLEdBQUFBLHFDQUFBIiwiaWdub3JlTGlzdCI6W119