add blocker presets
This commit is contained in:
12 files changed
+426
-83
No files matched your search
@@ -19,6 +19,7 @@ from sqlalchemy.orm import Session
|
||||
|
||||
from app.config import env_settings
|
||||
from app.models import SettingsRow
|
||||
from app.services import pomodoro
|
||||
from app.settings_schema import SECRET_FIELDS, SECRET_MASK, AppSettings
|
||||
|
||||
_SETTINGS_ID = 1
|
||||
@@ -193,4 +194,11 @@ def apply_patch(session: Session, patch: dict[str, Any]) -> AppSettings:
|
||||
current = load_settings(session).model_dump(mode="json")
|
||||
patch = unmask_secrets(current, patch)
|
||||
merged = _merge(current, patch)
|
||||
return save_settings(session, AppSettings.model_validate(merged))
|
||||
updated = save_settings(session, AppSettings.model_validate(merged))
|
||||
|
||||
# A changed Focus/Short/Long minute (directly, or via a preset) resizes
|
||||
# whatever interval is already running or paused — see
|
||||
# `pomodoro.rescale_current`. Cheap and a no-op when nothing moved, so it
|
||||
# is simplest to always run it rather than detect which keys changed.
|
||||
pomodoro.rescale_current(session, updated)
|
||||
return updated
|
||||
Reference in new issue
Block a user