mirror of
https://codeberg.org/timelimit/timelimit-server.git
synced 2025-10-06 03:50:05 +02:00
Extend device status action for q or later
This commit is contained in:
parent
65200e83c2
commit
46af33f2cd
3 changed files with 30 additions and 4 deletions
|
@ -28,8 +28,18 @@ export class UpdateDeviceStatusAction extends AppLogicAction {
|
|||
readonly newAccessibilityServiceEnabled?: boolean
|
||||
readonly newAppVersion?: number
|
||||
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
|
||||
newUsageStatsPermissionStatus?: RuntimePermissionStatus
|
||||
newNotificationAccessPermission?: NewPermissionStatus
|
||||
|
@ -37,6 +47,7 @@ export class UpdateDeviceStatusAction extends AppLogicAction {
|
|||
newAccessibilityServiceEnabled?: boolean
|
||||
newAppVersion?: number
|
||||
didReboot: boolean
|
||||
isQOrLaterNow: boolean
|
||||
}) {
|
||||
super()
|
||||
|
||||
|
@ -53,6 +64,7 @@ export class UpdateDeviceStatusAction extends AppLogicAction {
|
|||
this.newAccessibilityServiceEnabled = newAccessibilityServiceEnabled
|
||||
this.newAppVersion = newAppVersion
|
||||
this.didReboot = didReboot
|
||||
this.isQOrLaterNow = isQOrLaterNow
|
||||
}
|
||||
|
||||
serialize = (): SerializedUpdateDeviceStatusAction => ({
|
||||
|
@ -63,10 +75,11 @@ export class UpdateDeviceStatusAction extends AppLogicAction {
|
|||
overlayPermission: this.newOverlayPermission,
|
||||
accessibilityServiceEnabled: this.newAccessibilityServiceEnabled,
|
||||
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({
|
||||
newProtetionLevel: protectionLevel,
|
||||
newUsageStatsPermissionStatus: usageStats,
|
||||
|
@ -74,7 +87,8 @@ export class UpdateDeviceStatusAction extends AppLogicAction {
|
|||
newOverlayPermission: overlayPermission,
|
||||
newAccessibilityServiceEnabled: accessibilityServiceEnabled,
|
||||
newAppVersion: appVersion,
|
||||
didReboot: !!didReboot
|
||||
didReboot: !!didReboot,
|
||||
isQOrLaterNow: !!isQOrLaterNow
|
||||
})
|
||||
)
|
||||
}
|
||||
|
@ -88,4 +102,5 @@ export interface SerializedUpdateDeviceStatusAction {
|
|||
accessibilityServiceEnabled?: boolean
|
||||
appVersion?: number
|
||||
didReboot?: boolean
|
||||
isQOrLaterNow?: boolean
|
||||
}
|
||||
|
|
|
@ -1225,6 +1225,9 @@ const definitions = {
|
|||
},
|
||||
"didReboot": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"isQOrLaterNow": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
|
|
|
@ -140,6 +140,14 @@ export async function dispatchUpdateDeviceStatus ({ deviceId, action, cache }: {
|
|||
deviceEntry.didReboot = true
|
||||
}
|
||||
|
||||
if (action.isQOrLaterNow) {
|
||||
const hasChanged = deviceEntry.isQorLater === false
|
||||
|
||||
if (hasChanged) {
|
||||
deviceEntry.isQorLater = true
|
||||
}
|
||||
}
|
||||
|
||||
await deviceEntry.save({ transaction: cache.transaction })
|
||||
|
||||
if (hasDeviceManipulation(deviceEntry)) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue