mirror of
https://codeberg.org/timelimit/timelimit-server.git
synced 2026-08-31 19:03:45 +02:00
Extend device status action for q or later
This commit is contained in:
@@ -28,8 +28,18 @@ export class UpdateDeviceStatusAction extends AppLogicAction {
|
|||||||
readonly newAccessibilityServiceEnabled?: boolean
|
readonly newAccessibilityServiceEnabled?: boolean
|
||||||
readonly newAppVersion?: number
|
readonly newAppVersion?: number
|
||||||
readonly didReboot: boolean
|
readonly didReboot: boolean
|
||||||
|
readonly isQOrLaterNow: boolean
|
||||||
|
|
||||||
constructor ({ newProtetionLevel, newUsageStatsPermissionStatus, newNotificationAccessPermission, newOverlayPermission, newAccessibilityServiceEnabled, newAppVersion, didReboot }: {
|
constructor ({
|
||||||
|
newProtetionLevel,
|
||||||
|
newUsageStatsPermissionStatus,
|
||||||
|
newNotificationAccessPermission,
|
||||||
|
newOverlayPermission,
|
||||||
|
newAccessibilityServiceEnabled,
|
||||||
|
newAppVersion,
|
||||||
|
didReboot,
|
||||||
|
isQOrLaterNow
|
||||||
|
}: {
|
||||||
newProtetionLevel?: ProtectionLevel
|
newProtetionLevel?: ProtectionLevel
|
||||||
newUsageStatsPermissionStatus?: RuntimePermissionStatus
|
newUsageStatsPermissionStatus?: RuntimePermissionStatus
|
||||||
newNotificationAccessPermission?: NewPermissionStatus
|
newNotificationAccessPermission?: NewPermissionStatus
|
||||||
@@ -37,6 +47,7 @@ export class UpdateDeviceStatusAction extends AppLogicAction {
|
|||||||
newAccessibilityServiceEnabled?: boolean
|
newAccessibilityServiceEnabled?: boolean
|
||||||
newAppVersion?: number
|
newAppVersion?: number
|
||||||
didReboot: boolean
|
didReboot: boolean
|
||||||
|
isQOrLaterNow: boolean
|
||||||
}) {
|
}) {
|
||||||
super()
|
super()
|
||||||
|
|
||||||
@@ -53,6 +64,7 @@ export class UpdateDeviceStatusAction extends AppLogicAction {
|
|||||||
this.newAccessibilityServiceEnabled = newAccessibilityServiceEnabled
|
this.newAccessibilityServiceEnabled = newAccessibilityServiceEnabled
|
||||||
this.newAppVersion = newAppVersion
|
this.newAppVersion = newAppVersion
|
||||||
this.didReboot = didReboot
|
this.didReboot = didReboot
|
||||||
|
this.isQOrLaterNow = isQOrLaterNow
|
||||||
}
|
}
|
||||||
|
|
||||||
serialize = (): SerializedUpdateDeviceStatusAction => ({
|
serialize = (): SerializedUpdateDeviceStatusAction => ({
|
||||||
@@ -63,10 +75,11 @@ export class UpdateDeviceStatusAction extends AppLogicAction {
|
|||||||
overlayPermission: this.newOverlayPermission,
|
overlayPermission: this.newOverlayPermission,
|
||||||
accessibilityServiceEnabled: this.newAccessibilityServiceEnabled,
|
accessibilityServiceEnabled: this.newAccessibilityServiceEnabled,
|
||||||
appVersion: this.newAppVersion,
|
appVersion: this.newAppVersion,
|
||||||
didReboot: this.didReboot
|
didReboot: this.didReboot,
|
||||||
|
isQOrLaterNow: this.isQOrLaterNow
|
||||||
})
|
})
|
||||||
|
|
||||||
static parse = ({ protectionLevel, usageStats, notificationAccess, overlayPermission, accessibilityServiceEnabled, appVersion, didReboot }: SerializedUpdateDeviceStatusAction) => (
|
static parse = ({ protectionLevel, usageStats, notificationAccess, overlayPermission, accessibilityServiceEnabled, appVersion, didReboot, isQOrLaterNow }: SerializedUpdateDeviceStatusAction) => (
|
||||||
new UpdateDeviceStatusAction({
|
new UpdateDeviceStatusAction({
|
||||||
newProtetionLevel: protectionLevel,
|
newProtetionLevel: protectionLevel,
|
||||||
newUsageStatsPermissionStatus: usageStats,
|
newUsageStatsPermissionStatus: usageStats,
|
||||||
@@ -74,7 +87,8 @@ export class UpdateDeviceStatusAction extends AppLogicAction {
|
|||||||
newOverlayPermission: overlayPermission,
|
newOverlayPermission: overlayPermission,
|
||||||
newAccessibilityServiceEnabled: accessibilityServiceEnabled,
|
newAccessibilityServiceEnabled: accessibilityServiceEnabled,
|
||||||
newAppVersion: appVersion,
|
newAppVersion: appVersion,
|
||||||
didReboot: !!didReboot
|
didReboot: !!didReboot,
|
||||||
|
isQOrLaterNow: !!isQOrLaterNow
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -88,4 +102,5 @@ export interface SerializedUpdateDeviceStatusAction {
|
|||||||
accessibilityServiceEnabled?: boolean
|
accessibilityServiceEnabled?: boolean
|
||||||
appVersion?: number
|
appVersion?: number
|
||||||
didReboot?: boolean
|
didReboot?: boolean
|
||||||
|
isQOrLaterNow?: boolean
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1225,6 +1225,9 @@ const definitions = {
|
|||||||
},
|
},
|
||||||
"didReboot": {
|
"didReboot": {
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"isQOrLaterNow": {
|
||||||
|
"type": "boolean"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
|
|||||||
@@ -140,6 +140,14 @@ export async function dispatchUpdateDeviceStatus ({ deviceId, action, cache }: {
|
|||||||
deviceEntry.didReboot = true
|
deviceEntry.didReboot = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (action.isQOrLaterNow) {
|
||||||
|
const hasChanged = deviceEntry.isQorLater === false
|
||||||
|
|
||||||
|
if (hasChanged) {
|
||||||
|
deviceEntry.isQorLater = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
await deviceEntry.save({ transaction: cache.transaction })
|
await deviceEntry.save({ transaction: cache.transaction })
|
||||||
|
|
||||||
if (hasDeviceManipulation(deviceEntry)) {
|
if (hasDeviceManipulation(deviceEntry)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user