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.
| Name |
Last commit
|
Last Update |
|---|---|---|
| .. | ||
| public | Loading commit data... | |
| scripts | Loading commit data... | |
| src | Loading commit data... | |
| .gitignore | Loading commit data... | |
| .node-version | Loading commit data... | |
| .npmrc | Loading commit data... | |
| .oxfmtrc.json | Loading commit data... | |
| .oxlintrc.json | Loading commit data... | |
| AGENTS.md | Loading commit data... | |
| bun.lock | Loading commit data... | |
| components.json | Loading commit data... | |
| cz.yaml | Loading commit data... | |
| index.html | Loading commit data... | |
| knip.config.ts | Loading commit data... | |
| netlify.toml | Loading commit data... | |
| package.json | Loading commit data... | |
| rsbuild.config.ts | Loading commit data... | |
| tsconfig.app.json | Loading commit data... | |
| tsconfig.json | Loading commit data... | |
| tsconfig.node.json | Loading commit data... | |
| vitest.config.ts | Loading commit data... |