Skip to content

ornate-source/controllerSets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Express Controller Sets

An advanced, unified toolkit for Express.js that accelerates API development by providing automated CRUD operations, dynamic routing capabilities, and robust Amazon S3 file upload handling out of the box.

Node Version Mongoose Version Express Version License

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.


📋 Changelog

Version 2.3.5

  • New Feature: Added an optional onGet lifecycle hook giving request-time control over .populate() and .select() on all GET operations (getAll, getById, and paginated results).
  • New Feature: Integrated sharp for automatic image compression and processing before S3 uploads, optimizing file sizes and delivery.

🚀 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-present Sabbir Mahmud

About

The npm package controllersets accelerates backend development by providing ready-made APIs for common operations: get all, get by ID, create, update, and delete. Boost your API creation process effortlessly.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors