nestjs-paginate 12.6.0 → 12.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +44 -0
- package/lib/swagger/api-paginated-query.decorator.d.ts +6 -0
- package/lib/swagger/api-paginated-query.decorator.js +64 -38
- package/lib/swagger/api-paginated-query.decorator.js.map +1 -1
- package/lib/swagger/pagination-docs.spec.js +11 -11
- package/lib/swagger/pagination-docs.spec.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -680,6 +680,50 @@ There is also some syntax sugar for this, and you can use only one decorator `@P
|
|
|
680
680
|
}
|
|
681
681
|
```
|
|
682
682
|
|
|
683
|
+
It is also possible to customize a swagger UI completely or partially, by following the default implementation and creating your own version of PaginatedSwaggerDocs decorator
|
|
684
|
+
|
|
685
|
+
Let's say you want some custom appearance for SortBy, you need to create a decorator for it
|
|
686
|
+
|
|
687
|
+
```typescript
|
|
688
|
+
export function CustomSortBy(paginationConfig: PaginateConfig<any>) {
|
|
689
|
+
return ApiQuery({
|
|
690
|
+
name: 'sortBy',
|
|
691
|
+
isArray: true,
|
|
692
|
+
description: `My custom sort by description`,
|
|
693
|
+
required: false,
|
|
694
|
+
type: 'string',
|
|
695
|
+
})
|
|
696
|
+
}
|
|
697
|
+
```
|
|
698
|
+
|
|
699
|
+
Now you can create your version of the whole docs decorator and use it
|
|
700
|
+
|
|
701
|
+
```typescript
|
|
702
|
+
|
|
703
|
+
const CustomApiPaginationQuery = (paginationConfig: PaginateConfig<any>) => {
|
|
704
|
+
return applyDecorators(
|
|
705
|
+
...[
|
|
706
|
+
Page(),
|
|
707
|
+
Limit(paginationConfig),
|
|
708
|
+
Where(paginationConfig),
|
|
709
|
+
CustomSortBy(paginationConfig),
|
|
710
|
+
Search(paginationConfig),
|
|
711
|
+
SearchBy(paginationConfig),
|
|
712
|
+
Select(paginationConfig),
|
|
713
|
+
].filter((v): v is MethodDecorator => v !== undefined)
|
|
714
|
+
)
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
function CustomPaginatedSwaggerDocs<DTO extends Type<unknown>>(dto: DTO, paginatedConfig: PaginateConfig<any>) {
|
|
718
|
+
return applyDecorators(ApiOkPaginatedResponse(dto, paginatedConfig), CustomApiPaginationQuery(paginatedConfig))
|
|
719
|
+
}
|
|
720
|
+
|
|
721
|
+
```
|
|
722
|
+
|
|
723
|
+
You can use CustomPaginatedSwaggerDocs instead of default PaginatedSwaggerDocs
|
|
724
|
+
|
|
725
|
+
|
|
726
|
+
|
|
683
727
|
## Troubleshooting
|
|
684
728
|
|
|
685
729
|
The package does not report error reasons in the response bodies. They are instead
|
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
import { PaginateConfig } from '../paginate';
|
|
2
2
|
export declare function SortBy(paginationConfig: PaginateConfig<any>): MethodDecorator & ClassDecorator;
|
|
3
|
+
export declare function Limit(paginationConfig: PaginateConfig<any>): MethodDecorator & ClassDecorator;
|
|
4
|
+
export declare function Select(paginationConfig: PaginateConfig<any>): MethodDecorator & ClassDecorator;
|
|
5
|
+
export declare function Where(paginationConfig: PaginateConfig<any>): <TFunction extends Function, Y>(target: TFunction | object, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
|
|
6
|
+
export declare function Page(): MethodDecorator & ClassDecorator;
|
|
7
|
+
export declare function Search(paginateConfig: PaginateConfig<any>): MethodDecorator & ClassDecorator;
|
|
8
|
+
export declare function SearchBy(paginateConfig: PaginateConfig<any>): MethodDecorator & ClassDecorator;
|
|
3
9
|
export declare const ApiPaginationQuery: (paginationConfig: PaginateConfig<any>) => <TFunction extends Function, Y>(target: TFunction | object, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
|
|
@@ -2,38 +2,58 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ApiPaginationQuery = void 0;
|
|
4
4
|
exports.SortBy = SortBy;
|
|
5
|
+
exports.Limit = Limit;
|
|
6
|
+
exports.Select = Select;
|
|
7
|
+
exports.Where = Where;
|
|
8
|
+
exports.Page = Page;
|
|
9
|
+
exports.Search = Search;
|
|
10
|
+
exports.SearchBy = SearchBy;
|
|
5
11
|
const common_1 = require("@nestjs/common");
|
|
6
12
|
const swagger_1 = require("@nestjs/swagger");
|
|
7
13
|
const filter_1 = require("../filter");
|
|
8
14
|
const paginate_1 = require("../paginate");
|
|
9
15
|
const global_config_1 = require("../global-config");
|
|
16
|
+
const helper_1 = require("../helper");
|
|
10
17
|
const DEFAULT_VALUE_KEY = 'Default Value';
|
|
18
|
+
const allFilterSuffixes = Object.values(paginate_1.FilterSuffix).map((v) => v.toString());
|
|
11
19
|
function p(key, value) {
|
|
12
|
-
return
|
|
13
|
-
|
|
14
|
-
|
|
20
|
+
return `
|
|
21
|
+
**${key}:** ${value}
|
|
22
|
+
`;
|
|
15
23
|
}
|
|
16
24
|
function li(key, values) {
|
|
17
|
-
return
|
|
25
|
+
return `**${key}**
|
|
26
|
+
${values.map((v) => `- ${v}`).join('\n\n')}`;
|
|
18
27
|
}
|
|
19
28
|
function SortBy(paginationConfig) {
|
|
29
|
+
const sortableColumnNotAvailable = (0, helper_1.isNil)(paginationConfig.sortableColumns) || paginationConfig.sortableColumns.length === 0;
|
|
30
|
+
if ((0, helper_1.isNil)(paginationConfig.defaultSortBy) && sortableColumnNotAvailable) {
|
|
31
|
+
// no sorting allowed or predefined
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
20
34
|
const defaultSortMessage = paginationConfig.defaultSortBy
|
|
21
35
|
? paginationConfig.defaultSortBy.map(([col, order]) => `${col}:${order}`).join(',')
|
|
22
|
-
: 'No default sorting specified, the result order is not guaranteed';
|
|
36
|
+
: 'No default sorting specified, the result order is not guaranteed if not provided';
|
|
23
37
|
const sortBy = paginationConfig.sortableColumns.reduce((prev, curr) => {
|
|
24
38
|
return [...prev, `${curr}:ASC`, `${curr}:DESC`];
|
|
25
39
|
}, []);
|
|
40
|
+
const exampleValue = sortableColumnNotAvailable
|
|
41
|
+
? 'Allowed sortable columns are not provided, only default sorting will be used'
|
|
42
|
+
: paginationConfig.sortableColumns
|
|
43
|
+
.slice(0, 2)
|
|
44
|
+
.map((col) => `sortBy=${col}:DESC`)
|
|
45
|
+
.join('&');
|
|
26
46
|
return (0, swagger_1.ApiQuery)({
|
|
27
47
|
name: 'sortBy',
|
|
28
48
|
isArray: true,
|
|
29
49
|
enum: sortBy,
|
|
30
50
|
description: `Parameter to sort by.
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
51
|
+
To sort by multiple fields, just provide query param multiple types. The order in url defines an order of sorting
|
|
52
|
+
${p('Format', '{fieldName}:{DIRECTION}')}
|
|
53
|
+
${p('Example', exampleValue)}
|
|
54
|
+
${p('Default Value', defaultSortMessage)}
|
|
55
|
+
${li('Available Fields', paginationConfig.sortableColumns)}
|
|
56
|
+
`,
|
|
37
57
|
required: false,
|
|
38
58
|
type: 'string',
|
|
39
59
|
});
|
|
@@ -43,12 +63,15 @@ function Limit(paginationConfig) {
|
|
|
43
63
|
return (0, swagger_1.ApiQuery)({
|
|
44
64
|
name: 'limit',
|
|
45
65
|
description: `Number of records per page.
|
|
46
|
-
${p('Example', '20')}
|
|
47
|
-
${p(DEFAULT_VALUE_KEY, ((_a = paginationConfig === null || paginationConfig === void 0 ? void 0 : paginationConfig.defaultLimit) === null || _a === void 0 ? void 0 : _a.toString()) || global_config_1.default.defaultLimit.toString())}
|
|
48
|
-
${p('Max Value', ((_b = paginationConfig.maxLimit) === null || _b === void 0 ? void 0 : _b.toString()) || global_config_1.default.defaultMaxLimit.toString())}
|
|
49
66
|
|
|
50
|
-
|
|
51
|
-
|
|
67
|
+
${p('Example', global_config_1.default.defaultLimit.toString())}
|
|
68
|
+
|
|
69
|
+
${p(DEFAULT_VALUE_KEY, ((_a = paginationConfig === null || paginationConfig === void 0 ? void 0 : paginationConfig.defaultLimit) === null || _a === void 0 ? void 0 : _a.toString()) || global_config_1.default.defaultLimit.toString())}
|
|
70
|
+
|
|
71
|
+
${p('Max Value', ((_b = paginationConfig.maxLimit) === null || _b === void 0 ? void 0 : _b.toString()) || global_config_1.default.defaultMaxLimit.toString())}
|
|
72
|
+
|
|
73
|
+
If provided value is greater than max value, max value will be applied.
|
|
74
|
+
`,
|
|
52
75
|
required: false,
|
|
53
76
|
type: 'number',
|
|
54
77
|
});
|
|
@@ -60,9 +83,9 @@ function Select(paginationConfig) {
|
|
|
60
83
|
return (0, swagger_1.ApiQuery)({
|
|
61
84
|
name: 'select',
|
|
62
85
|
description: `List of fields to select.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
86
|
+
${p('Example', paginationConfig.select.slice(0, 5).join(','))}
|
|
87
|
+
${p(DEFAULT_VALUE_KEY, 'By default all fields returns. If you want to select only some fields, provide them in query param')}
|
|
88
|
+
`,
|
|
66
89
|
required: false,
|
|
67
90
|
type: 'string',
|
|
68
91
|
});
|
|
@@ -73,18 +96,21 @@ function Where(paginationConfig) {
|
|
|
73
96
|
const allColumnsDecorators = Object.entries(paginationConfig.filterableColumns)
|
|
74
97
|
.map(([fieldName, filterOperations]) => {
|
|
75
98
|
const operations = filterOperations === true || filterOperations === undefined
|
|
76
|
-
? [
|
|
77
|
-
...Object.values(filter_1.FilterComparator),
|
|
78
|
-
...Object.values(paginate_1.FilterSuffix),
|
|
79
|
-
...Object.values(paginate_1.FilterOperator),
|
|
80
|
-
]
|
|
99
|
+
? [...Object.values(paginate_1.FilterOperator), ...Object.values(paginate_1.FilterSuffix)]
|
|
81
100
|
: filterOperations.map((fo) => fo.toString());
|
|
101
|
+
const operationsForExample = operations
|
|
102
|
+
.filter((v) => !allFilterSuffixes.includes(v))
|
|
103
|
+
.sort()
|
|
104
|
+
.slice(0, 2) || [];
|
|
82
105
|
return (0, swagger_1.ApiQuery)({
|
|
83
106
|
name: `filter.${fieldName}`,
|
|
84
107
|
description: `Filter by ${fieldName} query param.
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
108
|
+
${p('Format', `filter.${fieldName}={$not}:OPERATION:VALUE`)}
|
|
109
|
+
|
|
110
|
+
${p('Example', operationsForExample.length === 0
|
|
111
|
+
? 'No filtering allowed'
|
|
112
|
+
: operationsForExample.map((v) => `filter.${fieldName}=${v}:John Doe`).join('&'))}
|
|
113
|
+
${li('Available Operations', [...operations, ...Object.values(filter_1.FilterComparator)])}`,
|
|
88
114
|
required: false,
|
|
89
115
|
type: 'string',
|
|
90
116
|
isArray: true,
|
|
@@ -96,10 +122,10 @@ function Where(paginationConfig) {
|
|
|
96
122
|
function Page() {
|
|
97
123
|
return (0, swagger_1.ApiQuery)({
|
|
98
124
|
name: 'page',
|
|
99
|
-
description: `Page number to retrieve.If you provide invalid value the default page number will applied
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
125
|
+
description: `Page number to retrieve. If you provide invalid value the default page number will applied
|
|
126
|
+
${p('Example', '1')}
|
|
127
|
+
${p(DEFAULT_VALUE_KEY, '1')}
|
|
128
|
+
`,
|
|
103
129
|
required: false,
|
|
104
130
|
type: 'number',
|
|
105
131
|
});
|
|
@@ -110,9 +136,9 @@ function Search(paginateConfig) {
|
|
|
110
136
|
return (0, swagger_1.ApiQuery)({
|
|
111
137
|
name: 'search',
|
|
112
138
|
description: `Search term to filter result values
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
139
|
+
${p('Example', 'John')}
|
|
140
|
+
${p(DEFAULT_VALUE_KEY, 'No default value')}
|
|
141
|
+
`,
|
|
116
142
|
required: false,
|
|
117
143
|
type: 'string',
|
|
118
144
|
});
|
|
@@ -123,10 +149,10 @@ function SearchBy(paginateConfig) {
|
|
|
123
149
|
return (0, swagger_1.ApiQuery)({
|
|
124
150
|
name: 'searchBy',
|
|
125
151
|
description: `List of fields to search by term to filter result values
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
152
|
+
${p('Example', paginateConfig.searchableColumns.slice(0, Math.min(5, paginateConfig.searchableColumns.length)).join(','))}
|
|
153
|
+
${p(DEFAULT_VALUE_KEY, 'By default all fields mentioned below will be used to search by term')}
|
|
154
|
+
${li('Available Fields', paginateConfig.searchableColumns)}
|
|
155
|
+
`,
|
|
130
156
|
required: false,
|
|
131
157
|
isArray: true,
|
|
132
158
|
type: 'string',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-paginated-query.decorator.js","sourceRoot":"","sources":["../../src/swagger/api-paginated-query.decorator.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"api-paginated-query.decorator.js","sourceRoot":"","sources":["../../src/swagger/api-paginated-query.decorator.ts"],"names":[],"mappings":";;;AAsBA,wBAsCC;AAED,sBAgBC;AAED,wBAiBC;AAED,sBAoCC;AAED,oBAUC;AAED,wBAYC;AAED,4BAiBC;AApLD,2CAAgD;AAChD,6CAA0C;AAC1C,sCAA4C;AAC5C,0CAA0E;AAC1E,oDAA2C;AAC3C,sCAAiC;AAEjC,MAAM,iBAAiB,GAAG,eAAe,CAAA;AAEzC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,uBAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;AAE9E,SAAS,CAAC,CAAC,GAAkE,EAAE,KAAa;IACxF,OAAO;IACP,GAAG,OAAO,KAAK;CAClB,CAAA;AACD,CAAC;AAED,SAAS,EAAE,CAAC,GAAgC,EAAE,MAAgB;IAC1D,OAAO,KAAK,GAAG;EACjB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA;AAC5C,CAAC;AAED,SAAgB,MAAM,CAAC,gBAAqC;IACxD,MAAM,0BAA0B,GAC5B,IAAA,cAAK,EAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,gBAAgB,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,CAAA;IAE5F,IAAI,IAAA,cAAK,EAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,0BAA0B,EAAE,CAAC;QACtE,mCAAmC;QACnC,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,aAAa;QACrD,CAAC,CAAC,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACnF,CAAC,CAAC,kFAAkF,CAAA;IAExF,MAAM,MAAM,GAAG,gBAAgB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;QAClE,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,CAAA;IACnD,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,YAAY,GAAG,0BAA0B;QAC3C,CAAC,CAAC,8EAA8E;QAChF,CAAC,CAAC,gBAAgB,CAAC,eAAe;aAC3B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,GAAG,OAAO,CAAC;aAClC,IAAI,CAAC,GAAG,CAAC,CAAA;IAEpB,OAAO,IAAA,kBAAQ,EAAC;QACZ,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE;;EAEnB,CAAC,CAAC,QAAQ,EAAE,yBAAyB,CAAC;EACtC,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC;EAC1B,CAAC,CAAC,eAAe,EAAE,kBAAkB,CAAC;EACtC,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,eAAe,CAAC;CACzD;QACO,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,QAAQ;KACjB,CAAC,CAAA;AACN,CAAC;AAED,SAAgB,KAAK,CAAC,gBAAqC;;IACvD,OAAO,IAAA,kBAAQ,EAAC;QACZ,IAAI,EAAE,OAAO;QACb,WAAW,EAAE;;EAEnB,CAAC,CAAC,SAAS,EAAE,uBAAY,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;;EAElD,CAAC,CAAC,iBAAiB,EAAE,CAAA,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,YAAY,0CAAE,QAAQ,EAAE,KAAI,uBAAY,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;;EAExG,CAAC,CAAC,WAAW,EAAE,CAAA,MAAA,gBAAgB,CAAC,QAAQ,0CAAE,QAAQ,EAAE,KAAI,uBAAY,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;;;CAGjG;QACO,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,QAAQ;KACjB,CAAC,CAAA;AACN,CAAC;AAED,SAAgB,MAAM,CAAC,gBAAqC;IACxD,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;QAC3B,OAAM;IACV,CAAC;IAED,OAAO,IAAA,kBAAQ,EAAC;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE;EACnB,CAAC,CAAC,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EAC3D,CAAC,CACC,iBAAiB,EACjB,oGAAoG,CACvG;CACA;QACO,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,QAAQ;KACjB,CAAC,CAAA;AACN,CAAC;AAED,SAAgB,KAAK,CAAC,gBAAqC;IACvD,IAAI,CAAC,gBAAgB,CAAC,iBAAiB;QAAE,OAAM;IAE/C,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;SAC1E,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,gBAAgB,CAAC,EAAE,EAAE;QACnC,MAAM,UAAU,GACZ,gBAAgB,KAAK,IAAI,IAAI,gBAAgB,KAAK,SAAS;YACvD,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,yBAAc,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,uBAAY,CAAC,CAAC;YACpE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;QAErD,MAAM,oBAAoB,GACtB,UAAU;aACL,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAC7C,IAAI,EAAE;aACN,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAE1B,OAAO,IAAA,kBAAQ,EAAC;YACZ,IAAI,EAAE,UAAU,SAAS,EAAE;YAC3B,WAAW,EAAE,aAAa,SAAS;EACjD,CAAC,CAAC,QAAQ,EAAE,UAAU,SAAS,yBAAyB,CAAC;;EAEzD,CAAC,CACC,SAAS,EACT,oBAAoB,CAAC,MAAM,KAAK,CAAC;gBAC7B,CAAC,CAAC,sBAAsB;gBACxB,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,SAAS,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACvF;EACC,EAAE,CAAC,sBAAsB,EAAE,CAAC,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,yBAAgB,CAAC,CAAC,CAAC,EAAE;YACnE,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,IAAI;SAChB,CAAC,CAAA;IACN,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAA;IAEnC,OAAO,IAAA,wBAAe,EAAC,GAAG,oBAAoB,CAAC,CAAA;AACnD,CAAC;AAED,SAAgB,IAAI;IAChB,OAAO,IAAA,kBAAQ,EAAC;QACZ,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE;EACnB,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC;EACjB,CAAC,CAAC,iBAAiB,EAAE,GAAG,CAAC;CAC1B;QACO,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,QAAQ;KACjB,CAAC,CAAA;AACN,CAAC;AAED,SAAgB,MAAM,CAAC,cAAmC;IACtD,IAAI,CAAC,cAAc,CAAC,iBAAiB;QAAE,OAAM;IAE7C,OAAO,IAAA,kBAAQ,EAAC;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE;EACnB,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC;EACpB,CAAC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;CACzC;QACO,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,QAAQ;KACjB,CAAC,CAAA;AACN,CAAC;AAED,SAAgB,QAAQ,CAAC,cAAmC;IACxD,IAAI,CAAC,cAAc,CAAC,iBAAiB;QAAE,OAAM;IAE7C,OAAO,IAAA,kBAAQ,EAAC;QACZ,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE;EACnB,CAAC,CACC,SAAS,EACT,cAAc,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAC5G;EACC,CAAC,CAAC,iBAAiB,EAAE,sEAAsE,CAAC;EAC5F,EAAE,CAAC,kBAAkB,EAAE,cAAc,CAAC,iBAAiB,CAAC;CACzD;QACO,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,QAAQ;KACjB,CAAC,CAAA;AACN,CAAC;AAEM,MAAM,kBAAkB,GAAG,CAAC,gBAAqC,EAAE,EAAE;IACxE,OAAO,IAAA,wBAAe,EAClB,GAAG;QACC,IAAI,EAAE;QACN,KAAK,CAAC,gBAAgB,CAAC;QACvB,KAAK,CAAC,gBAAgB,CAAC;QACvB,MAAM,CAAC,gBAAgB,CAAC;QACxB,MAAM,CAAC,gBAAgB,CAAC;QACxB,QAAQ,CAAC,gBAAgB,CAAC;QAC1B,MAAM,CAAC,gBAAgB,CAAC;KAC3B,CAAC,MAAM,CAAC,CAAC,CAAC,EAAwB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CACzD,CAAA;AACL,CAAC,CAAA;AAZY,QAAA,kBAAkB,sBAY9B"}
|
|
@@ -69,7 +69,7 @@ describe('PaginatedEndpoint decorator', () => {
|
|
|
69
69
|
name: 'page',
|
|
70
70
|
required: false,
|
|
71
71
|
in: 'query',
|
|
72
|
-
description: 'Page number to retrieve.If you provide invalid value the default page number will applied\n
|
|
72
|
+
description: 'Page number to retrieve. If you provide invalid value the default page number will applied\n\n**Example:** 1\n\n\n**Default Value:** 1\n\n',
|
|
73
73
|
schema: {
|
|
74
74
|
type: 'number',
|
|
75
75
|
},
|
|
@@ -78,7 +78,7 @@ describe('PaginatedEndpoint decorator', () => {
|
|
|
78
78
|
name: 'limit',
|
|
79
79
|
required: false,
|
|
80
80
|
in: 'query',
|
|
81
|
-
description: 'Number of records per page.\n
|
|
81
|
+
description: 'Number of records per page.\n\n\n**Example:** 20\n\n\n\n**Default Value:** 20\n\n\n\n**Max Value:** 100\n\n\nIf provided value is greater than max value, max value will be applied.\n',
|
|
82
82
|
schema: {
|
|
83
83
|
type: 'number',
|
|
84
84
|
},
|
|
@@ -87,7 +87,7 @@ describe('PaginatedEndpoint decorator', () => {
|
|
|
87
87
|
name: 'sortBy',
|
|
88
88
|
required: false,
|
|
89
89
|
in: 'query',
|
|
90
|
-
description: 'Parameter to sort by.\
|
|
90
|
+
description: 'Parameter to sort by.\nTo sort by multiple fields, just provide query param multiple types. The order in url defines an order of sorting\n\n**Format:** {fieldName}:{DIRECTION}\n\n\n**Example:** sortBy=id:DESC\n\n\n**Default Value:** No default sorting specified, the result order is not guaranteed if not provided\n\n**Available Fields**\n- id\n',
|
|
91
91
|
schema: {
|
|
92
92
|
type: 'array',
|
|
93
93
|
items: {
|
|
@@ -146,7 +146,7 @@ describe('PaginatedEndpoint decorator', () => {
|
|
|
146
146
|
name: 'page',
|
|
147
147
|
required: false,
|
|
148
148
|
in: 'query',
|
|
149
|
-
description: 'Page number to retrieve.If you provide invalid value the default page number will applied\n
|
|
149
|
+
description: 'Page number to retrieve. If you provide invalid value the default page number will applied\n\n**Example:** 1\n\n\n**Default Value:** 1\n\n',
|
|
150
150
|
schema: {
|
|
151
151
|
type: 'number',
|
|
152
152
|
},
|
|
@@ -155,7 +155,7 @@ describe('PaginatedEndpoint decorator', () => {
|
|
|
155
155
|
name: 'limit',
|
|
156
156
|
required: false,
|
|
157
157
|
in: 'query',
|
|
158
|
-
description: 'Number of records per page.\n
|
|
158
|
+
description: 'Number of records per page.\n\n\n**Example:** 20\n\n\n\n**Default Value:** 20\n\n\n\n**Max Value:** 100\n\n\nIf provided value is greater than max value, max value will be applied.\n',
|
|
159
159
|
schema: {
|
|
160
160
|
type: 'number',
|
|
161
161
|
},
|
|
@@ -164,7 +164,7 @@ describe('PaginatedEndpoint decorator', () => {
|
|
|
164
164
|
name: 'filter.id',
|
|
165
165
|
required: false,
|
|
166
166
|
in: 'query',
|
|
167
|
-
description: 'Filter by id query param.\n
|
|
167
|
+
description: 'Filter by id query param.\n\n**Format:** filter.id={$not}:OPERATION:VALUE\n\n\n\n**Example:** filter.id=$btw:John Doe&filter.id=$contains:John Doe\n\n**Available Operations**\n- $eq\n\n- $gt\n\n- $gte\n\n- $in\n\n- $null\n\n- $lt\n\n- $lte\n\n- $btw\n\n- $ilike\n\n- $sw\n\n- $contains\n\n- $not\n\n- $and\n\n- $or',
|
|
168
168
|
schema: {
|
|
169
169
|
type: 'array',
|
|
170
170
|
items: {
|
|
@@ -176,7 +176,7 @@ describe('PaginatedEndpoint decorator', () => {
|
|
|
176
176
|
name: 'filter.name',
|
|
177
177
|
required: false,
|
|
178
178
|
in: 'query',
|
|
179
|
-
description: 'Filter by name query param.\n
|
|
179
|
+
description: 'Filter by name query param.\n\n**Format:** filter.name={$not}:OPERATION:VALUE\n\n\n\n**Example:** filter.name=$eq:John Doe\n\n**Available Operations**\n- $eq\n\n- $not\n\n- $and\n\n- $or',
|
|
180
180
|
schema: {
|
|
181
181
|
type: 'array',
|
|
182
182
|
items: {
|
|
@@ -188,7 +188,7 @@ describe('PaginatedEndpoint decorator', () => {
|
|
|
188
188
|
name: 'sortBy',
|
|
189
189
|
required: false,
|
|
190
190
|
in: 'query',
|
|
191
|
-
description: 'Parameter to sort by.\
|
|
191
|
+
description: 'Parameter to sort by.\nTo sort by multiple fields, just provide query param multiple types. The order in url defines an order of sorting\n\n**Format:** {fieldName}:{DIRECTION}\n\n\n**Example:** sortBy=id:DESC\n\n\n**Default Value:** id:DESC\n\n**Available Fields**\n- id\n',
|
|
192
192
|
schema: {
|
|
193
193
|
type: 'array',
|
|
194
194
|
items: {
|
|
@@ -201,7 +201,7 @@ describe('PaginatedEndpoint decorator', () => {
|
|
|
201
201
|
name: 'search',
|
|
202
202
|
required: false,
|
|
203
203
|
in: 'query',
|
|
204
|
-
description: 'Search term to filter result values\n
|
|
204
|
+
description: 'Search term to filter result values\n\n**Example:** John\n\n\n**Default Value:** No default value\n\n',
|
|
205
205
|
schema: {
|
|
206
206
|
type: 'string',
|
|
207
207
|
},
|
|
@@ -210,7 +210,7 @@ describe('PaginatedEndpoint decorator', () => {
|
|
|
210
210
|
name: 'searchBy',
|
|
211
211
|
required: false,
|
|
212
212
|
in: 'query',
|
|
213
|
-
description: 'List of fields to search by term to filter result values\n
|
|
213
|
+
description: 'List of fields to search by term to filter result values\n\n**Example:** name\n\n\n**Default Value:** By default all fields mentioned below will be used to search by term\n\n**Available Fields**\n- name\n',
|
|
214
214
|
schema: {
|
|
215
215
|
type: 'array',
|
|
216
216
|
items: {
|
|
@@ -222,7 +222,7 @@ describe('PaginatedEndpoint decorator', () => {
|
|
|
222
222
|
name: 'select',
|
|
223
223
|
required: false,
|
|
224
224
|
in: 'query',
|
|
225
|
-
description: 'List of fields to select.\n
|
|
225
|
+
description: 'List of fields to select.\n\n**Example:** id,name\n\n\n**Default Value:** By default all fields returns. If you want to select only some fields, provide them in query param\n\n',
|
|
226
226
|
schema: {
|
|
227
227
|
type: 'string',
|
|
228
228
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination-docs.spec.js","sourceRoot":"","sources":["../../src/swagger/pagination-docs.spec.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,2CAAgD;AAChD,6CAAgE;AAChE,0CAA0E;AAC1E,6CAAsC;AACtC,iGAA6E;AAC7E,mFAAoE;AACpE,+FAA8E;AAE9E,MAAM,sBAAsB,GAAG;IAC3B,eAAe,EAAE,CAAC,IAAI,CAAC;CACQ,CAAA;AAEnC,MAAM,WAAW,GAAG,gCACb,sBAAsB,KACzB,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAC/B,YAAY,EAAE,EAAE,EAChB,QAAQ,EAAE,GAAG,EACb,iBAAiB,EAAE;QACf,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,CAAC,yBAAc,CAAC,EAAE,EAAE,uBAAY,CAAC,GAAG,CAAC;KAC9C,EACD,iBAAiB,EAAE,CAAC,MAAM,CAAC,EAC3B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,GACS,CAAA;AAEnC,MAAM,OAAO;CAGZ;AAED,wDAAwD;AACxD,KAAK,UAAU,+BAA+B,CAAI,UAAmB,EAAE,MAAyB;IAC5F,MAAM,cAAc;QAGT,IAAI;YACP,EAAE;QACN,CAAC;QAKM,QAAQ;YACX,EAAE;QACN,CAAC;KACJ;IAVU;QAFN,IAAA,2DAAoB,EAAC,UAAU,EAAE,MAAM,CAAC;QACxC,IAAA,YAAG,EAAC,OAAO,CAAC;;;;8CAGZ;IAKM;QAHN,IAAA,kDAAkB,EAAC,MAAM,CAAC;QAC1B,IAAA,4DAAsB,EAAC,UAAU,EAAE,MAAM,CAAC;QAC1C,IAAA,aAAI,EAAC,OAAO,CAAC;;;;kDAGb;IAGL,MAAM,aAAa,GAAG,MAAM,cAAI,CAAC,mBAAmB,CAAC;QACjD,WAAW,EAAE,CAAC,cAAc,CAAC;KAChC,CAAC,CAAC,OAAO,EAAE,CAAA;IACZ,MAAM,OAAO,GAAG,aAAa,CAAC,qBAAqB,EAAE,CAAA;IAErD,OAAO,uBAAa,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,yBAAe,EAAE,CAAC,KAAK,EAAE,CAAC,CAAA;AAC/E,CAAC;AAED,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,iBAAiB,GAAG,MAAM,+BAA+B,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAA;QAEhG,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,aAAa,CACjE,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CACnD,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,iBAAiB,GAAG,MAAM,+BAA+B,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAA;QAEhG,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,UAAU,CAAA;QAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;YACzB;gBACI,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,KAAK;gBACf,EAAE,EAAE,OAAO;gBACX,WAAW,EACP,
|
|
1
|
+
{"version":3,"file":"pagination-docs.spec.js","sourceRoot":"","sources":["../../src/swagger/pagination-docs.spec.ts"],"names":[],"mappings":"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"}
|