Add preblocking

This commit is contained in:
Jonas Lochmann 2020-12-21 01:00:00 +01:00
parent 13ede06a91
commit 2bb3777484
No known key found for this signature in database
GPG key ID: 8B8C9AEE10FA5B36
23 changed files with 615 additions and 71 deletions

View file

@ -57,74 +57,74 @@
- [SerialiezdTriedDisablingDeviceAdminAction](./serializedapplogicaction-anyof-serialiezdtrieddisablingdeviceadminaction.md) `https://timelimit.io/SerializedAppLogicAction#/anyOf/7` - [SerialiezdTriedDisablingDeviceAdminAction](./serializedapplogicaction-anyof-serialiezdtrieddisablingdeviceadminaction.md) `https://timelimit.io/SerializedAppLogicAction#/anyOf/7`
- [SerialiizedUpdateNetworkTimeVerificationAction](./serializedparentaction-definitions-serialiizedupdatenetworktimeverificationaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerialiizedUpdateNetworkTimeVerificationAction` - [SerialiizedUpdateNetworkTimeVerificationAction](./serializedparentaction-definitions-serialiizedupdatenetworktimeverificationaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerialiizedUpdateNetworkTimeVerificationAction`
- [SerialiizedUpdateNetworkTimeVerificationAction](./serializedparentaction-anyof-serialiizedupdatenetworktimeverificationaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/40` - [SerialiizedUpdateNetworkTimeVerificationAction](./serializedparentaction-anyof-serialiizedupdatenetworktimeverificationaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/40`
- [SerializeResetCategoryNetworkIdsAction](./serializedparentaction-anyof-serializeresetcategorynetworkidsaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/14`
- [SerializeResetCategoryNetworkIdsAction](./serializedparentaction-definitions-serializeresetcategorynetworkidsaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializeResetCategoryNetworkIdsAction` - [SerializeResetCategoryNetworkIdsAction](./serializedparentaction-definitions-serializeresetcategorynetworkidsaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializeResetCategoryNetworkIdsAction`
- [SerializeResetCategoryNetworkIdsAction](./serializedparentaction-anyof-serializeresetcategorynetworkidsaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/14`
- [SerializedAddCategoryAppsAction](./serializedparentaction-definitions-serializedaddcategoryappsaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedAddCategoryAppsAction` - [SerializedAddCategoryAppsAction](./serializedparentaction-definitions-serializedaddcategoryappsaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedAddCategoryAppsAction`
- [SerializedAddCategoryAppsAction](./serializedparentaction-anyof-serializedaddcategoryappsaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/0` - [SerializedAddCategoryAppsAction](./serializedparentaction-anyof-serializedaddcategoryappsaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/0`
- [SerializedAddCategoryNetworkIdAction](./serializedparentaction-definitions-serializedaddcategorynetworkidaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedAddCategoryNetworkIdAction` - [SerializedAddCategoryNetworkIdAction](./serializedparentaction-definitions-serializedaddcategorynetworkidaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedAddCategoryNetworkIdAction`
- [SerializedAddCategoryNetworkIdAction](./serializedparentaction-anyof-serializedaddcategorynetworkidaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/1` - [SerializedAddCategoryNetworkIdAction](./serializedparentaction-anyof-serializedaddcategorynetworkidaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/1`
- [SerializedAddInstalledAppsAction](./serializedapplogicaction-definitions-serializedaddinstalledappsaction.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedAddInstalledAppsAction` - [SerializedAddInstalledAppsAction](./serializedapplogicaction-definitions-serializedaddinstalledappsaction.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedAddInstalledAppsAction`
- [SerializedAddInstalledAppsAction](./serializedapplogicaction-anyof-serializedaddinstalledappsaction.md) `https://timelimit.io/SerializedAppLogicAction#/anyOf/0` - [SerializedAddInstalledAppsAction](./serializedapplogicaction-anyof-serializedaddinstalledappsaction.md) `https://timelimit.io/SerializedAppLogicAction#/anyOf/0`
- [SerializedAddUsedTimeAction](./serializedapplogicaction-definitions-serializedaddusedtimeaction.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedAddUsedTimeAction`
- [SerializedAddUsedTimeAction](./serializedapplogicaction-anyof-serializedaddusedtimeaction.md) `https://timelimit.io/SerializedAppLogicAction#/anyOf/1` - [SerializedAddUsedTimeAction](./serializedapplogicaction-anyof-serializedaddusedtimeaction.md) `https://timelimit.io/SerializedAppLogicAction#/anyOf/1`
- [SerializedAddUsedTimeAction](./serializedapplogicaction-definitions-serializedaddusedtimeaction.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedAddUsedTimeAction`
- [SerializedAddUsedTimeActionVersion2](./serializedapplogicaction-definitions-serializedaddusedtimeactionversion2.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedAddUsedTimeActionVersion2` - [SerializedAddUsedTimeActionVersion2](./serializedapplogicaction-definitions-serializedaddusedtimeactionversion2.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedAddUsedTimeActionVersion2`
- [SerializedAddUsedTimeActionVersion2](./serializedapplogicaction-anyof-serializedaddusedtimeactionversion2.md) `https://timelimit.io/SerializedAppLogicAction#/anyOf/2` - [SerializedAddUsedTimeActionVersion2](./serializedapplogicaction-anyof-serializedaddusedtimeactionversion2.md) `https://timelimit.io/SerializedAppLogicAction#/anyOf/2`
- [SerializedAddUserAction](./serializedparentaction-definitions-serializedadduseraction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedAddUserAction`
- [SerializedAddUserAction](./serializedparentaction-anyof-serializedadduseraction.md) `https://timelimit.io/SerializedParentAction#/anyOf/2` - [SerializedAddUserAction](./serializedparentaction-anyof-serializedadduseraction.md) `https://timelimit.io/SerializedParentAction#/anyOf/2`
- [SerializedAppActivityItem](./serverdatastatus-definitions-serverinstalledappsdata-properties-activities-serializedappactivityitem.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerInstalledAppsData/properties/activities/items` - [SerializedAddUserAction](./serializedparentaction-definitions-serializedadduseraction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedAddUserAction`
- [SerializedAppActivityItem](./serverdatastatus-definitions-serverinstalledappsdata-properties-activities-serializedappactivityitem.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerInstalledAppsData/properties/activities/items` - [SerializedAppActivityItem](./serializedapplogicaction-definitions-serializedappactivityitem.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedAppActivityItem`
- [SerializedAppActivityItem](./serializedapplogicaction-definitions-serializedupdateappactivitiesaction-properties-updatedoradded-serializedappactivityitem.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedUpdateAppActivitiesAction/properties/updatedOrAdded/items`
- [SerializedAppActivityItem](./serverdatastatus-definitions-serializedappactivityitem.md) `https://timelimit.io/ServerDataStatus#/definitions/SerializedAppActivityItem` - [SerializedAppActivityItem](./serverdatastatus-definitions-serializedappactivityitem.md) `https://timelimit.io/ServerDataStatus#/definitions/SerializedAppActivityItem`
- [SerializedAppActivityItem](./serializedapplogicaction-definitions-serializedupdateappactivitiesaction-properties-updatedoradded-serializedappactivityitem.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedUpdateAppActivitiesAction/properties/updatedOrAdded/items` - [SerializedAppActivityItem](./serializedapplogicaction-definitions-serializedupdateappactivitiesaction-properties-updatedoradded-serializedappactivityitem.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedUpdateAppActivitiesAction/properties/updatedOrAdded/items`
- [SerializedAppActivityItem](./serializedapplogicaction-definitions-serializedappactivityitem.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedAppActivityItem` - [SerializedAppActivityItem](./serverdatastatus-definitions-serverinstalledappsdata-properties-activities-serializedappactivityitem.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerInstalledAppsData/properties/activities/items`
- [SerializedChangeParentPasswordAction](./serializedparentaction-definitions-serializedchangeparentpasswordaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedChangeParentPasswordAction` - [SerializedAppActivityItem](./serializedapplogicaction-definitions-serializedupdateappactivitiesaction-properties-updatedoradded-serializedappactivityitem.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedUpdateAppActivitiesAction/properties/updatedOrAdded/items`
- [SerializedAppActivityItem](./serverdatastatus-definitions-serverinstalledappsdata-properties-activities-serializedappactivityitem.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerInstalledAppsData/properties/activities/items`
- [SerializedChangeParentPasswordAction](./serializedparentaction-anyof-serializedchangeparentpasswordaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/3` - [SerializedChangeParentPasswordAction](./serializedparentaction-anyof-serializedchangeparentpasswordaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/3`
- [SerializedChildChangePasswordAction](./serializedchildaction-definitions-serializedchildchangepasswordaction.md) `https://timelimit.io/SerializedChildAction#/definitions/SerializedChildChangePasswordAction` - [SerializedChangeParentPasswordAction](./serializedparentaction-definitions-serializedchangeparentpasswordaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedChangeParentPasswordAction`
- [SerializedChildChangePasswordAction](./serializedchildaction-anyof-serializedchildchangepasswordaction.md) `https://timelimit.io/SerializedChildAction#/anyOf/0` - [SerializedChildChangePasswordAction](./serializedchildaction-anyof-serializedchildchangepasswordaction.md) `https://timelimit.io/SerializedChildAction#/anyOf/0`
- [SerializedChildSignInAction](./serializedchildaction-definitions-serializedchildsigninaction.md) `https://timelimit.io/SerializedChildAction#/definitions/SerializedChildSignInAction` - [SerializedChildChangePasswordAction](./serializedchildaction-definitions-serializedchildchangepasswordaction.md) `https://timelimit.io/SerializedChildAction#/definitions/SerializedChildChangePasswordAction`
- [SerializedChildSignInAction](./serializedchildaction-anyof-serializedchildsigninaction.md) `https://timelimit.io/SerializedChildAction#/anyOf/1` - [SerializedChildSignInAction](./serializedchildaction-anyof-serializedchildsigninaction.md) `https://timelimit.io/SerializedChildAction#/anyOf/1`
- [SerializedChildSignInAction](./serializedchildaction-definitions-serializedchildsigninaction.md) `https://timelimit.io/SerializedChildAction#/definitions/SerializedChildSignInAction`
- [SerializedCreateCategoryAction](./serializedparentaction-anyof-serializedcreatecategoryaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/4` - [SerializedCreateCategoryAction](./serializedparentaction-anyof-serializedcreatecategoryaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/4`
- [SerializedCreateCategoryAction](./serializedparentaction-definitions-serializedcreatecategoryaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedCreateCategoryAction` - [SerializedCreateCategoryAction](./serializedparentaction-definitions-serializedcreatecategoryaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedCreateCategoryAction`
- [SerializedCreateTimelimtRuleAction](./serializedparentaction-anyof-serializedcreatetimelimtruleaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/5`
- [SerializedCreateTimelimtRuleAction](./serializedparentaction-definitions-serializedcreatetimelimtruleaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedCreateTimelimtRuleAction` - [SerializedCreateTimelimtRuleAction](./serializedparentaction-definitions-serializedcreatetimelimtruleaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedCreateTimelimtRuleAction`
- [SerializedCreateTimelimtRuleAction](./serializedparentaction-anyof-serializedcreatetimelimtruleaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/5`
- [SerializedDeleteCategoryAction](./serializedparentaction-anyof-serializeddeletecategoryaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/6` - [SerializedDeleteCategoryAction](./serializedparentaction-anyof-serializeddeletecategoryaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/6`
- [SerializedDeleteCategoryAction](./serializedparentaction-definitions-serializeddeletecategoryaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedDeleteCategoryAction` - [SerializedDeleteCategoryAction](./serializedparentaction-definitions-serializeddeletecategoryaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedDeleteCategoryAction`
- [SerializedDeleteChildTaskAction](./serializedparentaction-anyof-serializeddeletechildtaskaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/7` - [SerializedDeleteChildTaskAction](./serializedparentaction-anyof-serializeddeletechildtaskaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/7`
- [SerializedDeleteChildTaskAction](./serializedparentaction-definitions-serializeddeletechildtaskaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedDeleteChildTaskAction` - [SerializedDeleteChildTaskAction](./serializedparentaction-definitions-serializeddeletechildtaskaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedDeleteChildTaskAction`
- [SerializedDeleteTimeLimitRuleAction](./serializedparentaction-anyof-serializeddeletetimelimitruleaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/8` - [SerializedDeleteTimeLimitRuleAction](./serializedparentaction-anyof-serializeddeletetimelimitruleaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/8`
- [SerializedDeleteTimeLimitRuleAction](./serializedparentaction-definitions-serializeddeletetimelimitruleaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedDeleteTimeLimitRuleAction` - [SerializedDeleteTimeLimitRuleAction](./serializedparentaction-definitions-serializeddeletetimelimitruleaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedDeleteTimeLimitRuleAction`
- [SerializedForceSyncAction](./serializedapplogicaction-definitions-serializedforcesyncaction.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedForceSyncAction`
- [SerializedForceSyncAction](./serializedapplogicaction-anyof-serializedforcesyncaction.md) `https://timelimit.io/SerializedAppLogicAction#/anyOf/3` - [SerializedForceSyncAction](./serializedapplogicaction-anyof-serializedforcesyncaction.md) `https://timelimit.io/SerializedAppLogicAction#/anyOf/3`
- [SerializedIgnoreManipulationAction](./serializedparentaction-definitions-serializedignoremanipulationaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedIgnoreManipulationAction` - [SerializedForceSyncAction](./serializedapplogicaction-definitions-serializedforcesyncaction.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedForceSyncAction`
- [SerializedIgnoreManipulationAction](./serializedparentaction-anyof-serializedignoremanipulationaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/9` - [SerializedIgnoreManipulationAction](./serializedparentaction-anyof-serializedignoremanipulationaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/9`
- [SerializedIgnoreManipulationAction](./serializedparentaction-definitions-serializedignoremanipulationaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedIgnoreManipulationAction`
- [SerializedIncrementCategoryExtraTimeAction](./serializedparentaction-definitions-serializedincrementcategoryextratimeaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedIncrementCategoryExtraTimeAction` - [SerializedIncrementCategoryExtraTimeAction](./serializedparentaction-definitions-serializedincrementcategoryextratimeaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedIncrementCategoryExtraTimeAction`
- [SerializedIncrementCategoryExtraTimeAction](./serializedparentaction-anyof-serializedincrementcategoryextratimeaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/10` - [SerializedIncrementCategoryExtraTimeAction](./serializedparentaction-anyof-serializedincrementcategoryextratimeaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/10`
- [SerializedInstalledApp](./serializedapplogicaction-definitions-serializedinstalledapp.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedInstalledApp`
- [SerializedInstalledApp](./serializedapplogicaction-definitions-serializedaddinstalledappsaction-properties-apps-serializedinstalledapp.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedAddInstalledAppsAction/properties/apps/items` - [SerializedInstalledApp](./serializedapplogicaction-definitions-serializedaddinstalledappsaction-properties-apps-serializedinstalledapp.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedAddInstalledAppsAction/properties/apps/items`
- [SerializedInstalledApp](./serverdatastatus-definitions-serverinstalledappsdata-properties-apps-serializedinstalledapp.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerInstalledAppsData/properties/apps/items`
- [SerializedInstalledApp](./serverdatastatus-definitions-serverinstalledappsdata-properties-apps-serializedinstalledapp.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerInstalledAppsData/properties/apps/items`
- [SerializedInstalledApp](./serverdatastatus-definitions-serializedinstalledapp.md) `https://timelimit.io/ServerDataStatus#/definitions/SerializedInstalledApp` - [SerializedInstalledApp](./serverdatastatus-definitions-serializedinstalledapp.md) `https://timelimit.io/ServerDataStatus#/definitions/SerializedInstalledApp`
- [SerializedInstalledApp](./serializedapplogicaction-definitions-serializedaddinstalledappsaction-properties-apps-serializedinstalledapp.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedAddInstalledAppsAction/properties/apps/items` - [SerializedInstalledApp](./serializedapplogicaction-definitions-serializedaddinstalledappsaction-properties-apps-serializedinstalledapp.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedAddInstalledAppsAction/properties/apps/items`
- [SerializedInstalledApp](./serverdatastatus-definitions-serverinstalledappsdata-properties-apps-serializedinstalledapp.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerInstalledAppsData/properties/apps/items`
- [SerializedInstalledApp](./serverdatastatus-definitions-serverinstalledappsdata-properties-apps-serializedinstalledapp.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerInstalledAppsData/properties/apps/items`
- [SerializedInstalledApp](./serializedapplogicaction-definitions-serializedinstalledapp.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedInstalledApp`
- [SerializedMarkTaskPendingAction](./serializedapplogicaction-anyof-serializedmarktaskpendingaction.md) `https://timelimit.io/SerializedAppLogicAction#/anyOf/4`
- [SerializedMarkTaskPendingAction](./serializedapplogicaction-definitions-serializedmarktaskpendingaction.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedMarkTaskPendingAction` - [SerializedMarkTaskPendingAction](./serializedapplogicaction-definitions-serializedmarktaskpendingaction.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedMarkTaskPendingAction`
- [SerializedMarkTaskPendingAction](./serializedapplogicaction-anyof-serializedmarktaskpendingaction.md) `https://timelimit.io/SerializedAppLogicAction#/anyOf/4`
- [SerializedRemoveCategoryAppsAction](./serializedparentaction-definitions-serializedremovecategoryappsaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedRemoveCategoryAppsAction` - [SerializedRemoveCategoryAppsAction](./serializedparentaction-definitions-serializedremovecategoryappsaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedRemoveCategoryAppsAction`
- [SerializedRemoveCategoryAppsAction](./serializedparentaction-anyof-serializedremovecategoryappsaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/11` - [SerializedRemoveCategoryAppsAction](./serializedparentaction-anyof-serializedremovecategoryappsaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/11`
- [SerializedRemoveInstalledAppsAction](./serializedapplogicaction-anyof-serializedremoveinstalledappsaction.md) `https://timelimit.io/SerializedAppLogicAction#/anyOf/5` - [SerializedRemoveInstalledAppsAction](./serializedapplogicaction-anyof-serializedremoveinstalledappsaction.md) `https://timelimit.io/SerializedAppLogicAction#/anyOf/5`
- [SerializedRemoveInstalledAppsAction](./serializedapplogicaction-definitions-serializedremoveinstalledappsaction.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedRemoveInstalledAppsAction` - [SerializedRemoveInstalledAppsAction](./serializedapplogicaction-definitions-serializedremoveinstalledappsaction.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedRemoveInstalledAppsAction`
- [SerializedRemoveUserAction](./serializedparentaction-anyof-serializedremoveuseraction.md) `https://timelimit.io/SerializedParentAction#/anyOf/12`
- [SerializedRemoveUserAction](./serializedparentaction-definitions-serializedremoveuseraction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedRemoveUserAction` - [SerializedRemoveUserAction](./serializedparentaction-definitions-serializedremoveuseraction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedRemoveUserAction`
- [SerializedRenameChildAction](./serializedparentaction-anyof-serializedrenamechildaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/13` - [SerializedRemoveUserAction](./serializedparentaction-anyof-serializedremoveuseraction.md) `https://timelimit.io/SerializedParentAction#/anyOf/12`
- [SerializedRenameChildAction](./serializedparentaction-definitions-serializedrenamechildaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedRenameChildAction` - [SerializedRenameChildAction](./serializedparentaction-definitions-serializedrenamechildaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedRenameChildAction`
- [SerializedRenameChildAction](./serializedparentaction-anyof-serializedrenamechildaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/13`
- [SerializedReviewChildTaskAction](./serializedparentaction-definitions-serializedreviewchildtaskaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedReviewChildTaskAction` - [SerializedReviewChildTaskAction](./serializedparentaction-definitions-serializedreviewchildtaskaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedReviewChildTaskAction`
- [SerializedReviewChildTaskAction](./serializedparentaction-anyof-serializedreviewchildtaskaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/15` - [SerializedReviewChildTaskAction](./serializedparentaction-anyof-serializedreviewchildtaskaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/15`
- [SerializedSetCategoryExtraTimeAction](./serializedparentaction-anyof-serializedsetcategoryextratimeaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/16` - [SerializedSetCategoryExtraTimeAction](./serializedparentaction-anyof-serializedsetcategoryextratimeaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/16`
- [SerializedSetCategoryExtraTimeAction](./serializedparentaction-definitions-serializedsetcategoryextratimeaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedSetCategoryExtraTimeAction` - [SerializedSetCategoryExtraTimeAction](./serializedparentaction-definitions-serializedsetcategoryextratimeaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedSetCategoryExtraTimeAction`
- [SerializedSetCategoryForUnassignedAppsAction](./serializedparentaction-definitions-serializedsetcategoryforunassignedappsaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedSetCategoryForUnassignedAppsAction` - [SerializedSetCategoryForUnassignedAppsAction](./serializedparentaction-definitions-serializedsetcategoryforunassignedappsaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedSetCategoryForUnassignedAppsAction`
- [SerializedSetCategoryForUnassignedAppsAction](./serializedparentaction-anyof-serializedsetcategoryforunassignedappsaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/17` - [SerializedSetCategoryForUnassignedAppsAction](./serializedparentaction-anyof-serializedsetcategoryforunassignedappsaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/17`
- [SerializedSetChildPasswordAction](./serializedparentaction-definitions-serializedsetchildpasswordaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedSetChildPasswordAction`
- [SerializedSetChildPasswordAction](./serializedparentaction-anyof-serializedsetchildpasswordaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/18` - [SerializedSetChildPasswordAction](./serializedparentaction-anyof-serializedsetchildpasswordaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/18`
- [SerializedSetConsiderRebootManipulationAction](./serializedparentaction-definitions-serializedsetconsiderrebootmanipulationaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedSetConsiderRebootManipulationAction` - [SerializedSetChildPasswordAction](./serializedparentaction-definitions-serializedsetchildpasswordaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedSetChildPasswordAction`
- [SerializedSetConsiderRebootManipulationAction](./serializedparentaction-anyof-serializedsetconsiderrebootmanipulationaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/19` - [SerializedSetConsiderRebootManipulationAction](./serializedparentaction-anyof-serializedsetconsiderrebootmanipulationaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/19`
- [SerializedSetConsiderRebootManipulationAction](./serializedparentaction-definitions-serializedsetconsiderrebootmanipulationaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedSetConsiderRebootManipulationAction`
- [SerializedSetDeviceDefaultUserAction](./serializedparentaction-definitions-serializedsetdevicedefaultuseraction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedSetDeviceDefaultUserAction` - [SerializedSetDeviceDefaultUserAction](./serializedparentaction-definitions-serializedsetdevicedefaultuseraction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedSetDeviceDefaultUserAction`
- [SerializedSetDeviceDefaultUserAction](./serializedparentaction-anyof-serializedsetdevicedefaultuseraction.md) `https://timelimit.io/SerializedParentAction#/anyOf/20` - [SerializedSetDeviceDefaultUserAction](./serializedparentaction-anyof-serializedsetdevicedefaultuseraction.md) `https://timelimit.io/SerializedParentAction#/anyOf/20`
- [SerializedSetDeviceDefaultUserTimeoutAction](./serializedparentaction-definitions-serializedsetdevicedefaultusertimeoutaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedSetDeviceDefaultUserTimeoutAction` - [SerializedSetDeviceDefaultUserTimeoutAction](./serializedparentaction-definitions-serializedsetdevicedefaultusertimeoutaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedSetDeviceDefaultUserTimeoutAction`
@ -137,91 +137,93 @@
- [SerializedSetParentCategoryAction](./serializedparentaction-anyof-serializedsetparentcategoryaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/24` - [SerializedSetParentCategoryAction](./serializedparentaction-anyof-serializedsetparentcategoryaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/24`
- [SerializedSetRelaxPrimaryDeviceAction](./serializedparentaction-anyof-serializedsetrelaxprimarydeviceaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/25` - [SerializedSetRelaxPrimaryDeviceAction](./serializedparentaction-anyof-serializedsetrelaxprimarydeviceaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/25`
- [SerializedSetRelaxPrimaryDeviceAction](./serializedparentaction-definitions-serializedsetrelaxprimarydeviceaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedSetRelaxPrimaryDeviceAction` - [SerializedSetRelaxPrimaryDeviceAction](./serializedparentaction-definitions-serializedsetrelaxprimarydeviceaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedSetRelaxPrimaryDeviceAction`
- [SerializedSetSendDeviceConnected](./serializedparentaction-anyof-serializedsetsenddeviceconnected.md) `https://timelimit.io/SerializedParentAction#/anyOf/26`
- [SerializedSetSendDeviceConnected](./serializedparentaction-definitions-serializedsetsenddeviceconnected.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedSetSendDeviceConnected` - [SerializedSetSendDeviceConnected](./serializedparentaction-definitions-serializedsetsenddeviceconnected.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedSetSendDeviceConnected`
- [SerializedSetSendDeviceConnected](./serializedparentaction-anyof-serializedsetsenddeviceconnected.md) `https://timelimit.io/SerializedParentAction#/anyOf/26`
- [SerializedSetUserDisableLimitsUntilAction](./serializedparentaction-definitions-serializedsetuserdisablelimitsuntilaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedSetUserDisableLimitsUntilAction` - [SerializedSetUserDisableLimitsUntilAction](./serializedparentaction-definitions-serializedsetuserdisablelimitsuntilaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedSetUserDisableLimitsUntilAction`
- [SerializedSetUserDisableLimitsUntilAction](./serializedparentaction-anyof-serializedsetuserdisablelimitsuntilaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/27` - [SerializedSetUserDisableLimitsUntilAction](./serializedparentaction-anyof-serializedsetuserdisablelimitsuntilaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/27`
- [SerializedSetUserTimezoneAction](./serializedparentaction-anyof-serializedsetusertimezoneaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/28` - [SerializedSetUserTimezoneAction](./serializedparentaction-anyof-serializedsetusertimezoneaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/28`
- [SerializedSetUserTimezoneAction](./serializedparentaction-definitions-serializedsetusertimezoneaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedSetUserTimezoneAction` - [SerializedSetUserTimezoneAction](./serializedparentaction-definitions-serializedsetusertimezoneaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedSetUserTimezoneAction`
- [SerializedSignOutAtDeviceAction](./serializedapplogicaction-anyof-serializedsignoutatdeviceaction.md) `https://timelimit.io/SerializedAppLogicAction#/anyOf/6` - [SerializedSignOutAtDeviceAction](./serializedapplogicaction-anyof-serializedsignoutatdeviceaction.md) `https://timelimit.io/SerializedAppLogicAction#/anyOf/6`
- [SerializedSignOutAtDeviceAction](./serializedapplogicaction-definitions-serializedsignoutatdeviceaction.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedSignOutAtDeviceAction` - [SerializedSignOutAtDeviceAction](./serializedapplogicaction-definitions-serializedsignoutatdeviceaction.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedSignOutAtDeviceAction`
- [SerializedTimeLimitRule](./serializedparentaction-definitions-serializedcreatetimelimtruleaction-properties-serializedtimelimitrule.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedCreateTimelimtRuleAction/properties/rule`
- [SerializedTimeLimitRule](./serializedparentaction-definitions-serializedcreatetimelimtruleaction-properties-serializedtimelimitrule.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedCreateTimelimtRuleAction/properties/rule`
- [SerializedTimeLimitRule](./serializedparentaction-definitions-serializedtimelimitrule.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedTimeLimitRule` - [SerializedTimeLimitRule](./serializedparentaction-definitions-serializedtimelimitrule.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedTimeLimitRule`
- [SerializedTimeLimitRule](./serializedparentaction-definitions-serializedcreatetimelimtruleaction-properties-serializedtimelimitrule.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedCreateTimelimtRuleAction/properties/rule`
- [SerializedTimeLimitRule](./serializedparentaction-definitions-serializedcreatetimelimtruleaction-properties-serializedtimelimitrule.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedCreateTimelimtRuleAction/properties/rule`
- [SerializedUpdatCategoryDisableLimitsAction](./serializedparentaction-definitions-serializedupdatcategorydisablelimitsaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdatCategoryDisableLimitsAction` - [SerializedUpdatCategoryDisableLimitsAction](./serializedparentaction-definitions-serializedupdatcategorydisablelimitsaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdatCategoryDisableLimitsAction`
- [SerializedUpdatCategoryDisableLimitsAction](./serializedparentaction-anyof-serializedupdatcategorydisablelimitsaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/32` - [SerializedUpdatCategoryDisableLimitsAction](./serializedparentaction-anyof-serializedupdatcategorydisablelimitsaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/32`
- [SerializedUpdateAppActivitiesAction](./serializedapplogicaction-anyof-serializedupdateappactivitiesaction.md) `https://timelimit.io/SerializedAppLogicAction#/anyOf/8`
- [SerializedUpdateAppActivitiesAction](./serializedapplogicaction-definitions-serializedupdateappactivitiesaction.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedUpdateAppActivitiesAction` - [SerializedUpdateAppActivitiesAction](./serializedapplogicaction-definitions-serializedupdateappactivitiesaction.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedUpdateAppActivitiesAction`
- [SerializedUpdateAppActivitiesAction](./serializedapplogicaction-anyof-serializedupdateappactivitiesaction.md) `https://timelimit.io/SerializedAppLogicAction#/anyOf/8`
- [SerializedUpdateCategoryBatteryLimitAction](./serializedparentaction-definitions-serializedupdatecategorybatterylimitaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateCategoryBatteryLimitAction` - [SerializedUpdateCategoryBatteryLimitAction](./serializedparentaction-definitions-serializedupdatecategorybatterylimitaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateCategoryBatteryLimitAction`
- [SerializedUpdateCategoryBatteryLimitAction](./serializedparentaction-anyof-serializedupdatecategorybatterylimitaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/29` - [SerializedUpdateCategoryBatteryLimitAction](./serializedparentaction-anyof-serializedupdatecategorybatterylimitaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/29`
- [SerializedUpdateCategoryBlockAllNotificationsAction](./serializedparentaction-anyof-serializedupdatecategoryblockallnotificationsaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/30`
- [SerializedUpdateCategoryBlockAllNotificationsAction](./serializedparentaction-definitions-serializedupdatecategoryblockallnotificationsaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateCategoryBlockAllNotificationsAction` - [SerializedUpdateCategoryBlockAllNotificationsAction](./serializedparentaction-definitions-serializedupdatecategoryblockallnotificationsaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateCategoryBlockAllNotificationsAction`
- [SerializedUpdateCategoryBlockedTimesAction](./serializedparentaction-anyof-serializedupdatecategoryblockedtimesaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/31` - [SerializedUpdateCategoryBlockAllNotificationsAction](./serializedparentaction-anyof-serializedupdatecategoryblockallnotificationsaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/30`
- [SerializedUpdateCategoryBlockedTimesAction](./serializedparentaction-definitions-serializedupdatecategoryblockedtimesaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateCategoryBlockedTimesAction` - [SerializedUpdateCategoryBlockedTimesAction](./serializedparentaction-definitions-serializedupdatecategoryblockedtimesaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateCategoryBlockedTimesAction`
- [SerializedUpdateCategorySortingAction](./serializedparentaction-definitions-serializedupdatecategorysortingaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateCategorySortingAction` - [SerializedUpdateCategoryBlockedTimesAction](./serializedparentaction-anyof-serializedupdatecategoryblockedtimesaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/31`
- [SerializedUpdateCategorySortingAction](./serializedparentaction-anyof-serializedupdatecategorysortingaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/33` - [SerializedUpdateCategorySortingAction](./serializedparentaction-anyof-serializedupdatecategorysortingaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/33`
- [SerializedUpdateCategoryTemporarilyBlockedAction](./serializedparentaction-definitions-serializedupdatecategorytemporarilyblockedaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateCategoryTemporarilyBlockedAction` - [SerializedUpdateCategorySortingAction](./serializedparentaction-definitions-serializedupdatecategorysortingaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateCategorySortingAction`
- [SerializedUpdateCategoryTemporarilyBlockedAction](./serializedparentaction-anyof-serializedupdatecategorytemporarilyblockedaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/34` - [SerializedUpdateCategoryTemporarilyBlockedAction](./serializedparentaction-anyof-serializedupdatecategorytemporarilyblockedaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/34`
- [SerializedUpdateCategoryTemporarilyBlockedAction](./serializedparentaction-definitions-serializedupdatecategorytemporarilyblockedaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateCategoryTemporarilyBlockedAction`
- [SerializedUpdateCategoryTimeWarningsAction](./serializedparentaction-anyof-serializedupdatecategorytimewarningsaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/35` - [SerializedUpdateCategoryTimeWarningsAction](./serializedparentaction-anyof-serializedupdatecategorytimewarningsaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/35`
- [SerializedUpdateCategoryTimeWarningsAction](./serializedparentaction-definitions-serializedupdatecategorytimewarningsaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateCategoryTimeWarningsAction` - [SerializedUpdateCategoryTimeWarningsAction](./serializedparentaction-definitions-serializedupdatecategorytimewarningsaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateCategoryTimeWarningsAction`
- [SerializedUpdateCategoryTitleAction](./serializedparentaction-anyof-serializedupdatecategorytitleaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/36` - [SerializedUpdateCategoryTitleAction](./serializedparentaction-anyof-serializedupdatecategorytitleaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/36`
- [SerializedUpdateCategoryTitleAction](./serializedparentaction-definitions-serializedupdatecategorytitleaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateCategoryTitleAction` - [SerializedUpdateCategoryTitleAction](./serializedparentaction-definitions-serializedupdatecategorytitleaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateCategoryTitleAction`
- [SerializedUpdateChildTaskAction](./serializedparentaction-definitions-serializedupdatechildtaskaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateChildTaskAction`
- [SerializedUpdateChildTaskAction](./serializedparentaction-anyof-serializedupdatechildtaskaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/37` - [SerializedUpdateChildTaskAction](./serializedparentaction-anyof-serializedupdatechildtaskaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/37`
- [SerializedUpdateChildTaskAction](./serializedparentaction-definitions-serializedupdatechildtaskaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateChildTaskAction`
- [SerializedUpdateDeviceNameAction](./serializedparentaction-anyof-serializedupdatedevicenameaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/38` - [SerializedUpdateDeviceNameAction](./serializedparentaction-anyof-serializedupdatedevicenameaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/38`
- [SerializedUpdateDeviceNameAction](./serializedparentaction-definitions-serializedupdatedevicenameaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateDeviceNameAction` - [SerializedUpdateDeviceNameAction](./serializedparentaction-definitions-serializedupdatedevicenameaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateDeviceNameAction`
- [SerializedUpdateDeviceStatusAction](./serializedapplogicaction-definitions-serializedupdatedevicestatusaction.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedUpdateDeviceStatusAction`
- [SerializedUpdateDeviceStatusAction](./serializedapplogicaction-anyof-serializedupdatedevicestatusaction.md) `https://timelimit.io/SerializedAppLogicAction#/anyOf/9` - [SerializedUpdateDeviceStatusAction](./serializedapplogicaction-anyof-serializedupdatedevicestatusaction.md) `https://timelimit.io/SerializedAppLogicAction#/anyOf/9`
- [SerializedUpdateEnableActivityLevelBlockingAction](./serializedparentaction-definitions-serializedupdateenableactivitylevelblockingaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateEnableActivityLevelBlockingAction` - [SerializedUpdateDeviceStatusAction](./serializedapplogicaction-definitions-serializedupdatedevicestatusaction.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedUpdateDeviceStatusAction`
- [SerializedUpdateEnableActivityLevelBlockingAction](./serializedparentaction-anyof-serializedupdateenableactivitylevelblockingaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/39` - [SerializedUpdateEnableActivityLevelBlockingAction](./serializedparentaction-anyof-serializedupdateenableactivitylevelblockingaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/39`
- [SerializedUpdateParentNotificationFlagsAction](./serializedparentaction-definitions-serializedupdateparentnotificationflagsaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateParentNotificationFlagsAction` - [SerializedUpdateEnableActivityLevelBlockingAction](./serializedparentaction-definitions-serializedupdateenableactivitylevelblockingaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateEnableActivityLevelBlockingAction`
- [SerializedUpdateParentNotificationFlagsAction](./serializedparentaction-anyof-serializedupdateparentnotificationflagsaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/41` - [SerializedUpdateParentNotificationFlagsAction](./serializedparentaction-anyof-serializedupdateparentnotificationflagsaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/41`
- [SerializedUpdateTimelimitRuleAction](./serializedparentaction-definitions-serializedupdatetimelimitruleaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateTimelimitRuleAction` - [SerializedUpdateParentNotificationFlagsAction](./serializedparentaction-definitions-serializedupdateparentnotificationflagsaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateParentNotificationFlagsAction`
- [SerializedUpdateTimelimitRuleAction](./serializedparentaction-anyof-serializedupdatetimelimitruleaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/42` - [SerializedUpdateTimelimitRuleAction](./serializedparentaction-anyof-serializedupdatetimelimitruleaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/42`
- [SerializedUpdateTimelimitRuleAction](./serializedparentaction-definitions-serializedupdatetimelimitruleaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateTimelimitRuleAction`
- [SerializedUpdateUserFlagsAction](./serializedparentaction-definitions-serializedupdateuserflagsaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateUserFlagsAction` - [SerializedUpdateUserFlagsAction](./serializedparentaction-definitions-serializedupdateuserflagsaction.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateUserFlagsAction`
- [SerializedUpdateUserFlagsAction](./serializedparentaction-anyof-serializedupdateuserflagsaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/43` - [SerializedUpdateUserFlagsAction](./serializedparentaction-anyof-serializedupdateuserflagsaction.md) `https://timelimit.io/SerializedParentAction#/anyOf/43`
- [SerializedUpdateUserLimitLoginCategory](./serializedparentaction-definitions-serializedupdateuserlimitlogincategory.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateUserLimitLoginCategory`
- [SerializedUpdateUserLimitLoginCategory](./serializedparentaction-anyof-serializedupdateuserlimitlogincategory.md) `https://timelimit.io/SerializedParentAction#/anyOf/44` - [SerializedUpdateUserLimitLoginCategory](./serializedparentaction-anyof-serializedupdateuserlimitlogincategory.md) `https://timelimit.io/SerializedParentAction#/anyOf/44`
- [SerializedUpdateUserLimitLoginCategory](./serializedparentaction-definitions-serializedupdateuserlimitlogincategory.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateUserLimitLoginCategory`
- [SerializedUpdateUserLimitLoginPreBlockDuration](./serializedparentaction-anyof-serializedupdateuserlimitloginpreblockduration.md) `https://timelimit.io/SerializedParentAction#/anyOf/45`
- [SerializedUpdateUserLimitLoginPreBlockDuration](./serializedparentaction-definitions-serializedupdateuserlimitloginpreblockduration.md) `https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateUserLimitLoginPreBlockDuration`
- [ServerCategoryNetworkId](./serverdatastatus-definitions-servercategorynetworkid.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerCategoryNetworkId` - [ServerCategoryNetworkId](./serverdatastatus-definitions-servercategorynetworkid.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerCategoryNetworkId`
- [ServerCategoryNetworkId](./serverdatastatus-definitions-serverupdatedcategorybasedata-properties-networks-servercategorynetworkid.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedCategoryBaseData/properties/networks/items` - [ServerCategoryNetworkId](./serverdatastatus-definitions-serverupdatedcategorybasedata-properties-networks-servercategorynetworkid.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedCategoryBaseData/properties/networks/items`
- [ServerCategoryNetworkId](./serverdatastatus-definitions-serverupdatedcategorybasedata-properties-networks-servercategorynetworkid.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedCategoryBaseData/properties/networks/items` - [ServerCategoryNetworkId](./serverdatastatus-definitions-serverupdatedcategorybasedata-properties-networks-servercategorynetworkid.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedCategoryBaseData/properties/networks/items`
- [ServerDeviceData](./serverdatastatus-definitions-serverdevicedata.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerDeviceData` - [ServerDeviceData](./serverdatastatus-definitions-serverdevicedata.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerDeviceData`
- [ServerDeviceData](./serverdatastatus-definitions-serverdevicelist-properties-data-serverdevicedata.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerDeviceList/properties/data/items` - [ServerDeviceData](./serverdatastatus-definitions-serverdevicelist-properties-data-serverdevicedata.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerDeviceList/properties/data/items`
- [ServerDeviceData](./serverdatastatus-definitions-serverdevicelist-properties-data-serverdevicedata.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerDeviceList/properties/data/items` - [ServerDeviceData](./serverdatastatus-definitions-serverdevicelist-properties-data-serverdevicedata.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerDeviceList/properties/data/items`
- [ServerDeviceList](./serverdatastatus-definitions-serverdevicelist.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerDeviceList`
- [ServerDeviceList](./serverdatastatus-properties-serverdevicelist.md) `https://timelimit.io/ServerDataStatus#/properties/devices` - [ServerDeviceList](./serverdatastatus-properties-serverdevicelist.md) `https://timelimit.io/ServerDataStatus#/properties/devices`
- [ServerDeviceList](./serverdatastatus-definitions-serverdevicelist.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerDeviceList`
- [ServerInstalledAppsData](./serverdatastatus-properties-apps-serverinstalledappsdata.md) `https://timelimit.io/ServerDataStatus#/properties/apps/items` - [ServerInstalledAppsData](./serverdatastatus-properties-apps-serverinstalledappsdata.md) `https://timelimit.io/ServerDataStatus#/properties/apps/items`
- [ServerInstalledAppsData](./serverdatastatus-definitions-serverinstalledappsdata.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerInstalledAppsData` - [ServerInstalledAppsData](./serverdatastatus-definitions-serverinstalledappsdata.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerInstalledAppsData`
- [ServerSessionDurationItem](./serverdatastatus-definitions-serverupdatedcategoryusedtimes-properties-sessiondurations-serversessiondurationitem.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedCategoryUsedTimes/properties/sessionDurations/items`
- [ServerSessionDurationItem](./serverdatastatus-definitions-serverupdatedcategoryusedtimes-properties-sessiondurations-serversessiondurationitem.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedCategoryUsedTimes/properties/sessionDurations/items`
- [ServerSessionDurationItem](./serverdatastatus-definitions-serversessiondurationitem.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerSessionDurationItem` - [ServerSessionDurationItem](./serverdatastatus-definitions-serversessiondurationitem.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerSessionDurationItem`
- [ServerSessionDurationItem](./serverdatastatus-definitions-serverupdatedcategoryusedtimes-properties-sessiondurations-serversessiondurationitem.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedCategoryUsedTimes/properties/sessionDurations/items` - [ServerTimeLimitRule](./serverdatastatus-definitions-serverupdatedtimelimitrules-properties-rules-servertimelimitrule.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedTimeLimitRules/properties/rules/items`
- [ServerSessionDurationItem](./serverdatastatus-definitions-serverupdatedcategoryusedtimes-properties-sessiondurations-serversessiondurationitem.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedCategoryUsedTimes/properties/sessionDurations/items`
- [ServerTimeLimitRule](./serverdatastatus-definitions-servertimelimitrule.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerTimeLimitRule` - [ServerTimeLimitRule](./serverdatastatus-definitions-servertimelimitrule.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerTimeLimitRule`
- [ServerTimeLimitRule](./serverdatastatus-definitions-serverupdatedtimelimitrules-properties-rules-servertimelimitrule.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedTimeLimitRules/properties/rules/items` - [ServerTimeLimitRule](./serverdatastatus-definitions-serverupdatedtimelimitrules-properties-rules-servertimelimitrule.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedTimeLimitRules/properties/rules/items`
- [ServerTimeLimitRule](./serverdatastatus-definitions-serverupdatedtimelimitrules-properties-rules-servertimelimitrule.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedTimeLimitRules/properties/rules/items`
- [ServerUpdatedCategoryAssignedApps](./serverdatastatus-definitions-serverupdatedcategoryassignedapps.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedCategoryAssignedApps`
- [ServerUpdatedCategoryAssignedApps](./serverdatastatus-properties-categoryapp-serverupdatedcategoryassignedapps.md) `https://timelimit.io/ServerDataStatus#/properties/categoryApp/items` - [ServerUpdatedCategoryAssignedApps](./serverdatastatus-properties-categoryapp-serverupdatedcategoryassignedapps.md) `https://timelimit.io/ServerDataStatus#/properties/categoryApp/items`
- [ServerUpdatedCategoryAssignedApps](./serverdatastatus-definitions-serverupdatedcategoryassignedapps.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedCategoryAssignedApps`
- [ServerUpdatedCategoryBaseData](./serverdatastatus-definitions-serverupdatedcategorybasedata.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedCategoryBaseData` - [ServerUpdatedCategoryBaseData](./serverdatastatus-definitions-serverupdatedcategorybasedata.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedCategoryBaseData`
- [ServerUpdatedCategoryBaseData](./serverdatastatus-properties-categorybase-serverupdatedcategorybasedata.md) `https://timelimit.io/ServerDataStatus#/properties/categoryBase/items` - [ServerUpdatedCategoryBaseData](./serverdatastatus-properties-categorybase-serverupdatedcategorybasedata.md) `https://timelimit.io/ServerDataStatus#/properties/categoryBase/items`
- [ServerUpdatedCategoryTask](./serverdatastatus-definitions-serverupdatedcategorytasks-properties-tasks-serverupdatedcategorytask.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedCategoryTasks/properties/tasks/items`
- [ServerUpdatedCategoryTask](./serverdatastatus-definitions-serverupdatedcategorytask.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedCategoryTask` - [ServerUpdatedCategoryTask](./serverdatastatus-definitions-serverupdatedcategorytask.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedCategoryTask`
- [ServerUpdatedCategoryTask](./serverdatastatus-definitions-serverupdatedcategorytasks-properties-tasks-serverupdatedcategorytask.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedCategoryTasks/properties/tasks/items` - [ServerUpdatedCategoryTask](./serverdatastatus-definitions-serverupdatedcategorytasks-properties-tasks-serverupdatedcategorytask.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedCategoryTasks/properties/tasks/items`
- [ServerUpdatedCategoryTasks](./serverdatastatus-properties-tasks-serverupdatedcategorytasks.md) `https://timelimit.io/ServerDataStatus#/properties/tasks/items` - [ServerUpdatedCategoryTask](./serverdatastatus-definitions-serverupdatedcategorytasks-properties-tasks-serverupdatedcategorytask.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedCategoryTasks/properties/tasks/items`
- [ServerUpdatedCategoryTasks](./serverdatastatus-definitions-serverupdatedcategorytasks.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedCategoryTasks` - [ServerUpdatedCategoryTasks](./serverdatastatus-definitions-serverupdatedcategorytasks.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedCategoryTasks`
- [ServerUpdatedCategoryUsedTimes](./serverdatastatus-definitions-serverupdatedcategoryusedtimes.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedCategoryUsedTimes` - [ServerUpdatedCategoryTasks](./serverdatastatus-properties-tasks-serverupdatedcategorytasks.md) `https://timelimit.io/ServerDataStatus#/properties/tasks/items`
- [ServerUpdatedCategoryUsedTimes](./serverdatastatus-properties-usedtimes-serverupdatedcategoryusedtimes.md) `https://timelimit.io/ServerDataStatus#/properties/usedTimes/items` - [ServerUpdatedCategoryUsedTimes](./serverdatastatus-properties-usedtimes-serverupdatedcategoryusedtimes.md) `https://timelimit.io/ServerDataStatus#/properties/usedTimes/items`
- [ServerUpdatedCategoryUsedTimes](./serverdatastatus-definitions-serverupdatedcategoryusedtimes.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedCategoryUsedTimes`
- [ServerUpdatedTimeLimitRules](./serverdatastatus-definitions-serverupdatedtimelimitrules.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedTimeLimitRules` - [ServerUpdatedTimeLimitRules](./serverdatastatus-definitions-serverupdatedtimelimitrules.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedTimeLimitRules`
- [ServerUpdatedTimeLimitRules](./serverdatastatus-properties-rules-serverupdatedtimelimitrules.md) `https://timelimit.io/ServerDataStatus#/properties/rules/items` - [ServerUpdatedTimeLimitRules](./serverdatastatus-properties-rules-serverupdatedtimelimitrules.md) `https://timelimit.io/ServerDataStatus#/properties/rules/items`
- [ServerUsedTimeItem](./serverdatastatus-definitions-serverupdatedcategoryusedtimes-properties-times-serverusedtimeitem.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedCategoryUsedTimes/properties/times/items` - [ServerUsedTimeItem](./serverdatastatus-definitions-serverupdatedcategoryusedtimes-properties-times-serverusedtimeitem.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedCategoryUsedTimes/properties/times/items`
- [ServerUsedTimeItem](./serverdatastatus-definitions-serverusedtimeitem.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUsedTimeItem`
- [ServerUsedTimeItem](./serverdatastatus-definitions-serverupdatedcategoryusedtimes-properties-times-serverusedtimeitem.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedCategoryUsedTimes/properties/times/items` - [ServerUsedTimeItem](./serverdatastatus-definitions-serverupdatedcategoryusedtimes-properties-times-serverusedtimeitem.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUpdatedCategoryUsedTimes/properties/times/items`
- [ServerUsedTimeItem](./serverdatastatus-definitions-serverusedtimeitem.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUsedTimeItem`
- [ServerUserEntry](./serverdatastatus-definitions-serveruserlist-properties-data-serveruserentry.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUserList/properties/data/items` - [ServerUserEntry](./serverdatastatus-definitions-serveruserlist-properties-data-serveruserentry.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUserList/properties/data/items`
- [ServerUserEntry](./serverdatastatus-definitions-serveruserlist-properties-data-serveruserentry.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUserList/properties/data/items` - [ServerUserEntry](./serverdatastatus-definitions-serveruserlist-properties-data-serveruserentry.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUserList/properties/data/items`
- [ServerUserEntry](./serverdatastatus-definitions-serveruserentry.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUserEntry` - [ServerUserEntry](./serverdatastatus-definitions-serveruserentry.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUserEntry`
- [ServerUserList](./serverdatastatus-properties-serveruserlist.md) `https://timelimit.io/ServerDataStatus#/properties/users`
- [ServerUserList](./serverdatastatus-definitions-serveruserlist.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUserList` - [ServerUserList](./serverdatastatus-definitions-serveruserlist.md) `https://timelimit.io/ServerDataStatus#/definitions/ServerUserList`
- [Untitled object in ClientPullChangesRequest](./clientpullchangesrequest-definitions-clientdatastatus-properties-apps.md) `https://timelimit.io/ClientPullChangesRequest#/definitions/ClientDataStatus/properties/apps` - [ServerUserList](./serverdatastatus-properties-serveruserlist.md) `https://timelimit.io/ServerDataStatus#/properties/users`
- [Untitled object in ClientPullChangesRequest](./clientpullchangesrequest-definitions-clientdatastatus-properties-apps.md) `https://timelimit.io/ClientPullChangesRequest#/definitions/ClientDataStatus/properties/apps` - [Untitled object in ClientPullChangesRequest](./clientpullchangesrequest-definitions-clientdatastatus-properties-apps.md) `https://timelimit.io/ClientPullChangesRequest#/definitions/ClientDataStatus/properties/apps`
- [Untitled object in ClientPullChangesRequest](./clientpullchangesrequest-definitions-clientdatastatus-properties-categories.md) `https://timelimit.io/ClientPullChangesRequest#/definitions/ClientDataStatus/properties/categories` - [Untitled object in ClientPullChangesRequest](./clientpullchangesrequest-definitions-clientdatastatus-properties-categories.md) `https://timelimit.io/ClientPullChangesRequest#/definitions/ClientDataStatus/properties/categories`
- [Untitled object in ClientPullChangesRequest](./clientpullchangesrequest-definitions-clientdatastatus-properties-apps.md) `https://timelimit.io/ClientPullChangesRequest#/definitions/ClientDataStatus/properties/apps`
- [Untitled object in ClientPullChangesRequest](./clientpullchangesrequest-definitions-clientdatastatus-properties-categories.md) `https://timelimit.io/ClientPullChangesRequest#/definitions/ClientDataStatus/properties/categories` - [Untitled object in ClientPullChangesRequest](./clientpullchangesrequest-definitions-clientdatastatus-properties-categories.md) `https://timelimit.io/ClientPullChangesRequest#/definitions/ClientDataStatus/properties/categories`
- [Untitled object in SerializedAppLogicAction](./serializedapplogicaction-definitions-serializedaddusedtimeactionversion2-properties-i-items.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedAddUsedTimeActionVersion2/properties/i/items` - [Untitled object in SerializedAppLogicAction](./serializedapplogicaction-definitions-serializedaddusedtimeactionversion2-properties-i-items.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedAddUsedTimeActionVersion2/properties/i/items`
- [Untitled object in SerializedAppLogicAction](./serializedapplogicaction-definitions-serializedaddusedtimeactionversion2-properties-i-items.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedAddUsedTimeActionVersion2/properties/i/items` - [Untitled object in SerializedAppLogicAction](./serializedapplogicaction-definitions-serializedaddusedtimeactionversion2-properties-i-items.md) `https://timelimit.io/SerializedAppLogicAction#/definitions/SerializedAddUsedTimeActionVersion2/properties/i/items`

View file

@ -134,6 +134,9 @@
}, },
{ {
"$ref": "#/definitions/SerializedUpdateUserLimitLoginCategory" "$ref": "#/definitions/SerializedUpdateUserLimitLoginCategory"
},
{
"$ref": "#/definitions/SerializedUpdateUserLimitLoginPreBlockDuration"
} }
], ],
"definitions": { "definitions": {
@ -1398,6 +1401,30 @@
"userId" "userId"
], ],
"title": "SerializedUpdateUserLimitLoginCategory" "title": "SerializedUpdateUserLimitLoginCategory"
},
"SerializedUpdateUserLimitLoginPreBlockDuration": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"UPDATE_USER_LIMIT_LOGIN_PRE_BLOCK_DURATION"
]
},
"userId": {
"type": "string"
},
"preBlockDuration": {
"type": "number"
}
},
"additionalProperties": false,
"required": [
"preBlockDuration",
"type",
"userId"
],
"title": "SerializedUpdateUserLimitLoginPreBlockDuration"
} }
}, },
"$schema": "http://json-schema.org/draft-07/schema#", "$schema": "http://json-schema.org/draft-07/schema#",

View file

@ -738,6 +738,9 @@
}, },
"llc": { "llc": {
"type": "string" "type": "string"
},
"pbd": {
"type": "number"
} }
}, },
"additionalProperties": false, "additionalProperties": false,

View file

@ -0,0 +1,16 @@
# Untitled number in SerializedParentAction Schema
```txt
https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateUserLimitLoginPreBlockDuration/properties/preBlockDuration
```
| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In |
| :------------------ | ---------- | -------------- | ----------------------- | :---------------- | --------------------- | ------------------- | ------------------------------------------------------------------------------------------------- |
| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [SerializedParentAction.schema.json\*](SerializedParentAction.schema.json "open original schema") |
## preBlockDuration Type
`number`

View file

@ -0,0 +1,24 @@
# Untitled string in SerializedParentAction Schema
```txt
https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateUserLimitLoginPreBlockDuration/properties/type
```
| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In |
| :------------------ | ---------- | -------------- | ----------------------- | :---------------- | --------------------- | ------------------- | ------------------------------------------------------------------------------------------------- |
| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [SerializedParentAction.schema.json\*](SerializedParentAction.schema.json "open original schema") |
## type Type
`string`
## type Constraints
**enum**: the value of this property must be equal to one of the following values:
| Value | Explanation |
| :--------------------------------------------- | ----------- |
| `"UPDATE_USER_LIMIT_LOGIN_PRE_BLOCK_DURATION"` | |

View file

@ -0,0 +1,16 @@
# Untitled string in SerializedParentAction Schema
```txt
https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateUserLimitLoginPreBlockDuration/properties/userId
```
| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In |
| :------------------ | ---------- | -------------- | ----------------------- | :---------------- | --------------------- | ------------------- | ------------------------------------------------------------------------------------------------- |
| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [SerializedParentAction.schema.json\*](SerializedParentAction.schema.json "open original schema") |
## userId Type
`string`

View file

@ -0,0 +1,16 @@
# Untitled undefined type in SerializedParentAction Schema
```txt
https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateUserLimitLoginPreBlockDuration/properties
```
| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In |
| :------------------ | ---------- | -------------- | ----------------------- | :---------------- | --------------------- | ------------------- | ------------------------------------------------------------------------------------------------- |
| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [SerializedParentAction.schema.json\*](SerializedParentAction.schema.json "open original schema") |
## properties Type
unknown

View file

@ -0,0 +1,80 @@
# SerializedUpdateUserLimitLoginPreBlockDuration Schema
```txt
https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateUserLimitLoginPreBlockDuration
```
| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In |
| :------------------ | ---------- | -------------- | ------------ | :---------------- | --------------------- | ------------------- | ------------------------------------------------------------------------------------------------- |
| Can be instantiated | No | Unknown status | No | Forbidden | Forbidden | none | [SerializedParentAction.schema.json\*](SerializedParentAction.schema.json "open original schema") |
## SerializedUpdateUserLimitLoginPreBlockDuration Type
`object` ([SerializedUpdateUserLimitLoginPreBlockDuration](serializedparentaction-definitions-serializedupdateuserlimitloginpreblockduration.md))
# SerializedUpdateUserLimitLoginPreBlockDuration Properties
| Property | Type | Required | Nullable | Defined by |
| :------------------------------------ | -------- | -------- | -------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [type](#type) | `string` | Required | cannot be null | [SerializedParentAction](serializedparentaction-definitions-serializedupdateuserlimitloginpreblockduration-properties-type.md "https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateUserLimitLoginPreBlockDuration/properties/type") |
| [userId](#userId) | `string` | Required | cannot be null | [SerializedParentAction](serializedparentaction-definitions-serializedupdateuserlimitloginpreblockduration-properties-userid.md "https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateUserLimitLoginPreBlockDuration/properties/userId") |
| [preBlockDuration](#preBlockDuration) | `number` | Required | cannot be null | [SerializedParentAction](serializedparentaction-definitions-serializedupdateuserlimitloginpreblockduration-properties-preblockduration.md "https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateUserLimitLoginPreBlockDuration/properties/preBlockDuration") |
## type
`type`
- is required
- Type: `string`
- cannot be null
- defined in: [SerializedParentAction](serializedparentaction-definitions-serializedupdateuserlimitloginpreblockduration-properties-type.md "https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateUserLimitLoginPreBlockDuration/properties/type")
### type Type
`string`
### type Constraints
**enum**: the value of this property must be equal to one of the following values:
| Value | Explanation |
| :--------------------------------------------- | ----------- |
| `"UPDATE_USER_LIMIT_LOGIN_PRE_BLOCK_DURATION"` | |
## userId
`userId`
- is required
- Type: `string`
- cannot be null
- defined in: [SerializedParentAction](serializedparentaction-definitions-serializedupdateuserlimitloginpreblockduration-properties-userid.md "https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateUserLimitLoginPreBlockDuration/properties/userId")
### userId Type
`string`
## preBlockDuration
`preBlockDuration`
- is required
- Type: `number`
- cannot be null
- defined in: [SerializedParentAction](serializedparentaction-definitions-serializedupdateuserlimitloginpreblockduration-properties-preblockduration.md "https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateUserLimitLoginPreBlockDuration/properties/preBlockDuration")
### preBlockDuration Type
`number`

View file

@ -62,6 +62,7 @@ any of
- [SerializedUpdateTimelimitRuleAction](serializedparentaction-definitions-serializedupdatetimelimitruleaction.md "check type definition") - [SerializedUpdateTimelimitRuleAction](serializedparentaction-definitions-serializedupdatetimelimitruleaction.md "check type definition")
- [SerializedUpdateUserFlagsAction](serializedparentaction-definitions-serializedupdateuserflagsaction.md "check type definition") - [SerializedUpdateUserFlagsAction](serializedparentaction-definitions-serializedupdateuserflagsaction.md "check type definition")
- [SerializedUpdateUserLimitLoginCategory](serializedparentaction-definitions-serializedupdateuserlimitlogincategory.md "check type definition") - [SerializedUpdateUserLimitLoginCategory](serializedparentaction-definitions-serializedupdateuserlimitlogincategory.md "check type definition")
- [SerializedUpdateUserLimitLoginPreBlockDuration](serializedparentaction-definitions-serializedupdateuserlimitloginpreblockduration.md "check type definition")
# SerializedParentAction Definitions # SerializedParentAction Definitions
@ -3969,3 +3970,73 @@ Reference this group by using
#### categoryId Type #### categoryId Type
`string` `string`
## Definitions group SerializedUpdateUserLimitLoginPreBlockDuration
Reference this group by using
```json
{"$ref":"https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateUserLimitLoginPreBlockDuration"}
```
| Property | Type | Required | Nullable | Defined by |
| :------------------------------------ | -------- | -------- | -------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [type](#type) | `string` | Required | cannot be null | [SerializedParentAction](serializedparentaction-definitions-serializedupdateuserlimitloginpreblockduration-properties-type.md "https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateUserLimitLoginPreBlockDuration/properties/type") |
| [userId](#userId) | `string` | Required | cannot be null | [SerializedParentAction](serializedparentaction-definitions-serializedupdateuserlimitloginpreblockduration-properties-userid.md "https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateUserLimitLoginPreBlockDuration/properties/userId") |
| [preBlockDuration](#preBlockDuration) | `number` | Required | cannot be null | [SerializedParentAction](serializedparentaction-definitions-serializedupdateuserlimitloginpreblockduration-properties-preblockduration.md "https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateUserLimitLoginPreBlockDuration/properties/preBlockDuration") |
### type
`type`
- is required
- Type: `string`
- cannot be null
- defined in: [SerializedParentAction](serializedparentaction-definitions-serializedupdateuserlimitloginpreblockduration-properties-type.md "https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateUserLimitLoginPreBlockDuration/properties/type")
#### type Type
`string`
#### type Constraints
**enum**: the value of this property must be equal to one of the following values:
| Value | Explanation |
| :--------------------------------------------- | ----------- |
| `"UPDATE_USER_LIMIT_LOGIN_PRE_BLOCK_DURATION"` | |
### userId
`userId`
- is required
- Type: `string`
- cannot be null
- defined in: [SerializedParentAction](serializedparentaction-definitions-serializedupdateuserlimitloginpreblockduration-properties-userid.md "https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateUserLimitLoginPreBlockDuration/properties/userId")
#### userId Type
`string`
### preBlockDuration
`preBlockDuration`
- is required
- Type: `number`
- cannot be null
- defined in: [SerializedParentAction](serializedparentaction-definitions-serializedupdateuserlimitloginpreblockduration-properties-preblockduration.md "https://timelimit.io/SerializedParentAction#/definitions/SerializedUpdateUserLimitLoginPreBlockDuration/properties/preBlockDuration")
#### preBlockDuration Type
`number`

View file

@ -0,0 +1,16 @@
# Untitled number in ServerDataStatus Schema
```txt
https://timelimit.io/ServerDataStatus#/definitions/ServerUserEntry/properties/pbd
```
| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In |
| :------------------ | ---------- | -------------- | ----------------------- | :---------------- | --------------------- | ------------------- | ------------------------------------------------------------------------------------- |
| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [ServerDataStatus.schema.json\*](ServerDataStatus.schema.json "open original schema") |
## pbd Type
`number`

View file

@ -34,6 +34,7 @@ https://timelimit.io/ServerDataStatus#/definitions/ServerUserEntry
| [blockedTimes](#blockedTimes) | `string` | Required | cannot be null | [ServerDataStatus](serverdatastatus-definitions-serveruserentry-properties-blockedtimes.md "https://timelimit.io/ServerDataStatus#/definitions/ServerUserEntry/properties/blockedTimes") | | [blockedTimes](#blockedTimes) | `string` | Required | cannot be null | [ServerDataStatus](serverdatastatus-definitions-serveruserentry-properties-blockedtimes.md "https://timelimit.io/ServerDataStatus#/definitions/ServerUserEntry/properties/blockedTimes") |
| [flags](#flags) | `number` | Required | cannot be null | [ServerDataStatus](serverdatastatus-definitions-serveruserentry-properties-flags.md "https://timelimit.io/ServerDataStatus#/definitions/ServerUserEntry/properties/flags") | | [flags](#flags) | `number` | Required | cannot be null | [ServerDataStatus](serverdatastatus-definitions-serveruserentry-properties-flags.md "https://timelimit.io/ServerDataStatus#/definitions/ServerUserEntry/properties/flags") |
| [llc](#llc) | `string` | Optional | cannot be null | [ServerDataStatus](serverdatastatus-definitions-serveruserentry-properties-llc.md "https://timelimit.io/ServerDataStatus#/definitions/ServerUserEntry/properties/llc") | | [llc](#llc) | `string` | Optional | cannot be null | [ServerDataStatus](serverdatastatus-definitions-serveruserentry-properties-llc.md "https://timelimit.io/ServerDataStatus#/definitions/ServerUserEntry/properties/llc") |
| [pbd](#pbd) | `number` | Optional | cannot be null | [ServerDataStatus](serverdatastatus-definitions-serveruserentry-properties-pbd.md "https://timelimit.io/ServerDataStatus#/definitions/ServerUserEntry/properties/pbd") |
## id ## id
@ -283,3 +284,19 @@ https://timelimit.io/ServerDataStatus#/definitions/ServerUserEntry
### llc Type ### llc Type
`string` `string`
## pbd
`pbd`
- is optional
- Type: `number`
- cannot be null
- defined in: [ServerDataStatus](serverdatastatus-definitions-serveruserentry-properties-pbd.md "https://timelimit.io/ServerDataStatus#/definitions/ServerUserEntry/properties/pbd")
### pbd Type
`number`

View file

@ -2083,6 +2083,7 @@ Reference this group by using
| [blockedTimes](#blockedTimes) | `string` | Required | cannot be null | [ServerDataStatus](serverdatastatus-definitions-serveruserentry-properties-blockedtimes.md "https://timelimit.io/ServerDataStatus#/definitions/ServerUserEntry/properties/blockedTimes") | | [blockedTimes](#blockedTimes) | `string` | Required | cannot be null | [ServerDataStatus](serverdatastatus-definitions-serveruserentry-properties-blockedtimes.md "https://timelimit.io/ServerDataStatus#/definitions/ServerUserEntry/properties/blockedTimes") |
| [flags](#flags) | `number` | Required | cannot be null | [ServerDataStatus](serverdatastatus-definitions-serveruserentry-properties-flags.md "https://timelimit.io/ServerDataStatus#/definitions/ServerUserEntry/properties/flags") | | [flags](#flags) | `number` | Required | cannot be null | [ServerDataStatus](serverdatastatus-definitions-serveruserentry-properties-flags.md "https://timelimit.io/ServerDataStatus#/definitions/ServerUserEntry/properties/flags") |
| [llc](#llc) | `string` | Optional | cannot be null | [ServerDataStatus](serverdatastatus-definitions-serveruserentry-properties-llc.md "https://timelimit.io/ServerDataStatus#/definitions/ServerUserEntry/properties/llc") | | [llc](#llc) | `string` | Optional | cannot be null | [ServerDataStatus](serverdatastatus-definitions-serveruserentry-properties-llc.md "https://timelimit.io/ServerDataStatus#/definitions/ServerUserEntry/properties/llc") |
| [pbd](#pbd) | `number` | Optional | cannot be null | [ServerDataStatus](serverdatastatus-definitions-serveruserentry-properties-pbd.md "https://timelimit.io/ServerDataStatus#/definitions/ServerUserEntry/properties/pbd") |
### id ### id
@ -2333,6 +2334,22 @@ Reference this group by using
`string` `string`
### pbd
`pbd`
- is optional
- Type: `number`
- cannot be null
- defined in: [ServerDataStatus](serverdatastatus-definitions-serveruserentry-properties-pbd.md "https://timelimit.io/ServerDataStatus#/definitions/ServerUserEntry/properties/pbd")
#### pbd Type
`number`
# ServerDataStatus Properties # ServerDataStatus Properties
| Property | Type | Required | Nullable | Defined by | | Property | Type | Required | Nullable | Defined by |

View file

@ -74,3 +74,4 @@ export { MarkTaskPendingAction } from './marktaskpendingaction'
export { DeleteChildTaskAction } from './deletechildtaskaction' export { DeleteChildTaskAction } from './deletechildtaskaction'
export { UpdateChildTaskAction } from './updatechildtaskaction' export { UpdateChildTaskAction } from './updatechildtaskaction'
export { ReviewChildTaskAction } from './reviewchildtaskaction' export { ReviewChildTaskAction } from './reviewchildtaskaction'
export { UpdateUserLimitLoginPreBlockDuration } from './updateuserlimitloginpreblockduration'

View file

@ -62,6 +62,7 @@ import { SerializedUpdateParentNotificationFlagsAction, UpdateParentNotification
import { SerializedUpdateTimelimitRuleAction, UpdateTimelimitRuleAction } from '../updatetimelimitrule' import { SerializedUpdateTimelimitRuleAction, UpdateTimelimitRuleAction } from '../updatetimelimitrule'
import { SerializedUpdateUserFlagsAction, UpdateUserFlagsAction } from '../updateuserflags' import { SerializedUpdateUserFlagsAction, UpdateUserFlagsAction } from '../updateuserflags'
import { SerializedUpdateUserLimitLoginCategory, UpdateUserLimitLoginCategory } from '../updateuserlimitlogincategory' import { SerializedUpdateUserLimitLoginCategory, UpdateUserLimitLoginCategory } from '../updateuserlimitlogincategory'
import { SerializedUpdateUserLimitLoginPreBlockDuration, UpdateUserLimitLoginPreBlockDuration } from '../updateuserlimitloginpreblockduration'
export type SerializedParentAction = export type SerializedParentAction =
SerializedAddCategoryAppsAction | SerializedAddCategoryAppsAction |
@ -108,7 +109,8 @@ export type SerializedParentAction =
SerializedUpdateParentNotificationFlagsAction | SerializedUpdateParentNotificationFlagsAction |
SerializedUpdateTimelimitRuleAction | SerializedUpdateTimelimitRuleAction |
SerializedUpdateUserFlagsAction | SerializedUpdateUserFlagsAction |
SerializedUpdateUserLimitLoginCategory SerializedUpdateUserLimitLoginCategory |
SerializedUpdateUserLimitLoginPreBlockDuration
export const parseParentAction = (action: SerializedParentAction): ParentAction => { export const parseParentAction = (action: SerializedParentAction): ParentAction => {
if (action.type === 'ADD_CATEGORY_APPS') { if (action.type === 'ADD_CATEGORY_APPS') {
@ -201,6 +203,8 @@ export const parseParentAction = (action: SerializedParentAction): ParentAction
return UpdateUserFlagsAction.parse(action) return UpdateUserFlagsAction.parse(action)
} else if (action.type === 'UPDATE_USER_LIMIT_LOGIN_CATEGORY') { } else if (action.type === 'UPDATE_USER_LIMIT_LOGIN_CATEGORY') {
return UpdateUserLimitLoginCategory.parse(action) return UpdateUserLimitLoginCategory.parse(action)
} else if (action.type === 'UPDATE_USER_LIMIT_LOGIN_PRE_BLOCK_DURATION') {
return UpdateUserLimitLoginPreBlockDuration.parse(action)
} else { } else {
throw new UnknownActionTypeException({ group: 'parent' }) throw new UnknownActionTypeException({ group: 'parent' })
} }

View file

@ -0,0 +1,57 @@
/*
* server component for the TimeLimit App
* Copyright (C) 2019 - 2020 Jonas Lochmann
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, version 3 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import { maxPreBlockDuration } from '../database/userlimitlogincategory'
import { ParentAction } from './basetypes'
import { assertIdWithinFamily, assertSafeInteger, throwOutOfRange } from './meta/util'
const actionType = 'UpdateUserLimitLoginPreBlockDuration'
export class UpdateUserLimitLoginPreBlockDuration extends ParentAction {
readonly userId: string
readonly preBlockDuration: number
constructor ({ userId, preBlockDuration }: {
userId: string,
preBlockDuration: number
}) {
super()
assertIdWithinFamily({ actionType, field: 'userId', value: userId })
assertSafeInteger({ actionType, field: 'preBlockDuration', value: preBlockDuration })
if (preBlockDuration < 0 || preBlockDuration > maxPreBlockDuration) {
throwOutOfRange({ actionType, field: 'preBlockDuration', value: preBlockDuration })
}
this.userId = userId
this.preBlockDuration = preBlockDuration
}
static parse = ({ userId, preBlockDuration }: SerializedUpdateUserLimitLoginPreBlockDuration) => (
new UpdateUserLimitLoginPreBlockDuration({
userId,
preBlockDuration
})
)
}
export interface SerializedUpdateUserLimitLoginPreBlockDuration {
type: 'UPDATE_USER_LIMIT_LOGIN_PRE_BLOCK_DURATION'
userId: string
preBlockDuration: number
}

View file

@ -1324,6 +1324,29 @@ const definitions = {
"userId" "userId"
] ]
}, },
"SerializedUpdateUserLimitLoginPreBlockDuration": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"UPDATE_USER_LIMIT_LOGIN_PRE_BLOCK_DURATION"
]
},
"userId": {
"type": "string"
},
"preBlockDuration": {
"type": "number"
}
},
"additionalProperties": false,
"required": [
"preBlockDuration",
"type",
"userId"
]
},
"SerializedAddInstalledAppsAction": { "SerializedAddInstalledAppsAction": {
"type": "object", "type": "object",
"properties": { "properties": {
@ -2370,6 +2393,9 @@ const definitions = {
}, },
"llc": { "llc": {
"type": "string" "type": "string"
},
"pbd": {
"type": "number"
} }
}, },
"additionalProperties": false, "additionalProperties": false,
@ -2695,6 +2721,9 @@ export const isSerializedParentAction: (value: object) => value is SerializedPar
}, },
{ {
"$ref": "#/definitions/SerializedUpdateUserLimitLoginCategory" "$ref": "#/definitions/SerializedUpdateUserLimitLoginCategory"
},
{
"$ref": "#/definitions/SerializedUpdateUserLimitLoginPreBlockDuration"
} }
], ],
"definitions": definitions, "definitions": definitions,

View file

@ -0,0 +1,38 @@
/*
* server component for the TimeLimit App
* Copyright (C) 2019 - 2020 Jonas Lochmann
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, version 3 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import { QueryInterface, Sequelize, Transaction } from 'sequelize'
import { attributesVersion2 as limitLoginCategoryAttributes } from '../../userlimitlogincategory'
export async function up (queryInterface: QueryInterface, sequelize: Sequelize) {
await sequelize.transaction({
type: Transaction.TYPES.EXCLUSIVE
}, async (transaction) => {
// timelimit rule table
await queryInterface.addColumn('UserLimitLoginCategories', 'preBlockDuration', {
...limitLoginCategoryAttributes.preBlockDuration
}, { transaction })
})
}
export async function down (queryInterface: QueryInterface, sequelize: Sequelize) {
await sequelize.transaction({
type: Transaction.TYPES.EXCLUSIVE
}, async (transaction) => {
await queryInterface.removeColumn('UserLimitLoginCategories', 'preBlockDuration', { transaction })
})
}

View file

@ -19,21 +19,46 @@ import * as Sequelize from 'sequelize'
import { familyIdColumn, idWithinFamilyColumn } from './columns' import { familyIdColumn, idWithinFamilyColumn } from './columns'
import { SequelizeAttributes } from './types' import { SequelizeAttributes } from './types'
export interface UserLimitLoginCategoryAttributes { export const maxPreBlockDuration = 1000 * 60 * 60 * 24 // 1 day
export interface UserLimitLoginCategoryAttributesVersion1 {
familyId: string familyId: string
userId: string userId: string
categoryId: string categoryId: string
} }
export interface UserLimitLoginCategoryAttributesVersion2 {
preBlockDuration: number
}
export type UserLimitLoginCategoryAttributes = UserLimitLoginCategoryAttributesVersion1 & UserLimitLoginCategoryAttributesVersion2
export type UserLimitLoginCategoryModel = Sequelize.Model & UserLimitLoginCategoryAttributes export type UserLimitLoginCategoryModel = Sequelize.Model & UserLimitLoginCategoryAttributes
export type UserLimitLoginCategoryModelStatic = typeof Sequelize.Model & { export type UserLimitLoginCategoryModelStatic = typeof Sequelize.Model & {
new (values?: object, options?: Sequelize.BuildOptions): UserLimitLoginCategoryModel; new (values?: object, options?: Sequelize.BuildOptions): UserLimitLoginCategoryModel;
} }
export const attributes: SequelizeAttributes<UserLimitLoginCategoryAttributes> = { export const attributesVersion1: SequelizeAttributes<UserLimitLoginCategoryAttributesVersion1> = {
familyId: { ...familyIdColumn, primaryKey: true }, familyId: { ...familyIdColumn, primaryKey: true },
userId: { ...idWithinFamilyColumn, primaryKey: true }, userId: { ...idWithinFamilyColumn, primaryKey: true },
categoryId: { ...idWithinFamilyColumn } categoryId: { ...idWithinFamilyColumn }
} }
export const attributesVersion2: SequelizeAttributes<UserLimitLoginCategoryAttributesVersion2> = {
preBlockDuration: {
type: Sequelize.INTEGER,
validate: {
min: 0,
max: maxPreBlockDuration
},
allowNull: false,
defaultValue: 0
}
}
export const attributes: SequelizeAttributes<UserLimitLoginCategoryAttributes> = {
...attributesVersion1,
...attributesVersion2
}
export const createUserLimitLoginCategoryModel = (sequelize: Sequelize.Sequelize): UserLimitLoginCategoryModelStatic => sequelize.define('UserLimitLoginCategory', attributes) as UserLimitLoginCategoryModelStatic export const createUserLimitLoginCategoryModel = (sequelize: Sequelize.Sequelize): UserLimitLoginCategoryModelStatic => sequelize.define('UserLimitLoginCategory', attributes) as UserLimitLoginCategoryModelStatic

View file

@ -61,7 +61,8 @@ import {
UpdateParentNotificationFlagsAction, UpdateParentNotificationFlagsAction,
UpdateTimelimitRuleAction, UpdateTimelimitRuleAction,
UpdateUserFlagsAction, UpdateUserFlagsAction,
UpdateUserLimitLoginCategory UpdateUserLimitLoginCategory,
UpdateUserLimitLoginPreBlockDuration
} from '../../../../action' } from '../../../../action'
import { Cache } from '../cache' import { Cache } from '../cache'
import { ActionObjectTypeNotHandledException } from '../exception/illegal-state' import { ActionObjectTypeNotHandledException } from '../exception/illegal-state'
@ -111,6 +112,7 @@ import { dispatchUpdateParentNotificationFlags } from './updateparentnotificatio
import { dispatchUpdateTimelimitRule } from './updatetimelimitrule' import { dispatchUpdateTimelimitRule } from './updatetimelimitrule'
import { dispatchUpdateUserFlagsAction } from './updateuserflags' import { dispatchUpdateUserFlagsAction } from './updateuserflags'
import { dispatchUpdateUserLimitLoginCategoryAction } from './updateuserlimitlogincategory' import { dispatchUpdateUserLimitLoginCategoryAction } from './updateuserlimitlogincategory'
import { dispatchUpdateUserLimitPreBlockDuration } from './updateuserlimitloginpreblockduration'
export const dispatchParentAction = async ({ action, cache, parentUserId, sourceDeviceId, fromChildSelfLimitAddChildUserId }: { export const dispatchParentAction = async ({ action, cache, parentUserId, sourceDeviceId, fromChildSelfLimitAddChildUserId }: {
action: ParentAction action: ParentAction
@ -214,6 +216,8 @@ export const dispatchParentAction = async ({ action, cache, parentUserId, source
await dispatchReviewChildTaskAction({ action, cache }) await dispatchReviewChildTaskAction({ action, cache })
} else if (action instanceof UpdateChildTaskAction) { } else if (action instanceof UpdateChildTaskAction) {
await dispatchUpdateChildTaskAction({ action, cache }) await dispatchUpdateChildTaskAction({ action, cache })
} else if (action instanceof UpdateUserLimitLoginPreBlockDuration) {
await dispatchUpdateUserLimitPreBlockDuration({ action, cache, parentUserId })
} else { } else {
throw new ActionObjectTypeNotHandledException() throw new ActionObjectTypeNotHandledException()
} }

View file

@ -68,7 +68,8 @@ export async function dispatchUpdateUserLimitLoginCategoryAction ({ action, cach
await cache.database.userLimitLoginCategory.create({ await cache.database.userLimitLoginCategory.create({
familyId: cache.familyId, familyId: cache.familyId,
userId: action.userId, userId: action.userId,
categoryId: action.categoryId categoryId: action.categoryId,
preBlockDuration: 0
}, { }, {
transaction: cache.transaction transaction: cache.transaction
}) })

View file

@ -0,0 +1,72 @@
/*
* server component for the TimeLimit App
* Copyright (C) 2019 - 2020 Jonas Lochmann
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, version 3 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import { UpdateUserLimitLoginPreBlockDuration } from '../../../../action'
import { Cache } from '../cache'
import { ApplyActionException } from '../exception/index'
import { MissingItemException, MissingUserException } from '../exception/missing-item'
export async function dispatchUpdateUserLimitPreBlockDuration ({ action, cache, parentUserId }: {
action: UpdateUserLimitLoginPreBlockDuration
cache: Cache
parentUserId: string
}) {
const userEntry = await cache.database.user.findOne({
where: {
familyId: cache.familyId,
userId: action.userId,
type: 'parent'
},
transaction: cache.transaction
})
if (!userEntry) {
throw new MissingUserException()
}
if (action.preBlockDuration !== 0 && parentUserId !== action.userId) {
throw new ApplyActionException({
staticMessage: 'only the parent user itself can add a limit login pre block duration'
})
}
const preBlockItem = await cache.database.userLimitLoginCategory.findOne({
transaction: cache.transaction,
where: {
familyId: cache.familyId,
userId: action.userId
}
})
if (preBlockItem === null) {
throw new MissingItemException({
staticMessage: 'you can not set a pre block duration if there is no pre block item'
})
}
await cache.database.userLimitLoginCategory.update({
preBlockDuration: action.preBlockDuration
}, {
transaction: cache.transaction,
where: {
familyId: cache.familyId,
userId: action.userId
}
})
cache.invalidiateUserList = true
}

View file

@ -67,19 +67,21 @@ export async function getUserList ({ database, transaction, familyEntry }: {
}, },
attributes: [ attributes: [
'userId', 'userId',
'categoryId' 'categoryId',
'preBlockDuration'
], ],
transaction transaction
})).map((item) => ({ })).map((item) => ({
userId: item.userId, userId: item.userId,
categoryId: item.categoryId categoryId: item.categoryId,
preBlockDuration: item.preBlockDuration
})) }))
const getLimitLoginCategory = (userId: string) => { const getLimitLoginCategory = (userId: string) => {
const item = limitLoginCategories.find((item) => item.userId === userId) const item = limitLoginCategories.find((item) => item.userId === userId)
if (item) { if (item) {
return item.categoryId return item
} else { } else {
return undefined return undefined
} }
@ -87,22 +89,27 @@ export async function getUserList ({ database, transaction, familyEntry }: {
return { return {
version: familyEntry.userListVersion, version: familyEntry.userListVersion,
data: users.map((item) => ({ data: users.map((item) => {
id: item.userId, const limitLoginCategory = getLimitLoginCategory(item.userId)
name: item.name,
password: item.passwordHash, return {
secondPasswordSalt: item.secondPasswordSalt, id: item.userId,
type: item.type, name: item.name,
timeZone: item.timeZone, password: item.passwordHash,
disableLimitsUntil: parseInt(item.disableTimelimitsUntil, 10), secondPasswordSalt: item.secondPasswordSalt,
mail: item.mail, type: item.type,
currentDevice: item.currentDevice, timeZone: item.timeZone,
categoryForNotAssignedApps: item.categoryForNotAssignedApps, disableLimitsUntil: parseInt(item.disableTimelimitsUntil, 10),
relaxPrimaryDevice: item.relaxPrimaryDeviceRule, mail: item.mail,
mailNotificationFlags: item.mailNotificationFlags, currentDevice: item.currentDevice,
blockedTimes: '', categoryForNotAssignedApps: item.categoryForNotAssignedApps,
flags: parseInt(item.flags, 10), relaxPrimaryDevice: item.relaxPrimaryDeviceRule,
llc: getLimitLoginCategory(item.userId) mailNotificationFlags: item.mailNotificationFlags,
})) blockedTimes: '',
flags: parseInt(item.flags, 10),
llc: limitLoginCategory?.categoryId,
pbd: limitLoginCategory?.preBlockDuration
}
})
} }
} }

View file

@ -61,6 +61,7 @@ export interface ServerUserEntry {
blockedTimes: string blockedTimes: string
flags: number flags: number
llc?: string // limit login category llc?: string // limit login category
pbd?: number // pre block duration, default is zero
} }
export interface ServerDeviceData { export interface ServerDeviceData {