Skip to content

handle cache data and add force reload button on swagger#18

Merged
Many0nne merged 2 commits intomainfrom
feat/cache
Mar 7, 2026
Merged

handle cache data and add force reload button on swagger#18
Many0nne merged 2 commits intomainfrom
feat/cache

Conversation

@Many0nne
Copy link
Owner

@Many0nne Many0nne commented Mar 7, 2026

No description provided.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces an always-on mock data caching layer (MockDataStore) so that generated mock data remains stable across requests (instead of being regenerated each time), and adds a "Rebuild Data" button to the Swagger UI that allows users to clear the cached mock data and regenerate it on the next request.

Changes:

  • Added MockDataStore class in cache.ts that caches both single-object mocks and array pools, independent of the config.cache setting.
  • Integrated mockDataStore into the route handler (router.ts) to serve cached mock data on subsequent requests and regenerate only on first access.
  • Added a /mock-reset POST endpoint and a custom Swagger UI toolbar with a "Rebuild Data" button that triggers cache clearing.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

File Description
src/core/cache.ts New MockDataStore class with singles/pools Maps, get/set/clear/getStats methods, and a global mockDataStore singleton.
src/core/router.ts Updated dynamic route handler to check mockDataStore before generating new mock data for both array and single-object endpoints.
src/server.ts Added /swagger-rebuild.js endpoint serving custom JS for the toolbar button, /mock-reset POST endpoint, and wired custom JS into Swagger UI setup.
src/core/swagger.ts Added OpenAPI spec entry for the /mock-reset endpoint.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Many0nne Many0nne merged commit 7c9a548 into main Mar 7, 2026
2 checks passed
@Many0nne Many0nne deleted the feat/cache branch March 7, 2026 18:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Persistent mock data store with rebuild endpoint and Swagger UI button

2 participants