feat(sync): add opt-in remote deletion for gcal and gtasks (#85)
Problem: push/sync permanently deleted remote Google Calendar events and Google Tasks entries whenever a local task was marked deleted, done, or de-due'd. There was no opt-out, so a misfire could silently cause irreversible data loss on the remote side. Solution: add a `remote_delete` boolean to the config (default `false`). A unified flag at `sync.remote_delete` sets the base; per-backend overrides at `sync.gcal.remote_delete` / `sync.gtasks.remote_delete` take precedence when non-nil. When disabled, `_extra` remote IDs are cleared silently (unlinking) so stale IDs don't accumulate.
This commit is contained in:
parent
25ad5a6d88
commit
9de53f2bb3
3 changed files with 78 additions and 26 deletions
|
|
@ -7,16 +7,19 @@
|
|||
---@field category string
|
||||
|
||||
---@class pending.GcalConfig
|
||||
---@field remote_delete? boolean
|
||||
---@field credentials_path? string
|
||||
---@field client_id? string
|
||||
---@field client_secret? string
|
||||
|
||||
---@class pending.GtasksConfig
|
||||
---@field remote_delete? boolean
|
||||
---@field credentials_path? string
|
||||
---@field client_id? string
|
||||
---@field client_secret? string
|
||||
|
||||
---@class pending.SyncConfig
|
||||
---@field remote_delete? boolean
|
||||
---@field gcal? pending.GcalConfig
|
||||
---@field gtasks? pending.GtasksConfig
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue