AOSSIE-Org / AOSSIE-Org/Resonate-Backend
[BUG]: Improve request validation and JSON parsing across backend functions
- Lenguaje dominante
- JavaScript
- Estrellas
- 43
- Forks
- 120
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
### Bug Description
## Problem
Currently, multiple backend functions directly use `JSON.parse(req.body)` and perform validation using `throwIfMissing`. This approach has a few issues:
- Repeated parsing of request body across functions
- No centralized handling for invalid JSON (can cause runtime crashes)
- Validation utility previously treated falsy values (`0`, `false`, `""`) as missing
- Inconsistent error responses across different functions
## Proposed Solution
- Enhance the existing `throwIfMissing` utility to correctly handle falsy values by only rejecting `undefined` and `null`
- Introduce a reusable `parseBody` utility for safe JSON parsing
- Refactor selected functions (e.g., `create-room`, `join-room`) to:
- Use `parseBody` for request parsing
- Use improved validation
- Standardize API responses (`success`, `message`, `data`)
## Benefits
- Prevents crashes due to invalid JSON input
- Improves consistency across backend APIs
- Enhances maintainability and readability
- Moves towards production-grade request handling
## Scope
- Update `utils.js`
- Refactor 2–3 functions to adopt new utilities
### Steps to Reproduce
_No response_
### Logs and Screenshots
_No response_
### Environment Details
_No response_
### Impact
Critical - Application is unusable
### Code of Conduct
- [x] I have joined the [Discord server](https://discord.gg/hjUhu33uAn) and will post updates there
- [x] I have searched existing issues to avoid duplicates
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Evaluación
Este issue todavía no se ha evaluado.