38882d7b870cd693fe4f13313682c3e2e8a6730b
Introduce user bans and caching, extend schemas, and add auth/user endpoints. Adds bans DDL and banRepo plus adminService to manage bans; introduces modules/cache for in-memory user caching used by authService and userService. Updates users and credentials DDLs (role, isDisabled, shouldReset). Changes tokensService to include role in access tokens and store refresh tokens as SHA-256 hashes. Updates repos (credentials create RETURNING, usersRepo.updateProfile positional params), enhances authService with isLogged/isNotLogged middleware, ban checks, and refreshed token flow. Adds auth routes (login, logout, refresh, register) and user routes (/me).
Base-REST-API
A robust, modular, and secure REST API boilerplate built with Node.js and Express. It features a recursive file loader for routes and schemas, along with a powerful validation middleware using Zod.
🚀 Features
- Automated Loading: Recursively loads routes and validation schemas from the file system.
- Strict Validation: Request bodies and query parameters are validated using Zod before reaching the controller.
- Clean Architecture: Separation of concerns with
Routes(HTTP layer),Services(Business logic), andSchemas(Validation). - Security First: Inputs are stripped of unknown fields automatically.
- Custom Logger: Integrated color-coded logging system for development and file logging for production.
- Error Handling: Standardized JSON error responses.
📦 Installation
- Clone the repository
git clone https://gitea.azures.fr/azures04/Base-REST-API.git cd Base-REST-API
Languages
JavaScript
100%