feat(redemptions): add batch deletion and optional file exports
Add confirmed multi-select deletion through one batch API request and one soft-delete statement. Record the affected count and requested IDs in a separate batch audit event, and identify legacy events with missing counts. After creation, offer an unchecked Save as a file option with TXT/Markdown formats and optional name/quota fields. Keep Done as the default completion action. Include translations for all seven frontend locales. Validation: - Redemption and audit frontend regression tests, typecheck, and scoped lint. - go build ./... - go test ./controller -run '^TestDeleteRedemptionBatch$' -count=1 -v with TEST_MYSQL_DSN, TEST_MYSQL_LOG_DSN, TEST_POSTGRES_DSN, and TEST_POSTGRES_LOG_DSN set to isolated primary and log databases. - Real SQLite 3.50.4, MySQL 8.4.11, and PostgreSQL 16.15 passed, including deletion of 15 records, duplicate/missing IDs, zero-row retries, audit deduplication, invalid input, and exclusion of credentials from logs.
Showing
controller/redemption_batch_test.go
0 → 100644
This diff is collapsed.
Click to expand it.
Please
register
or
sign in
to comment