Skip to content

Commit cecfea0

Browse files
committed
feat: add paginated decorator
1 parent 8ca5478 commit cecfea0

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

src/common/base/base.controller.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { ApiResponse } from '@nestjs/swagger';
22
import { Get, Param, Query } from '@nestjs/common';
33
import { IQuery } from '../interfaces/query.interface';
4-
import { PaginatedDecorator } from '../decorators/find-many.decorator';
4+
import { PaginatedDecorator } from '../decorators/paginated.decorator';
55

66
type Constructor<T> = new (...args: any[]) => T;
77

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import { applyDecorators, Get, UsePipes } from '@nestjs/common';
2+
import { ApiOperation, ApiResponse } from '@nestjs/swagger';
3+
import { PaginatedQueryDto } from '../dto/query/paginated.query.dto';
4+
import { ToolsQueryDto } from '../dto/query/tools.query.dto';
5+
import { QueryPipe } from '../pipes/query.pipe';
6+
import { ApiDotNotationQuery } from './api-dot-notation-query.decorator';
7+
8+
export const PaginatedDecorator = (
9+
entity: any,
10+
entityDto: any,
11+
description?: string,
12+
) => {
13+
return applyDecorators(
14+
UsePipes(new QueryPipe()),
15+
ApiOperation({ summary: description }),
16+
ApiDotNotationQuery(ToolsQueryDto, PaginatedQueryDto, entity),
17+
ApiResponse({ type: entityDto, isArray: true }),
18+
);
19+
};

0 commit comments

Comments
 (0)