Add basically support for encrypted app list syncing

This commit is contained in:
Jonas Lochmann
2022-07-25 02:00:00 +02:00
parent acdec990ea
commit 8a5e46811e
104 changed files with 5287 additions and 55 deletions
+35
View File
@@ -23,6 +23,7 @@ import { RuntimePermissionStatus } from '../model/runtimepermissionstatus'
export interface ServerDataStatus {
devices?: ServerDeviceList // newDeviceList
devices2?: Array<ServerExtendedDeviceData> // updatedExtendedDeviceData
apps?: Array<ServerInstalledAppsData> // newInstalledApps
rmCategories?: Array<string> // removedCategories
categoryBase?: Array<ServerUpdatedCategoryBaseData> // newCategoryBaseData
@@ -31,6 +32,8 @@ export interface ServerDataStatus {
rules?: Array<ServerUpdatedTimeLimitRules> // newOrUpdatedTimeLimitRules
tasks?: Array<ServerUpdatedCategoryTasks> // newOrUpdatedTasks
users?: ServerUserList // newUserList
krq?: Array<ServerKeyRequest> // pendingKeyRequests
kr?: Array<ServerKeyResponse> // keyResponses
fullVersion: number // fullVersionUntil
message?: string
apiLevel: number
@@ -97,6 +100,7 @@ export interface ServerDeviceData {
activityLevelBlocking: boolean
qOrLater: boolean
mFlags: number // manipulation flags
pk?: string // public key
}
export interface ServerUpdatedCategoryBaseData {
@@ -217,3 +221,34 @@ export interface ServerInstalledAppsData {
apps: Array<SerializedInstalledApp>
activities: Array<SerializedAppActivityItem>
}
export interface ServerExtendedDeviceData {
deviceId: string
appsBase?: ServerCryptContainer
appsDiff?: ServerCryptContainer
}
export interface ServerCryptContainer {
version: string
data: string
}
export interface ServerKeyRequest {
srvSeq: number
senId: string
senSeq: number
deviceId?: string
categoryId?: string
type: number
tempKey: string
signature: string
}
export interface ServerKeyResponse {
srvSeq: number
sender: string
rqSeq: number
tempKey: string,
cryptKey: string,
signature: string
}