Skip to content

feat(api): enforce request and response schema validation#91

Open
Elite-tch wants to merge 2 commits intoLiquifact:mainfrom
Elite-tch:feature/request-response-validation
Open

feat(api): enforce request and response schema validation#91
Elite-tch wants to merge 2 commits intoLiquifact:mainfrom
Elite-tch:feature/request-response-validation

Conversation

@Elite-tch
Copy link
Copy Markdown
Contributor

Title: feat(api): enforce request and response schema validation (#21)
Closes #21
This PR implements strict API boundary validation to prevent silent schema drift and accidental contract regressions.

Changes:
Zod Schemas: Added comprehensive input/output schemas in src/schemas/apiSchemas.js.
Validation Middleware: Implemented validateRequest for inbound payload verification (returns 400 Bad Request) and an outgoing interceptor validateResponse(returns 500 Internal Server Error to prevent internal data leakage).
Endpoint Security: Applied schemas alongside missing authenticateToken / sensitiveLimiter checks to all core src/index.js endpoints.
Tests: Authored validate.test.js to cover mismatch scenarios and refactored underlying bugs in the legacy
auth and index.js tests to pass correctly.
Code coverage is confidently above 95%.
Docs: Appended API Boundary Validation documentation to README.md .

image

@drips-wave
Copy link
Copy Markdown

drips-wave bot commented Mar 28, 2026

@Elite-tch Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@Elite-tch
Copy link
Copy Markdown
Contributor Author

Sorry for late PR

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.

Add Request and Response Validation at Boundaries

1 participant