mirror of
https://codeberg.org/timelimit/timelimit-server.git
synced 2026-08-31 19:03:45 +02:00
Save manipulation details
This commit is contained in:
@@ -48,6 +48,7 @@ export const prepareDeviceEntry = ({ familyId, userId, deviceAuthToken, deviceId
|
||||
triedDisablingDeviceAdmin: false,
|
||||
didReboot: false,
|
||||
hadManipulation: false,
|
||||
hadManipulationFlags: 0,
|
||||
lastConnectivity: '0',
|
||||
notSeenForLongTime: false,
|
||||
didDeviceReportUninstall: false,
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { UpdateDeviceStatusAction } from '../../../../action'
|
||||
import { hasDeviceManipulation } from '../../../../database/device'
|
||||
import { DeviceHadManipulationFlags, hasDeviceManipulation } from '../../../../database/device'
|
||||
import { newPermissionStatusValues } from '../../../../model/newpermissionstatus'
|
||||
import { protetionLevels } from '../../../../model/protectionlevel'
|
||||
import { runtimePermissionStatusValues } from '../../../../model/runtimepermissionstatus'
|
||||
@@ -56,6 +56,7 @@ export async function dispatchUpdateDeviceStatus ({ deviceId, action, cache }: {
|
||||
|
||||
if (hasChanged && (deviceEntry.currentProtectionLevel !== deviceEntry.highestProtectionLevel)) {
|
||||
deviceEntry.hadManipulation = true
|
||||
deviceEntry.hadManipulationFlags |= DeviceHadManipulationFlags.ProtectionLevel
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,6 +73,7 @@ export async function dispatchUpdateDeviceStatus ({ deviceId, action, cache }: {
|
||||
|
||||
if (hasChanged && (deviceEntry.currentUsageStatsPermission !== deviceEntry.highestUsageStatsPermission)) {
|
||||
deviceEntry.hadManipulation = true
|
||||
deviceEntry.hadManipulationFlags |= DeviceHadManipulationFlags.UsageStatsAccess
|
||||
}
|
||||
}
|
||||
|
||||
@@ -88,6 +90,7 @@ export async function dispatchUpdateDeviceStatus ({ deviceId, action, cache }: {
|
||||
|
||||
if (hasChanged && (deviceEntry.currentNotificationAccessPermission !== deviceEntry.highestNotificationAccessPermission)) {
|
||||
deviceEntry.hadManipulation = true
|
||||
deviceEntry.hadManipulationFlags |= DeviceHadManipulationFlags.NotificationAccess
|
||||
}
|
||||
}
|
||||
|
||||
@@ -104,6 +107,7 @@ export async function dispatchUpdateDeviceStatus ({ deviceId, action, cache }: {
|
||||
|
||||
if (hasChanged && (deviceEntry.currentOverlayPermission !== deviceEntry.highestOverlayPermission)) {
|
||||
deviceEntry.hadManipulation = true
|
||||
deviceEntry.hadManipulationFlags |= DeviceHadManipulationFlags.OverlayPermission
|
||||
}
|
||||
}
|
||||
|
||||
@@ -118,6 +122,7 @@ export async function dispatchUpdateDeviceStatus ({ deviceId, action, cache }: {
|
||||
|
||||
if (hasChanged && (deviceEntry.asEnabled !== deviceEntry.wasAsEnabled)) {
|
||||
deviceEntry.hadManipulation = true
|
||||
deviceEntry.hadManipulationFlags |= DeviceHadManipulationFlags.AccessibiityService
|
||||
}
|
||||
}
|
||||
|
||||
@@ -133,6 +138,7 @@ export async function dispatchUpdateDeviceStatus ({ deviceId, action, cache }: {
|
||||
|
||||
if (hasChanged && (deviceEntry.currentAppVersion !== deviceEntry.highestAppVersion)) {
|
||||
deviceEntry.hadManipulation = true
|
||||
deviceEntry.hadManipulationFlags |= DeviceHadManipulationFlags.AppVersion
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -70,6 +70,16 @@ export async function dispatchIgnoreManipulation ({ action, cache }: {
|
||||
deviceEntry.hadManipulation = false
|
||||
}
|
||||
|
||||
if (action.ignoreHadManipulationFlags !== 0) {
|
||||
const newFlags = deviceEntry.hadManipulationFlags & (~action.ignoreHadManipulationFlags)
|
||||
|
||||
deviceEntry.hadManipulationFlags = newFlags
|
||||
|
||||
if (newFlags === 0) {
|
||||
deviceEntry.hadManipulation = false
|
||||
}
|
||||
}
|
||||
|
||||
await deviceEntry.save({ transaction: cache.transaction })
|
||||
cache.invalidiateDeviceList = true
|
||||
}
|
||||
|
||||
@@ -89,6 +89,7 @@ export const generateServerDataStatus = async ({ database, clientStatus, familyI
|
||||
tDisablingAdmin: item.triedDisablingDeviceAdmin,
|
||||
reboot: item.didReboot,
|
||||
hadManipulation: item.hadManipulation,
|
||||
hadManipulationFlags: item.hadManipulationFlags,
|
||||
reportUninstall: item.didDeviceReportUninstall,
|
||||
isUserKeptSignedIn: item.isUserKeptSignedIn,
|
||||
showDeviceConnected: item.showDeviceConnected,
|
||||
|
||||
Reference in New Issue
Block a user