next-crud icon indicating copy to clipboard operation
next-crud copied to clipboard

Full-featured CRUD routes for Next.js

Next Crud

NPM Version NPM License Github Actions

next-crud is a helper library that creates CRUD API routes with one simple function based on a Prisma model for Next.js.

Documentation

The documentation is available here

Overview

yarn add @premieroctet/next-crud

Given the following Prisma schema:

model User {
  id              Int        @id @default(autoincrement())
  name            String?
  email           String?
}

Create the file /pages/api/[...nextcrud].ts. with:

import NextCrud, { PrismaAdapter } from '@premieroctet/next-crud'

const handler = async (req, res) => {
  const nextCrudHandler = await NextCrud({
    adapter: new PrismaAdapter({
      prismaClient: myPrismaClientInstance,
    }),
  })

  return nextCrudHandler(req, res)
}

export default handler

And get your full featured CRUD routes!

Endpoint Description
List GET /api/users Get all the users
Get GET /api/users/[id] Get one user
Add POST /api/users Create one user
Edit PUT /api/users/[id] Update one user
Partial edit PATCH /api/users/[id] Update one user (partial)
Delete DELETE/api/users/[id] Delete one user

Example

Open in CodeSandbox

Contributing

You can run the example project to test your modifications. Make sure to run yarn watch in the root folder.