Commit Graph

11 Commits

Author SHA1 Message Date
Kamil 'Kamaś' Bruchal a7bbbdc084 refactor: files consolidation 2026-06-17 21:29:35 +02:00
Kamil 'Kamaś' Bruchal cb0cc679c8 fix: read GOOGLE_SHEETS_ID and default range to current-year tab
LoadConfig read SPREADSHEET_ID, but the .env defines GOOGLE_SHEETS_ID,
so config loading failed. The default SHEET_RANGE was also a hardcoded
'Dyżury!A1:F100', but the spreadsheet tabs are named per year (e.g.
'2026'), producing a 400 'Unable to parse range'. Read GOOGLE_SHEETS_ID
and derive the default range from the current year.

Add a RUN_LIVE-gated integration test that drives the full
LoadConfig -> Service -> Syncer.Sync -> Store path against the live
Sheet, and gitignore the generated rota.json cache.
2026-06-17 21:16:25 +02:00
Kamil 'Kamaś' Bruchal 572701106c Docs: README.md added 2026-06-17 21:01:01 +02:00
Kamil 'Kamaś' Bruchal 6b37b56736 fix: clean fetch-sheet lint, gitignore .env 2026-06-17 20:58:49 +02:00
Kamil 'Kamaś' Bruchal 6c177c9514 fix: lint, interval validation, corrupt-cache tolerance, background init sync, concurrent test 2026-06-17 20:45:29 +02:00
Kamil 'Kamaś' Bruchal 7d799c74f1 feat: add Config + Service wiring for cache and background sync 2026-06-17 20:35:05 +02:00
Kamil 'Kamaś' Bruchal 74f3c03013 feat: add Syncer that refreshes cache and tolerates fetch failure 2026-06-17 20:31:53 +02:00
Kamil 'Kamaś' Bruchal 4afe123a76 feat: add in-memory rota Store with atomic JSON persistence 2026-06-17 20:29:04 +02:00
Kamil 'Kamaś' Bruchal 32f07ce90b Feat: Sheet parsing 2026-06-17 20:08:16 +02:00
Kamil 'Kamaś' Bruchal 335e698e5e Feat: ReadSheet implemented 2026-06-17 19:25:24 +02:00
Kamil 'Kamaś' Bruchal 7828e11046 Initial commit 2026-06-17 18:53:54 +02:00