feat(go): M6.6 — /qr, /sync-bank, /flush-cache, /version pages
All checks were successful
Deploy to K8s / deploy (push) Successful in 8s

- GET /qr: Czech QR Platba PNG; ports Python qr_code() exactly
  (account validation, amount clamping, * stripping, SPD format)
- GET /sync-bank: Fio sync → infer → cache flush with captured log
- GET+POST /flush-cache: form + action, shows deleted count
- GET /version: JSON alias of /api/version (Python parity)
- FlushCache() added to membership.Sources; wired through api.Handler
- web.ActionHandlers{BankSync} closure-based dep injection for sync
- New dep: github.com/skip2/go-qrcode
- TestQRBuildSPD (9 cases), TestServeQR, TestServeFlushCache{GET,POST},
  TestServeSync, TestServeVersion added

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-08 14:26:54 +02:00
parent e22ab8cc49
commit fe935235e8
18 changed files with 596 additions and 17 deletions

View File

@@ -1,5 +1,11 @@
{{define "title"}}Flush Cache{{end}}
{{define "content"}}
<h1>Flush Cache</h1>
<p class="description">Coming in M6.6</p>
{{if .Flushed}}
<p class="status-ok">Cache flushed: {{.Deleted}} file(s) deleted.</p>
{{end}}
<p class="description">Deletes all cached data files so the next request fetches fresh data from Google Sheets.</p>
<form method="POST" action="/flush-cache">
<button type="submit" class="btn">Flush Cache</button>
</form>
{{end}}