LLaraNode
Packages

Middlewares Package

The @lara-node/middlewares package provides pre-built middleware for common use cases.

Middlewares Package

The @lara-node/middlewares package provides pre-built middleware for common use cases.

Installation

pnpm add @lara-node/middlewares @lara-node/core express

Overview

Includes middleware for:

  • Authentication -- JWT validation
  • Authorization -- Role and permission checks
  • Request logging -- Structured request logs
  • Error handling -- Unified error responses
  • Validation -- Request validation helper
  • Response extension -- Auto-serialize models
  • Async context -- Request-scoped storage

Quick Start

import {
  AuthMiddleware,
  RequestLoggerMiddleware,
  ErrorHandlerMiddleware,
  ValidatorMiddleware,
  ResponseExtenderMiddleware,
} from "@lara-node/middlewares";

export class MiddlewareProvider extends MiddlewareServiceProvider {
  registerMiddleware() {
    return {
      aliases: {
        auth: AuthMiddleware,
        logger: RequestLoggerMiddleware,
        validator: ValidatorMiddleware,
        errorHandler: ErrorHandlerMiddleware,
      },
      groups: {
        api: ["errorHandler", "logger", "validator", "auth"],
      },
      priority: ["errorHandler"],
    };
  }
}

Key Exports

ExportDescription
AuthMiddlewareJWT authentication
RequestLoggerMiddlewareRequest logging
ValidatorMiddlewareRequest validation
ResponseExtenderMiddlewareAuto-serialize models
ErrorHandlerMiddlewareError handling
AuthorizeByStatusMiddlewareStatus check
authorizeRoles()Role authorization
authorizePermissions()Permission authorization
AsyncContextMiddlewareAsyncLocalStorage

Next Steps