sovetski / next-crud

Full-featured CRUD routes for Next.js

Home Page:https://next-crud.js.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

Full-featured CRUD routes for Next.js

https://next-crud.js.org

License:MIT License


Languages

Language:TypeScript 99.8%Language:JavaScript 0.2%