nicot 1.0.54 → 1.0.55
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.
|
@@ -2,6 +2,7 @@ import { ClassType } from '../utility/insert-field';
|
|
|
2
2
|
import { OperationObject } from '@nestjs/swagger/dist/interfaces/open-api-spec.interface';
|
|
3
3
|
export interface RestfulFactoryOptions<T> {
|
|
4
4
|
fieldsToOmit?: (keyof T)[];
|
|
5
|
+
prefix?: string;
|
|
5
6
|
}
|
|
6
7
|
export declare class RestfulFactory<T> {
|
|
7
8
|
readonly entityClass: ClassType<T>;
|
|
@@ -25,6 +26,7 @@ export declare class RestfulFactory<T> {
|
|
|
25
26
|
readonly updateDto: ClassType<T>;
|
|
26
27
|
readonly idType: Function;
|
|
27
28
|
constructor(entityClass: ClassType<T>, options?: RestfulFactoryOptions<T>);
|
|
29
|
+
private usePrefix;
|
|
28
30
|
create(extras?: Partial<OperationObject>): MethodDecorator;
|
|
29
31
|
createParam(): ParameterDecorator;
|
|
30
32
|
findOne(extras?: Partial<OperationObject>): MethodDecorator;
|
|
@@ -33,9 +33,27 @@ class RestfulFactory {
|
|
|
33
33
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
34
34
|
this.idType = Reflect.getMetadata('design:type', this.entityClass.prototype, 'id');
|
|
35
35
|
}
|
|
36
|
+
usePrefix(methodDec, path) {
|
|
37
|
+
if (path) {
|
|
38
|
+
if (this.options.prefix) {
|
|
39
|
+
return methodDec(`${this.options.prefix}/${path}`);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
return methodDec(path);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
if (this.options.prefix) {
|
|
47
|
+
return methodDec(this.options.prefix);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
return methodDec();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
36
54
|
create(extras = {}) {
|
|
37
55
|
return (0, merge_1.MergeMethodDecorators)([
|
|
38
|
-
(
|
|
56
|
+
this.usePrefix(common_1.Post),
|
|
39
57
|
(0, common_1.HttpCode)(200),
|
|
40
58
|
(0, swagger_1.ApiOperation)({
|
|
41
59
|
summary: `Create a new ${this.entityClass.name}`,
|
|
@@ -54,7 +72,7 @@ class RestfulFactory {
|
|
|
54
72
|
}
|
|
55
73
|
findOne(extras = {}) {
|
|
56
74
|
return (0, merge_1.MergeMethodDecorators)([
|
|
57
|
-
(
|
|
75
|
+
this.usePrefix(common_1.Get, ':id'),
|
|
58
76
|
(0, swagger_1.ApiOperation)({
|
|
59
77
|
summary: `Find a ${this.entityClass.name} by id`,
|
|
60
78
|
...extras,
|
|
@@ -77,7 +95,7 @@ class RestfulFactory {
|
|
|
77
95
|
}
|
|
78
96
|
findAll(extras = {}) {
|
|
79
97
|
return (0, merge_1.MergeMethodDecorators)([
|
|
80
|
-
(
|
|
98
|
+
this.usePrefix(common_1.Get),
|
|
81
99
|
(0, swagger_1.ApiOperation)({ summary: `Find all ${this.entityClass.name}`, ...extras }),
|
|
82
100
|
(0, swagger_1.ApiOkResponse)({ type: this.entityArrayReturnMessageDto }),
|
|
83
101
|
]);
|
|
@@ -87,7 +105,7 @@ class RestfulFactory {
|
|
|
87
105
|
}
|
|
88
106
|
update(extras = {}) {
|
|
89
107
|
return (0, merge_1.MergeMethodDecorators)([
|
|
90
|
-
(
|
|
108
|
+
this.usePrefix(common_1.Patch, ':id'),
|
|
91
109
|
(0, common_1.HttpCode)(200),
|
|
92
110
|
(0, swagger_1.ApiOperation)({
|
|
93
111
|
summary: `Update a ${this.entityClass.name} by id`,
|
|
@@ -115,7 +133,7 @@ class RestfulFactory {
|
|
|
115
133
|
}
|
|
116
134
|
delete(extras = {}) {
|
|
117
135
|
return (0, merge_1.MergeMethodDecorators)([
|
|
118
|
-
(
|
|
136
|
+
this.usePrefix(common_1.Delete, ':id'),
|
|
119
137
|
(0, common_1.HttpCode)(200),
|
|
120
138
|
(0, swagger_1.ApiOperation)({
|
|
121
139
|
summary: `Delete a ${this.entityClass.name} by id`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restful.js","sourceRoot":"","sources":["../../../src/decorators/restful.ts"],"names":[],"mappings":";;;;;;AAAA,2CAUwB;AACxB,gCAMgB;AAChB,mCAAgD;AAEhD,6CAUyB;AACzB,mCAA0D;AAE1D,oDAAuB;AACvB,kDAAwD;AACxD,0DAAsD;
|
|
1
|
+
{"version":3,"file":"restful.js","sourceRoot":"","sources":["../../../src/decorators/restful.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED