Skip to content

premieroctet/next-crud

Repository files navigation

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.

Starting from version 3 of the lib, we only support Prisma v5 and above. Please install version 2 of the lib if you are using Prisma v4 or older.

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'
import { NextApiRequest, NextApiResponse } from 'next'

const handler = async (req: NextApiRequest, res: NextApiResponse) => {
  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.

Sponsors

This project is being developed by Premier Octet, a Web and mobile agency specializing in React and React Native developments.