azures04 38882d7b87 Add bans, user cache, auth routes & token changes
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).
2026-09-16 01:45:44 +02:00
2026-08-26 11:55:13 +02:00
2026-08-26 11:55:13 +02:00
2026-08-26 11:55:13 +02:00
2026-08-26 11:55:13 +02:00

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), and Schemas (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

  1. Clone the repository
       git clone https://gitea.azures.fr/azures04/Base-REST-API.git
       cd Base-REST-API
    
S
Description
Backend REST fédéré et décentralisé pour l'écosystème de poinçonnerie de transports en commun. Intègre un provider OIDC autonome, un protocole d'authentification inter-serveur sécurisé et un moteur de gestion de réseaux (GTFS, lignes, stations et succès).
Readme AGPL-3.0
172 KiB
Languages
JavaScript 100%