Summary
Creator list and detail responses are cached, but the cache key must be stable regardless of the order query params appear in the URL. A shared helper that normalizes and hashes the param set into a deterministic cache key should replace any inline key construction.
Scope
- Add
buildCacheKey(base: string, params: Record<string, unknown>): string helper
- Sorts param keys alphabetically before hashing so order does not matter
- Returns a fixed-length string suitable for use as a cache key
- Add unit tests confirming identical params in different order produce the same key and different params produce different keys
Acceptance Criteria
ETA: 12 hours
Coordinate on Telegram
Summary
Creator list and detail responses are cached, but the cache key must be stable regardless of the order query params appear in the URL. A shared helper that normalizes and hashes the param set into a deterministic cache key should replace any inline key construction.
Scope
buildCacheKey(base: string, params: Record<string, unknown>): stringhelperAcceptance Criteria
ETA: 12 hours
Coordinate on Telegram