Commit graph

6 commits

Author SHA1 Message Date
b181073552 checkers: store observations as json.RawMessage with cross-checker reuse
Refactor observation data pipeline to serialize once after collection and
keep json.RawMessage throughout storage and API responses. This eliminates
double-serialization and makes DB round-trips lossless.
2026-04-15 16:06:02 +07:00
893fc4bfe6 checkers: add storage interfaces, implementations, and tidy
Add the persistence layer for the checker system:
- Storage interfaces (CheckPlanStorage, CheckerOptionsStorage,
  CheckEvaluationStorage, ExecutionStorage, ObservationSnapshotStorage,
  SchedulerStateStorage) in the usecase/checker package
- KV-based implementations for LevelDB/Oracle NoSQL/InMemory backends
- Integrate checker storage into the main Storage interface
- Add tidy methods for checker entities (plans, configurations,
  evaluations, executions, snapshots, observation cache) and
  secondary index cleanup
2026-04-15 11:12:55 +07:00
3f0ca0b37e tidy: delete User record when cleaning up unverified AuthUsers
When TidyUsers removes an AuthUser with unverified email and no login
after 7 days, the corresponding User record was left orphaned in the
database. Now DeleteUser is called before dropping the AuthUser.
2026-04-14 18:56:57 +07:00
692a549437 tidy: drop auth users with unverified email and no login after one week 2026-04-11 03:21:44 +07:00
08c4749607 fix: propagate iterator errors instead of silently returning partial results
Add Err() method to storage.Iterator interface and implement it on all
backends (LevelDB, PostgreSQL, in-memory). Update kvtpl.KVIterator.Err()
to fall through to the underlying iterator's error. Check Err() after
every iteration loop across kvtpl and usecase layers to surface I/O
failures and rate-limit errors instead of returning truncated data.
2026-03-26 08:02:15 +07:00
5ef9419072 refactor: restructure project architecture and folder hierarchy
- Moved usecases into internal/usecase
- Renamed internal/utils to internal/helpers for better naming semantics
- Clarified separation between domain model, usecases, adapters, and web/API
2025-05-28 22:00:02 +02:00
Renamed from usecase/tidy.go (Browse further)