refactor(plop): QueryDto 始终生成并在 controller 中使用
- dto.hbs: 移除 hasQueryDto 条件,始终生成 QueryDto 类 - controller.hbs: 始终导入使用 QueryDto 而非 PaginationQueryDto - hasQueryDto 现只控制是否提取查询字段,不影响类型声明 便于后续扩展查询参数,无需修改 controller 导入 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -28,9 +28,7 @@ import {
|
||||
{{pascalCase name}}DetailResponseDto,
|
||||
{{/if}}
|
||||
Paginated{{pascalCase name}}ResponseDto,
|
||||
{{#if hasQueryDto}}
|
||||
{{pascalCase name}}QueryDto,
|
||||
{{/if}}
|
||||
{{#each manyToMany}}
|
||||
Assign{{pascalCase name}}Dto,
|
||||
{{targetModel}}BriefDto,
|
||||
@@ -39,9 +37,6 @@ import {
|
||||
import { {{pascalCase name}}Service } from './{{kebabCase name}}.service';
|
||||
|
||||
import { JwtAuthGuard } from '@/auth/guards/jwt-auth.guard';
|
||||
{{#unless hasQueryDto}}
|
||||
import { PaginationQueryDto } from '@/common/crud/dto/pagination.dto';
|
||||
{{/unless}}
|
||||
import { RequirePermission } from '@/permission/decorators/require-permission.decorator';
|
||||
import { PermissionGuard } from '@/permission/guards/permission.guard';
|
||||
|
||||
@@ -64,8 +59,8 @@ export class {{pascalCase name}}Controller {
|
||||
@RequirePermission('{{kebabCase name}}:read')
|
||||
@ApiOperation({ summary: '获取所有{{chineseName}}(分页)' })
|
||||
@ApiOkResponse({ type: Paginated{{pascalCase name}}ResponseDto, description: '{{chineseName}}列表' })
|
||||
{{#if hasQueryDto}}
|
||||
findAll(@Query() query: {{pascalCase name}}QueryDto) {
|
||||
{{#if hasQueryDto}}
|
||||
{{#if (eq serviceType 'CrudService')}}
|
||||
const { {{#each queryFields}}{{name}}, {{/each}}...pagination } = query;
|
||||
const where: Prisma.{{pascalCase name}}WhereInput = {};
|
||||
@@ -82,24 +77,22 @@ export class {{pascalCase name}}Controller {
|
||||
{{else}}
|
||||
return this.{{camelCase name}}Service.findAllWithRelations(query);
|
||||
{{/if}}
|
||||
}
|
||||
{{else}}
|
||||
findAll(@Query() query: PaginationQueryDto) {
|
||||
{{#if (eq serviceType 'CrudService')}}
|
||||
return this.{{camelCase name}}Service.findAll(query);
|
||||
{{else}}
|
||||
return this.{{camelCase name}}Service.findAllWithRelations(query);
|
||||
{{/if}}
|
||||
}
|
||||
{{/if}}
|
||||
}
|
||||
|
||||
{{#if softDelete}}
|
||||
@Get('deleted')
|
||||
@RequirePermission('{{kebabCase name}}:read')
|
||||
@ApiOperation({ summary: '获取已删除的{{chineseName}}列表(分页)' })
|
||||
@ApiOkResponse({ type: Paginated{{pascalCase name}}ResponseDto, description: '已删除{{chineseName}}列表' })
|
||||
{{#if hasQueryDto}}
|
||||
findDeleted(@Query() query: {{pascalCase name}}QueryDto) {
|
||||
{{#if hasQueryDto}}
|
||||
const { {{#each queryFields}}{{name}}, {{/each}}...pagination } = query;
|
||||
const where: Prisma.{{pascalCase name}}WhereInput = {};
|
||||
{{#each queryFields}}
|
||||
@@ -112,12 +105,10 @@ export class {{pascalCase name}}Controller {
|
||||
}
|
||||
{{/each}}
|
||||
return this.{{camelCase name}}Service.findDeleted({ ...pagination, where });
|
||||
}
|
||||
{{else}}
|
||||
findDeleted(@Query() query: PaginationQueryDto) {
|
||||
return this.{{camelCase name}}Service.findDeleted(query);
|
||||
}
|
||||
{{/if}}
|
||||
}
|
||||
|
||||
{{/if}}
|
||||
@Get(':id')
|
||||
|
||||
@@ -155,7 +155,6 @@ export class Paginated{{pascalCase name}}ResponseDto extends createPaginatedResp
|
||||
{{pascalCase name}}ResponseDto,
|
||||
) {}
|
||||
|
||||
{{#if hasQueryDto}}
|
||||
/** {{chineseName}}查询 DTO */
|
||||
export class {{pascalCase name}}QueryDto extends PaginationQueryDto {
|
||||
{{#each queryFields}}
|
||||
@@ -165,4 +164,3 @@ export class {{pascalCase name}}QueryDto extends PaginationQueryDto {
|
||||
|
||||
{{/each}}
|
||||
}
|
||||
{{/if}}
|
||||
|
||||
Reference in New Issue
Block a user