Yeoman

Introduction

  • Yeoman is a generic scaffolding system allowing the creation of any kind of app. It allows for rapidly getting started on new projects and streamlines the maintenance of existing projects.

Templates

  • Create template

yo generator
  • Customize the template and declare the output format

controller.txt
import {
  Body,
  Controller,
  Delete,
  Get,
  Param,
  Patch,
  Post,
  Query,
} from "@nestjs/common";
import { ApiBearerAuth } from "@nestjs/swagger";

import { PageQueryDto } from "@/common/page-query.dto";
import { ApiPageResponse } from "@/common/page-response.decorator";
import { <%= entityUpper %> } from "@/<%= entityLower %>/entities/<%= entityLower %>.entity";

import { Create<%= entityUpper %>Dto } from "./dto/create-<%= entityLower %>.dto";
import { Update<%= entityUpper %>Dto } from "./dto/update-<%= entityLower %>.dto";
import { <%= entityUpper %>Service } from "./<%= entityLower %>.service";

@Controller("<%= entityPlural %>")
@ApiBearerAuth("JWT")
export class <%= entityUpper %>Controller {
  constructor(private readonly <%= entityLower %>Service: <%= entityUpper %>Service) {}

  @Post()
  create(@Body() create<%= entityUpper %>Dto: Create<%= entityUpper %>Dto): Promise<<%= entityUpper %> | null> {
    return this.<%= entityLower %>Service.create(create<%= entityUpper %>Dto);
  }

  @Get()
  @ApiPageResponse(<%= entityUpper %>)
  findMany(@Query() pageQueryDto: PageQueryDto) {
    return this.<%= entityLower %>Service.findAndCount({}, pageQueryDto);
  }

  @Get(":id")
  findOne(@Param("id") id: string): Promise<<%= entityUpper %> | null> {
    return this.<%= entityLower %>Service.findById(id);
  }

  @Patch(":id")
  update(@Param("id") id: string, @Body() update<%= entityUpper %>Dto: Update<%= entityUpper %>Dto) {
    return this.<%= entityLower %>Service.update(id, update<%= entityUpper %>Dto);
  }

  @Delete(":id")
  remove(@Param("id") id: string) {
    return this.<%= entityLower %>Service.delete(id);
  }
}
  • Generate the file

Reference

Last updated

Was this helpful?