feat: task trash, triage trash and retention settings for every area; admin can forbid keeping things for good
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 2m39s

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
sandrodachandClaude Opus 5.5 committed 2026-11-01 15:44:34 +01:00
1 parent a927a94a95
commit 5a9c5bac37
36 files changed
+1356 -175

No files matched your search

+11
View File
@@ -176,6 +176,9 @@ func (s *Store) GetSystemSettings() (*domain.SystemSettings, error) {
if n, err := strconv.Atoi(v); err == nil && n > 0 {
settings.BackupRetentionDays = n
}
case "retention_allow_never":
allow := v != "false"
settings.RetentionAllowNever = &allow
}
}
}
@@ -187,6 +190,10 @@ func (s *Store) GetSystemSettings() (*domain.SystemSettings, error) {
}
}
settings.AllowRegistration = settings.RegistrationMode == RegistrationOpen
if settings.RetentionAllowNever == nil {
allow := true
settings.RetentionAllowNever = &allow
}
return settings, nil
}
@@ -269,5 +276,9 @@ func (s *Store) UpdateSystemSettings(settings *domain.SystemSettings) error {
settings.RegistrationDomains,
strconv.FormatBool(settings.RegistrationVerifyEmail),
)
if err == nil && settings.RetentionAllowNever != nil {
_, err = s.db.Exec(`INSERT INTO system_settings (key, value) VALUES ('retention_allow_never', ?)
ON CONFLICT(key) DO UPDATE SET value = excluded.value`, strconv.FormatBool(*settings.RetentionAllowNever))
}
return err
}