happyDomain/internal/usecase
Pierre-Olivier Mercier 57f61632fa checker: add tiered RetentionPolicy
Introduce a pure RetentionPolicy.Decide function that partitions check
executions into keep/drop sets according to a tiered policy:

  - 0..7 days   -> every execution
  - 7..30 days  -> 2 per day per (checker, target)
  - 30..D/2     -> 1 per week per (checker, target)
  - D/2..D days -> 1 per month per (checker, target)
  - > D days    -> dropped

The function is intentionally storage-agnostic so the upcoming janitor
goroutine can call it on any execution slice and so it can be unit
tested directly. All thresholds are configurable to allow per-user
overrides via UserQuota.
2026-04-10 19:15:19 +07:00
..
authuser Expand authuser test coverage: hash functions, validation, recovery, and bcrypt limit 2026-03-16 19:44:14 +07:00
checker checker: add tiered RetentionPolicy 2026-04-10 19:15:19 +07:00
domain checkers: add incremental scheduler updates on domain/zone changes 2026-04-10 19:15:19 +07:00
domain_log Refactor orchestrator: add context.Context, fix error handling, use interfaces 2026-03-16 19:44:14 +07:00
insight Fix Swagger annotations in controllers 2026-04-04 22:05:28 +07:00
orchestrator checkers: add incremental scheduler updates on domain/zone changes 2026-04-10 19:15:19 +07:00
provider Add context.Context to ProviderUsecase and DomainUsecase interfaces 2026-03-30 21:54:54 +07:00
service Fix OPENPGPKEY/SMIMEA hash to use SHA-256 truncated per RFC 7929/8162 2026-03-30 21:54:54 +07:00
session Add missing documentation to some usecases 2026-03-15 17:40:15 +07:00
user Replace nil mailer checks with LogMailer fallback 2026-03-16 19:44:14 +07:00
zone Add DNS propagation time tracking per service 2026-03-30 11:58:02 +07:00
zone_service fix: wire ActionOnEditableZone into all zone mutation facades 2026-03-16 20:07:47 +07:00
authentication_test.go security: remove email PII from error messages, log at HTTP boundary 2026-03-12 15:03:49 +07:00
authentication_usecase.go security: prevent email enumeration via timing side-channel 2026-03-12 15:03:49 +07:00
doc.go Add missing documentation to some usecases 2026-03-15 17:40:15 +07:00
form_usecase.go Add missing documentation to some usecases 2026-03-15 17:40:15 +07:00
provider_settings_usecase.go Add context.Context to ProviderUsecase and DomainUsecase interfaces 2026-03-30 21:54:54 +07:00
provider_specs_usecase.go providers: move provider registry to internal/provider package 2026-03-24 14:59:24 +07:00
resolver_usecase.go Move config struct to model, avoid dependancy to storage 2025-05-28 22:00:02 +02:00
service_specs_dns_types.go Remove last generation date from generated files for build reproducibility 2026-02-14 19:13:09 +07:00
service_specs_usecase.go services: move service registry to internal/service package 2026-03-24 14:59:24 +07:00
tidy_usecase.go fix: propagate iterator errors instead of silently returning partial results 2026-03-26 08:02:15 +07:00