mirror of
https://codeberg.org/timelimit/timelimit-server.git
synced 2026-08-31 19:03:45 +02:00
Add support for time limit rules that expire
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* server component for the TimeLimit App
|
||||
* Copyright (C) 2019 - 2022 Jonas Lochmann
|
||||
* Copyright (C) 2019 - 2024 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
|
||||
@@ -55,7 +55,8 @@ export async function dispatchCreateTimeLimitRule ({ action, cache, fromChildSel
|
||||
endMinuteOfDay: action.rule.end,
|
||||
sessionDurationMilliseconds: action.rule.sessionDurationMilliseconds,
|
||||
sessionPauseMilliseconds: action.rule.sessionPauseMilliseconds,
|
||||
perDay: action.rule.perDay ? 1 : 0
|
||||
perDay: action.rule.perDay ? 1 : 0,
|
||||
expiresAt: action.rule.expiresAt ? action.rule.expiresAt.toString() : null
|
||||
}, { transaction: cache.transaction })
|
||||
|
||||
cache.categoriesWithModifiedTimeLimitRules.add(action.rule.categoryId)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* server component for the TimeLimit App
|
||||
* Copyright (C) 2019 - 2022 Jonas Lochmann
|
||||
* Copyright (C) 2019 - 2024 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
|
||||
@@ -81,7 +81,8 @@ export async function dispatchUpdateTimelimitRule ({
|
||||
action.sessionDurationMilliseconds <= ruleEntry.sessionDurationMilliseconds &&
|
||||
action.sessionPauseMilliseconds >= ruleEntry.sessionPauseMilliseconds
|
||||
)) &&
|
||||
(!action.perDay || ruleEntry.perDay || countOldAffectedDays <= 1)
|
||||
(!action.perDay || ruleEntry.perDay || countOldAffectedDays <= 1) &&
|
||||
(action.expiresAt === undefined || (ruleEntry.expiresAt !== null && action.expiresAt >= parseInt(ruleEntry.expiresAt, 10)))
|
||||
|
||||
if (!isAtLeastAsStrictAsPreviously) {
|
||||
throw new CanNotRelaxRestrictionsSelfLimitException()
|
||||
@@ -96,6 +97,7 @@ export async function dispatchUpdateTimelimitRule ({
|
||||
ruleEntry.sessionDurationMilliseconds = action.sessionDurationMilliseconds
|
||||
ruleEntry.sessionPauseMilliseconds = action.sessionPauseMilliseconds
|
||||
ruleEntry.perDay = action.perDay ? 1 : 0
|
||||
ruleEntry.expiresAt = action.expiresAt ? action.expiresAt.toString() : null
|
||||
|
||||
await ruleEntry.save({ transaction: cache.transaction })
|
||||
|
||||
|
||||
Reference in New Issue
Block a user