express-controller-sets
v2.3.2
Published
Unified package for Express.js controller sets, dynamic routing, and S3 file uploads.
Readme
Express Controller Sets
A unified toolkit for Express.js that provides pre-built CRUD logic, robust S3 file upload handling, and dynamic routing helpers.
Full Documentation & Live Demo
Designed to help you build APIs faster by automating repetitive controller logic and middleware configuration while maintaining type safety and flexibility.
🚀 Installation
Install the package using your favorite package manager:
npm install express-controller-sets mongoose express multer multer-s3 dotenv @aws-sdk/client-s3⚡ Quick Start
Build a full-featured API for your model in just a few lines of code.
import express from 'express';
import { createRouter } from 'express-controller-sets';
import Product from './models/Product.js';
const app = express();
app.use(express.json());
// Create all CRUD routes automatically
const productRouter = createRouter({
model: Product,
orderBy: '-createdAt', // Sort by newest
search: ['name', 'category.name'], // Enable ?search= or ?s= for multi-field search, including relational fields
query: ['category'] // Enable ?category= filtering
});
app.use('/api/products', productRouter);[!TIP] View the Full Documentation & Live Demo for a complete list of endpoints, filtering options, and S3 configuration.
Released under the MIT License. © 2024 Sabbir Mahmud
