2.0.10 • Published 1 year ago
prisma-generator-nestjs-swagger v2.0.10
prisma-generator-nestjs-swagger
This generator is used to create all the possible dto classes you'll need for prisma crud operations, while also supporting open-api specs, including:
- Create
- Delete
- Find
- Update
It includes an extended ValidationPipe serializer that will transform the DTO to match the expected prisma query object. It includes support for pagination (skip/take or cursor), filtering and ordering.
Getting Started
- Install the generator
npm i prisma-generator-nestjs-swagger
- Inside your prisma schema, add the following:
generator nestJsSwagger {
provider = "prisma-generator-nestjs-swagger"
}
The output will be generated to:
node_modules/@generated/swagger
- Add the
ValidationPipe
as a global pipe:
import { ValidationPipe } from '@nestjs/common';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
app.useGlobalPipes(new ValidationPipe({transform: true}));
await app.listen(3000);
}
- Import & use the generated DTOs (based on code generated in example):
import { FindManyUserDto } from '@generated/swagger';
import { Controller, Get, Query, Req, Res } from '@nestjs/common';
// assumed import of prisma wrapped service
import { PrismaService } from '../prisma/prisma.service';
@Controller()
export class UserController {
constructor(private prisma: PrismaService) {
}
@Get('/users')
async getUsers(@Query() query: FindManyUserDto, @Res() res) {
const value = await this.prisma.user.findMany({
cursor: query.cursor,
orderBy: query.orderBy,
skip: query.skip,
take: query.take,
where: query.where
});
return res.send(value);
}
}
Example
See our this doc for an example output
2.0.7
1 year ago
2.0.9
1 year ago
2.0.10
1 year ago
2.0.8
1 year ago
2.0.6
1 year ago
2.0.5
1 year ago
2.0.4
1 year ago
2.0.3
1 year ago
2.0.2
1 year ago
2.0.1
1 year ago
2.0.0
1 year ago
1.3.3
1 year ago
1.3.2
1 year ago
1.3.1
1 year ago
1.3.0
1 year ago
1.2.0
1 year ago
1.1.3
1 year ago
1.1.2
1 year ago
1.1.1
1 year ago
1.1.0
1 year ago
1.0.7
1 year ago
1.0.6
1 year ago
1.0.5
1 year ago
1.0.4
1 year ago
1.0.3
1 year ago
1.0.2
1 year ago
1.0.1
1 year ago
1.0.0
1 year ago