opsdash-app/opsdash/lib/Service
blade34242 ea2237e3fd security: rate limit /loadData to 5 req/10 s per user via ICacheFactory
Adds LoadRateLimiter with a two-layer check: 2-second minimum interval
between requests, and a burst cap of 5 per 10-second window. Uses the
distributed cache (Redis/APCu) so the limit applies across workers.
Fails open when cache is unavailable so a cold cache never blocks users.
Returns 429 Too Many Requests when throttled.

Also updates ICacheFactory stub and FakeCacheFactory implementations to
match the full interface (isAvailable, createDistributed, createInMemory).
2026-05-06 13:59:12 +07:00
..
Validation fix: normalize all-day event aggregation 2025-10-27 16:03:31 +07:00
CalendarAccessService.php Refactor opsdash load flow and services 2026-01-13 12:26:48 +07:00
CalendarColorService.php Refactor opsdash load flow and services 2026-01-13 12:26:48 +07:00
CalendarParsingService.php Harden calendar payload parsing 2026-04-02 17:09:22 +07:00
ColorPalette.php fix: align calendar colors with nc palette 2025-11-03 17:28:57 +07:00
DashboardDefaultsService.php defaults: set stacked chart auto height in standard preset 2026-05-06 13:19:16 +07:00
DeckDataService.php Finalize release hardening and README refresh 2026-02-14 14:38:45 +07:00
DeckSeedService.php Improve demo seed data realism 2026-02-14 15:54:00 +07:00
LoadRateLimiter.php security: rate limit /loadData to 5 req/10 s per user via ICacheFactory 2026-05-06 13:59:12 +07:00
NotesService.php security: store notes raw, escape at render time 2026-05-06 10:22:16 +07:00
OverviewAggregationService.php Split current-period actual and planned hours 2026-04-02 18:05:43 +07:00
OverviewBalanceService.php Add PHPStan static analysis gate for backend CI 2026-03-07 11:50:43 +07:00
OverviewChartsBuilder.php Refactor opsdash presets, widgets registry, onboarding 2025-12-14 10:55:21 +07:00
OverviewCorePayloadComposer.php Refactor opsdash load flow and services 2026-01-13 12:26:48 +07:00
OverviewDataService.php Split current-period actual and planned hours 2026-04-02 18:05:43 +07:00
OverviewEventsCollector.php Cache repeated event collects per request 2026-02-11 10:33:30 +07:00
OverviewHistoryService.php Add BalanceIndex score to history, group toolbar width/height controls, and expand widget tests 2026-05-06 08:43:15 +07:00
OverviewIncludeResolver.php Remove legacy overview/persist dead paths 2026-02-11 09:54:38 +07:00
OverviewLoadCacheService.php Invalidate core cache after persist writes 2026-02-11 09:39:56 +07:00
OverviewLoadContextService.php Refactor opsdash load flow and services 2026-01-13 12:26:48 +07:00
OverviewLoadResponseComposer.php Refactor opsdash load flow and services 2026-01-13 12:26:48 +07:00
OverviewLoadService.php Refactor opsdash load flow and services 2026-01-13 12:26:48 +07:00
OverviewSelectionService.php Refactor opsdash presets, widgets registry, onboarding 2025-12-14 10:55:21 +07:00
OverviewStatsDeltaService.php Refactor opsdash load flow and services 2026-01-13 12:26:48 +07:00
OverviewStatsHistoryService.php Add BalanceIndex score to history, group toolbar width/height controls, and expand widget tests 2026-05-06 08:43:15 +07:00
OverviewStatsKpiService.php Split current-period actual and planned hours 2026-04-02 18:05:43 +07:00
OverviewStatsService.php Add BalanceIndex score to history, group toolbar width/height controls, and expand widget tests 2026-05-06 08:43:15 +07:00
OverviewStatsTrendService.php Add BalanceIndex score to history, group toolbar width/height controls, and expand widget tests 2026-05-06 08:43:15 +07:00
PersistDeckSanitizer.php Split persist sanitization into domain helpers 2026-03-07 11:57:03 +07:00
PersistOnboardingSanitizer.php feat: add release notes overlay 2026-04-20 07:58:22 +07:00
PersistSanitizer.php Add BalanceIndex score to history, group toolbar width/height controls, and expand widget tests 2026-05-06 08:43:15 +07:00
PersistWidgetsSanitizer.php fix: preserve widget height mode across save and reload 2026-05-06 13:02:28 +07:00
TargetsService.php Add BalanceIndex score to history, group toolbar width/height controls, and expand widget tests 2026-05-06 08:43:15 +07:00
UserConfigService.php Refactor overview endpoints; split layout; lazy-load widgets 2025-12-14 11:55:49 +07:00
UserPresetsService.php Refactor opsdash load flow and services 2026-01-13 12:26:48 +07:00
ViteAssetsService.php security: validate manifest asset paths against safe pattern 2026-05-06 10:17:59 +07:00