@decaf-ts/for-nest 0.0.7 → 0.0.9

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.
Files changed (95) hide show
  1. package/README.md +22 -2
  2. package/dist/for-nest.cjs +1 -1
  3. package/dist/for-nest.cjs.map +1 -1
  4. package/dist/for-nest.js +1 -1
  5. package/dist/for-nest.js.map +1 -1
  6. package/lib/decaf-model/DecafModelModule.cjs +36 -0
  7. package/lib/decaf-model/DecafModelModule.d.ts +5 -0
  8. package/lib/decaf-model/DecafModelModule.js.map +1 -0
  9. package/lib/{model-module.cjs → decaf-model/FromModelController.cjs} +58 -52
  10. package/lib/decaf-model/FromModelController.d.ts +15 -0
  11. package/lib/decaf-model/FromModelController.js.map +1 -0
  12. package/lib/decaf-model/decorators/ApiOperationFromModel.cjs +44 -0
  13. package/lib/decaf-model/decorators/ApiOperationFromModel.d.ts +21 -0
  14. package/lib/decaf-model/decorators/ApiOperationFromModel.js.map +1 -0
  15. package/lib/decaf-model/decorators/ApiParamsFromModel.cjs +27 -0
  16. package/lib/decaf-model/decorators/ApiParamsFromModel.d.ts +13 -0
  17. package/lib/decaf-model/decorators/ApiParamsFromModel.js.map +1 -0
  18. package/lib/decaf-model/decorators/DecafParams.cjs +34 -0
  19. package/lib/decaf-model/decorators/DecafParams.d.ts +8 -0
  20. package/lib/decaf-model/decorators/DecafParams.js.map +1 -0
  21. package/lib/decaf-model/decorators/index.cjs +21 -0
  22. package/lib/decaf-model/decorators/index.d.ts +4 -0
  23. package/lib/decaf-model/decorators/index.js.map +1 -0
  24. package/lib/decaf-model/decorators/types.cjs +3 -0
  25. package/lib/decaf-model/decorators/types.d.ts +12 -0
  26. package/lib/decaf-model/decorators/types.js.map +1 -0
  27. package/lib/{decorators → decaf-model}/index.cjs +3 -2
  28. package/lib/decaf-model/index.d.ts +3 -0
  29. package/lib/decaf-model/index.js.map +1 -0
  30. package/lib/decoration.cjs +10 -10
  31. package/lib/decoration.js.map +1 -1
  32. package/lib/esm/decaf-model/DecafModelModule.d.ts +5 -0
  33. package/lib/esm/decaf-model/DecafModelModule.js +33 -0
  34. package/lib/esm/decaf-model/DecafModelModule.js.map +1 -0
  35. package/lib/esm/decaf-model/FromModelController.d.ts +15 -0
  36. package/lib/esm/{model-module.js → decaf-model/FromModelController.js} +58 -53
  37. package/lib/esm/decaf-model/FromModelController.js.map +1 -0
  38. package/lib/esm/decaf-model/decorators/ApiOperationFromModel.d.ts +21 -0
  39. package/lib/esm/decaf-model/decorators/ApiOperationFromModel.js +40 -0
  40. package/lib/esm/decaf-model/decorators/ApiOperationFromModel.js.map +1 -0
  41. package/lib/esm/decaf-model/decorators/ApiParamsFromModel.d.ts +13 -0
  42. package/lib/esm/decaf-model/decorators/ApiParamsFromModel.js +24 -0
  43. package/lib/esm/decaf-model/decorators/ApiParamsFromModel.js.map +1 -0
  44. package/lib/esm/decaf-model/decorators/DecafParams.d.ts +8 -0
  45. package/lib/esm/decaf-model/decorators/DecafParams.js +31 -0
  46. package/lib/esm/decaf-model/decorators/DecafParams.js.map +1 -0
  47. package/lib/esm/decaf-model/decorators/index.d.ts +4 -0
  48. package/lib/esm/decaf-model/decorators/index.js +5 -0
  49. package/lib/esm/decaf-model/decorators/index.js.map +1 -0
  50. package/lib/esm/decaf-model/decorators/types.d.ts +12 -0
  51. package/lib/esm/decaf-model/decorators/types.js +2 -0
  52. package/lib/esm/decaf-model/decorators/types.js.map +1 -0
  53. package/lib/esm/decaf-model/index.d.ts +3 -0
  54. package/lib/esm/decaf-model/index.js +4 -0
  55. package/lib/esm/decaf-model/index.js.map +1 -0
  56. package/lib/esm/decoration.js +1 -1
  57. package/lib/esm/decoration.js.map +1 -1
  58. package/lib/esm/index.d.ts +3 -3
  59. package/lib/esm/index.js +3 -3
  60. package/lib/esm/index.js.map +1 -1
  61. package/lib/esm/module.js +1 -1
  62. package/lib/esm/module.js.map +1 -1
  63. package/lib/index.cjs +3 -3
  64. package/lib/index.d.ts +3 -3
  65. package/lib/index.js.map +1 -1
  66. package/lib/module.cjs +2 -2
  67. package/lib/module.js.map +1 -1
  68. package/package.json +2 -3
  69. package/lib/decorators/ApiProperty.cjs +0 -63
  70. package/lib/decorators/ApiProperty.d.ts +0 -27
  71. package/lib/decorators/ApiProperty.js.map +0 -1
  72. package/lib/decorators/helpers.cjs +0 -140
  73. package/lib/decorators/helpers.d.ts +0 -8
  74. package/lib/decorators/helpers.js.map +0 -1
  75. package/lib/decorators/index.d.ts +0 -2
  76. package/lib/decorators/index.js.map +0 -1
  77. package/lib/decorators.cjs +0 -33
  78. package/lib/decorators.d.ts +0 -10
  79. package/lib/decorators.js.map +0 -1
  80. package/lib/esm/decorators/ApiProperty.d.ts +0 -27
  81. package/lib/esm/decorators/ApiProperty.js +0 -57
  82. package/lib/esm/decorators/ApiProperty.js.map +0 -1
  83. package/lib/esm/decorators/helpers.d.ts +0 -8
  84. package/lib/esm/decorators/helpers.js +0 -132
  85. package/lib/esm/decorators/helpers.js.map +0 -1
  86. package/lib/esm/decorators/index.d.ts +0 -2
  87. package/lib/esm/decorators/index.js +0 -3
  88. package/lib/esm/decorators/index.js.map +0 -1
  89. package/lib/esm/decorators.d.ts +0 -10
  90. package/lib/esm/decorators.js +0 -29
  91. package/lib/esm/decorators.js.map +0 -1
  92. package/lib/esm/model-module.d.ts +0 -8
  93. package/lib/esm/model-module.js.map +0 -1
  94. package/lib/model-module.d.ts +0 -8
  95. package/lib/model-module.js.map +0 -1
package/lib/module.cjs CHANGED
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.DecafModule = void 0;
11
11
  const common_1 = require("@nestjs/common");
12
12
  const core_module_1 = require("./core-module.cjs");
13
- const model_module_1 = require("./model-module.cjs");
13
+ const decaf_model_1 = require("./decaf-model/index.cjs");
14
14
  /**
15
15
  * @publicApi
16
16
  */
@@ -21,7 +21,7 @@ let DecafModule = DecafModule_1 = class DecafModule {
21
21
  const flavour = adapter.flavour;
22
22
  const imports = [core_module_1.DecafCoreModule.forRoot(options)];
23
23
  if (autoControllers) {
24
- imports.push(model_module_1.DecafModelModule.forRoot(flavour));
24
+ imports.push(decaf_model_1.DecafModelModule.forRoot(flavour));
25
25
  }
26
26
  return {
27
27
  module: DecafModule_1,
package/lib/module.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA+E;AAE/E,mDAAgD;AAChD,qDAAkD;AAElD;;GAEG;AAEI,IAAM,WAAW,mBAAjB,MAAM,WAAW;IACtB,MAAM,CAAC,KAAK,CAAC,YAAY,CACvB,OAA2B;QAE3B,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;QAEpC,MAAM,OAAO,GAAG,MAAM,6BAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAEhC,MAAM,OAAO,GAOG,CAAC,6BAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAEnD,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,+BAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAClD,CAAC;QAED,OAAO;YACL,MAAM,EAAE,aAAW;YACnB,OAAO,EAAE,OAAO;SACjB,CAAC;IACJ,CAAC;CACF,CAAA;AA3BY,kCAAW;sBAAX,WAAW;IADvB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,WAAW,CA2BvB"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA+E;AAE/E,mDAAgD;AAChD,yDAAiD;AAEjD;;GAEG;AAEI,IAAM,WAAW,mBAAjB,MAAM,WAAW;IACtB,MAAM,CAAC,KAAK,CAAC,YAAY,CACvB,OAA2B;QAE3B,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;QAEpC,MAAM,OAAO,GAAG,MAAM,6BAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAEhC,MAAM,OAAO,GAOG,CAAC,6BAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAEnD,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,8BAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAClD,CAAC;QAED,OAAO;YACL,MAAM,EAAE,aAAW;YACnB,OAAO,EAAE,OAAO;SACjB,CAAC;IACJ,CAAC;CACF,CAAA;AA3BY,kCAAW;sBAAX,WAAW;IADvB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,WAAW,CA2BvB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decaf-ts/for-nest",
3
- "version": "0.0.7",
3
+ "version": "0.0.9",
4
4
  "description": "NestJS decaf integration",
5
5
  "type": "module",
6
6
  "exports": {
@@ -92,7 +92,6 @@
92
92
  "@decaf-ts/logging": "latest",
93
93
  "@decaf-ts/reflection": "latest",
94
94
  "@decaf-ts/transactional-decorators": "latest",
95
- "@nestjs/common": "^11.0.1",
96
- "lodash": "^4.17.21"
95
+ "@nestjs/common": "^11.0.1"
97
96
  }
98
97
  }
@@ -1,63 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ApiProperty = ApiProperty;
4
- exports.createApiPropertyDecorator = createApiPropertyDecorator;
5
- exports.ApiPropertyOptional = ApiPropertyOptional;
6
- exports.ApiResponseProperty = ApiResponseProperty;
7
- const helpers_1 = require("@nestjs/swagger/dist/decorators/helpers");
8
- const enum_utils_1 = require("@nestjs/swagger/dist/utils/enum.utils");
9
- const constants_1 = require("@nestjs/swagger/dist/constants");
10
- const helpers_2 = require("./helpers.cjs");
11
- const isEnumArray = (opts) => (opts.isArray && "enum" in opts && opts.enum !== undefined);
12
- /**
13
- * @publicApi
14
- */
15
- function ApiProperty(options = {}) {
16
- return createApiPropertyDecorator(options);
17
- }
18
- function createApiPropertyDecorator(options = {}, overrideExisting = true) {
19
- const [type, isArray] = (0, helpers_1.getTypeIsArrayTuple)(options.type, options.isArray);
20
- options = {
21
- ...options,
22
- type,
23
- isArray,
24
- };
25
- if (isEnumArray(options)) {
26
- options.type = "array";
27
- const enumValues = (0, enum_utils_1.getEnumValues)(options.enum);
28
- options.items = {
29
- type: (0, enum_utils_1.getEnumType)(enumValues),
30
- enum: enumValues,
31
- };
32
- // @ts-expect-error nest swagger override
33
- delete options.enum;
34
- }
35
- else if ("enum" in options && options.enum !== undefined) {
36
- const enumValues = (0, enum_utils_1.getEnumValues)(options.enum);
37
- options.enum = enumValues;
38
- options.type = (0, enum_utils_1.getEnumType)(enumValues);
39
- }
40
- if (Array.isArray(options.type)) {
41
- options.type = "array";
42
- options.items = {
43
- type: "array",
44
- items: {
45
- type: options.type[0],
46
- },
47
- };
48
- }
49
- return (0, helpers_2.createPropertyDecorator)(constants_1.DECORATORS.API_MODEL_PROPERTIES, options, overrideExisting);
50
- }
51
- function ApiPropertyOptional(options = {}) {
52
- return ApiProperty({
53
- ...options,
54
- required: false,
55
- });
56
- }
57
- function ApiResponseProperty(options = {}) {
58
- return ApiProperty({
59
- readOnly: true,
60
- ...options,
61
- });
62
- }
63
- //# sourceMappingURL=ApiProperty.js.map
@@ -1,27 +0,0 @@
1
- import { Type } from "@nestjs/common";
2
- import { SchemaObjectMetadata } from "@nestjs/swagger/dist/interfaces/schema-object-metadata.interface";
3
- import { EnumSchemaAttributes } from "@nestjs/swagger/dist/interfaces/enum-schema-attributes.interface";
4
- export type ApiPropertyCommonOptions = SchemaObjectMetadata & {
5
- "x-enumNames"?: string[];
6
- /**
7
- * Lazy function returning the type for which the decorated property
8
- * can be used as an id
9
- *
10
- * Use together with @ApiDefaultGetter on the getter route of the type
11
- * to generate OpenAPI link objects
12
- *
13
- * @see [Swagger link objects](https://swagger.io/docs/specification/links/)
14
- */
15
- link?: () => Type<unknown> | Function;
16
- };
17
- export type ApiPropertyOptions = ApiPropertyCommonOptions | (ApiPropertyCommonOptions & {
18
- enumName: string;
19
- enumSchema?: EnumSchemaAttributes;
20
- });
21
- /**
22
- * @publicApi
23
- */
24
- export declare function ApiProperty(options?: ApiPropertyOptions): PropertyDecorator;
25
- export declare function createApiPropertyDecorator(options?: ApiPropertyOptions, overrideExisting?: boolean): PropertyDecorator;
26
- export declare function ApiPropertyOptional(options?: ApiPropertyOptions): PropertyDecorator;
27
- export declare function ApiResponseProperty(options?: Pick<ApiPropertyOptions, "type" | "example" | "format" | "deprecated" | "enum">): PropertyDecorator;
@@ -1 +0,0 @@
1
- {"version":3,"file":"ApiProperty.js","sourceRoot":"","sources":["../../src/decorators/ApiProperty.ts"],"names":[],"mappings":";;AAgDA,kCAIC;AAED,gEA8CC;AAED,kDAOC;AAED,kDAUC;AAnHD,qEAA8E;AAC9E,sEAG+C;AAC/C,8DAA4D;AAC5D,2CAAoD;AAwBpD,MAAM,WAAW,GAAG,CAClB,IAAwB,EAMxB,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAY,CAAC;AAE5E;;GAEG;AACH,SAAgB,WAAW,CACzB,UAA8B,EAAE;IAEhC,OAAO,0BAA0B,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED,SAAgB,0BAA0B,CACxC,UAA8B,EAAE,EAChC,gBAAgB,GAAG,IAAI;IAEvB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,6BAAmB,EACzC,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,OAAkB,CAC3B,CAAC;IACF,OAAO,GAAG;QACR,GAAG,OAAO;QACV,IAAI;QACJ,OAAO;KACc,CAAC;IAExB,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC;QAEvB,MAAM,UAAU,GAAG,IAAA,0BAAa,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/C,OAAO,CAAC,KAAK,GAAG;YACd,IAAI,EAAE,IAAA,wBAAW,EAAC,UAAU,CAAC;YAC7B,IAAI,EAAE,UAAU;SACjB,CAAC;QACF,yCAAyC;QACzC,OAAO,OAAO,CAAC,IAAI,CAAC;IACtB,CAAC;SAAM,IAAI,MAAM,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC3D,MAAM,UAAU,GAAG,IAAA,0BAAa,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE/C,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC;QAC1B,OAAO,CAAC,IAAI,GAAG,IAAA,wBAAW,EAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC;QACvB,OAAO,CAAC,KAAK,GAAG;YACd,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;aACtB;SACF,CAAC;IACJ,CAAC;IAED,OAAO,IAAA,iCAAuB,EAC5B,sBAAU,CAAC,oBAAoB,EAC/B,OAAO,EACP,gBAAgB,CACjB,CAAC;AACJ,CAAC;AAED,SAAgB,mBAAmB,CACjC,UAA8B,EAAE;IAEhC,OAAO,WAAW,CAAC;QACjB,GAAG,OAAO;QACV,QAAQ,EAAE,KAAK;KACM,CAAC,CAAC;AAC3B,CAAC;AAED,SAAgB,mBAAmB,CACjC,UAGI,EAAE;IAEN,OAAO,WAAW,CAAC;QACjB,QAAQ,EAAE,IAAI;QACd,GAAG,OAAO;KACW,CAAC,CAAC;AAC3B,CAAC"}
@@ -1,140 +0,0 @@
1
- "use strict";
2
- /* eslint-disable @typescript-eslint/no-unsafe-function-type */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.createMethodDecorator = createMethodDecorator;
5
- exports.createClassDecorator = createClassDecorator;
6
- exports.createPropertyDecorator = createPropertyDecorator;
7
- exports.createMixedDecorator = createMixedDecorator;
8
- exports.createParamDecorator = createParamDecorator;
9
- exports.getTypeIsArrayTuple = getTypeIsArrayTuple;
10
- const constants_1 = require("@nestjs/common/constants");
11
- const shared_utils_1 = require("@nestjs/common/utils/shared.utils");
12
- const lodash_1 = require("lodash");
13
- const plugin_constants_1 = require("@nestjs/swagger/dist/plugin/plugin-constants");
14
- const constants_2 = require("@nestjs/swagger/dist/constants");
15
- function createMethodDecorator(metakey, metadata, { overrideExisting } = { overrideExisting: true }) {
16
- return (target, key, descriptor) => {
17
- if (typeof metadata === "object") {
18
- const prevValue = Reflect.getMetadata(metakey, descriptor.value);
19
- if (prevValue && !overrideExisting) {
20
- return descriptor;
21
- }
22
- Reflect.defineMetadata(metakey, { ...prevValue, ...metadata }, descriptor.value);
23
- return descriptor;
24
- }
25
- Reflect.defineMetadata(metakey, metadata, descriptor.value);
26
- return descriptor;
27
- };
28
- }
29
- function createClassDecorator(metakey, metadata = []) {
30
- return (target) => {
31
- const prevValue = Reflect.getMetadata(metakey, target) || [];
32
- Reflect.defineMetadata(metakey, [...prevValue, ...metadata], target);
33
- return target;
34
- };
35
- }
36
- function createPropertyDecorator(metakey, metadata, overrideExisting = true) {
37
- return (target, propertyKey) => {
38
- const properties = Reflect.getMetadata(constants_2.DECORATORS.API_MODEL_PROPERTIES_ARRAY, target) || [];
39
- const key = `:${propertyKey}`;
40
- if (!properties.includes(key)) {
41
- Reflect.defineMetadata(constants_2.DECORATORS.API_MODEL_PROPERTIES_ARRAY, [...properties, `:${propertyKey}`], target);
42
- }
43
- const existingMetadata = Reflect.getMetadata(metakey, target, propertyKey);
44
- if (existingMetadata) {
45
- const newMetadata = (0, lodash_1.pickBy)(metadata, (0, lodash_1.negate)(lodash_1.isUndefined));
46
- const metadataToSave = overrideExisting
47
- ? {
48
- ...existingMetadata,
49
- ...newMetadata,
50
- }
51
- : {
52
- ...newMetadata,
53
- ...existingMetadata,
54
- };
55
- Reflect.defineMetadata(metakey, metadataToSave, target, propertyKey);
56
- }
57
- else {
58
- const type =
59
- // @ts-expect-error nest js override
60
- target?.constructor?.[plugin_constants_1.METADATA_FACTORY_NAME]?.()[propertyKey]?.type ??
61
- Reflect.getMetadata("design:type", target, propertyKey);
62
- Reflect.defineMetadata(metakey, {
63
- type,
64
- ...(0, lodash_1.pickBy)(metadata, (0, lodash_1.negate)(lodash_1.isUndefined)),
65
- }, target, propertyKey);
66
- }
67
- };
68
- }
69
- function createMixedDecorator(metakey, metadata) {
70
- return (target, key, descriptor) => {
71
- if (descriptor) {
72
- let metadatas;
73
- if (Array.isArray(metadata)) {
74
- const previousMetadata = Reflect.getMetadata(metakey, descriptor.value) || [];
75
- metadatas = [...previousMetadata, ...metadata];
76
- }
77
- else {
78
- const previousMetadata = Reflect.getMetadata(metakey, descriptor.value) || {};
79
- metadatas = { ...previousMetadata, ...metadata };
80
- }
81
- Reflect.defineMetadata(metakey, metadatas, descriptor.value);
82
- return descriptor;
83
- }
84
- let metadatas;
85
- if (Array.isArray(metadata)) {
86
- const previousMetadata = Reflect.getMetadata(metakey, target) || [];
87
- metadatas = [...previousMetadata, ...metadata];
88
- }
89
- else {
90
- const previousMetadata = Reflect.getMetadata(metakey, target) || {};
91
- metadatas = Object.assign(Object.assign({}, previousMetadata), metadata);
92
- }
93
- Reflect.defineMetadata(metakey, metadatas, target);
94
- return target;
95
- };
96
- }
97
- function createParamDecorator(metadata, initial) {
98
- return (target, key, descriptor) => {
99
- const paramOptions = {
100
- ...initial,
101
- ...(0, lodash_1.pickBy)(metadata, (0, lodash_1.negate)(lodash_1.isUndefined)),
102
- };
103
- if (descriptor) {
104
- const parameters = Reflect.getMetadata(constants_2.DECORATORS.API_PARAMETERS, descriptor.value) || [];
105
- Reflect.defineMetadata(constants_2.DECORATORS.API_PARAMETERS, [...parameters, paramOptions], descriptor.value);
106
- return descriptor;
107
- }
108
- if (typeof target === "object") {
109
- return target;
110
- }
111
- const propertyKeys = Object.getOwnPropertyNames(target.prototype);
112
- for (const propertyKey of propertyKeys) {
113
- if ((0, shared_utils_1.isConstructor)(propertyKey)) {
114
- continue;
115
- }
116
- const methodDescriptor = Object.getOwnPropertyDescriptor(target.prototype, propertyKey);
117
- if (!methodDescriptor) {
118
- continue;
119
- }
120
- const isApiMethod = Reflect.hasMetadata(constants_1.METHOD_METADATA, methodDescriptor.value);
121
- if (!isApiMethod) {
122
- continue;
123
- }
124
- const parameters = Reflect.getMetadata(constants_2.DECORATORS.API_PARAMETERS, methodDescriptor.value) || [];
125
- Reflect.defineMetadata(constants_2.DECORATORS.API_PARAMETERS, [...parameters, paramOptions], methodDescriptor.value);
126
- }
127
- };
128
- }
129
- function getTypeIsArrayTuple(input, isArrayFlag) {
130
- if (!input) {
131
- return [input, isArrayFlag];
132
- }
133
- if (isArrayFlag) {
134
- return [input, isArrayFlag];
135
- }
136
- const isInputArray = (0, lodash_1.isArray)(input);
137
- const type = isInputArray ? input[0] : input;
138
- return [type, isInputArray];
139
- }
140
- //# sourceMappingURL=helpers.js.map
@@ -1,8 +0,0 @@
1
- export declare function createMethodDecorator<T = any>(metakey: string, metadata: T, { overrideExisting }?: {
2
- overrideExisting: boolean;
3
- }): MethodDecorator;
4
- export declare function createClassDecorator<T extends Array<any> = any>(metakey: string, metadata?: T): ClassDecorator;
5
- export declare function createPropertyDecorator<T extends Record<string, any> = any>(metakey: string, metadata: T, overrideExisting?: boolean): PropertyDecorator;
6
- export declare function createMixedDecorator<T = any>(metakey: string, metadata: T): MethodDecorator & ClassDecorator;
7
- export declare function createParamDecorator<T extends Record<string, any> = any>(metadata: T, initial: Partial<T>): MethodDecorator & ClassDecorator;
8
- export declare function getTypeIsArrayTuple(input: Function | [Function] | undefined | string | Record<string, any>, isArrayFlag: boolean): [Function | undefined, boolean];
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/decorators/helpers.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export * from "./ApiProperty";
2
- export * from "./helpers";
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAA8B;AAC9B,gDAA0B"}
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isOperationBlocked = isOperationBlocked;
4
- exports.ApiOperationFromModel = ApiOperationFromModel;
5
- const decoration_1 = require("@decaf-ts/decoration");
6
- const common_1 = require("@nestjs/common");
7
- const swagger_1 = require("@nestjs/swagger");
8
- const reflection_1 = require("@decaf-ts/reflection");
9
- const db_decorators_1 = require("@decaf-ts/db-decorators");
10
- function isOperationBlocked(ModelConstructor, op) {
11
- const { handler, args } = (decoration_1.Metadata.get(ModelConstructor, db_decorators_1.OperationKeys.REFLECT + db_decorators_1.OperationKeys.BLOCK) || {});
12
- // @ts-ignore
13
- return !handler ? false : (handler(...args, op) ?? false);
14
- }
15
- /**
16
- * Decorador de rota condicional:
17
- * - Se bloqueado: aplica somente `@ApiExcludeEndpoint()` → Swagger oculta; e como NÃO aplica @Get/@Post/etc, Nest NÃO registra rota.
18
- * - Se permitido: aplica o decorador HTTP correspondente.
19
- */
20
- function ApiOperationFromModel(ModelConstructor, verb, path) {
21
- const httpToCrud = {
22
- GET: [db_decorators_1.OperationKeys.READ, common_1.Get],
23
- POST: [db_decorators_1.OperationKeys.CREATE, common_1.Post],
24
- PUT: [db_decorators_1.OperationKeys.UPDATE, common_1.Put],
25
- PATCH: [db_decorators_1.OperationKeys.UPDATE, common_1.Patch],
26
- DELETE: [db_decorators_1.OperationKeys.DELETE, common_1.Delete],
27
- };
28
- const [crudOp, decorator] = httpToCrud[verb];
29
- return isOperationBlocked(ModelConstructor, crudOp)
30
- ? (0, reflection_1.apply)((0, swagger_1.ApiExcludeEndpoint)())
31
- : (0, reflection_1.apply)(decorator(path));
32
- }
33
- //# sourceMappingURL=decorators.js.map
@@ -1,10 +0,0 @@
1
- import { CrudOperations } from "@decaf-ts/db-decorators";
2
- import { ModelConstructor } from "@decaf-ts/decorator-validation";
3
- export type HttpVerb = "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
4
- export declare function isOperationBlocked(ModelConstructor: ModelConstructor<any>, op: CrudOperations): boolean;
5
- /**
6
- * Decorador de rota condicional:
7
- * - Se bloqueado: aplica somente `@ApiExcludeEndpoint()` → Swagger oculta; e como NÃO aplica @Get/@Post/etc, Nest NÃO registra rota.
8
- * - Se permitido: aplica o decorador HTTP correspondente.
9
- */
10
- export declare function ApiOperationFromModel(ModelConstructor: ModelConstructor<any>, verb: HttpVerb, path?: string): MethodDecorator;
@@ -1 +0,0 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":";;AASA,gDAiBC;AAOD,sDAoBC;AArDD,qDAAgD;AAChD,2CAA+D;AAC/D,6CAAqD;AACrD,qDAA6C;AAC7C,2DAAwE;AAKxE,SAAgB,kBAAkB,CAChC,gBAAuC,EACvC,EAAkB;IAElB,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,qBAAQ,CAAC,GAAG,CACrC,gBAAuB,EACvB,6BAAa,CAAC,OAAO,GAAG,6BAAa,CAAC,KAAK,CAC5C,IAAI,EAAE,CAMN,CAAC;IAEF,aAAa;IACb,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED;;;;GAIG;AACH,SAAgB,qBAAqB,CACnC,gBAAuC,EACvC,IAAc,EACd,IAAa;IAEb,MAAM,UAAU,GAGZ;QACF,GAAG,EAAE,CAAC,6BAAa,CAAC,IAAI,EAAE,YAAG,CAAC;QAC9B,IAAI,EAAE,CAAC,6BAAa,CAAC,MAAM,EAAE,aAAI,CAAC;QAClC,GAAG,EAAE,CAAC,6BAAa,CAAC,MAAM,EAAE,YAAG,CAAC;QAChC,KAAK,EAAE,CAAC,6BAAa,CAAC,MAAM,EAAE,cAAK,CAAC;QACpC,MAAM,EAAE,CAAC,6BAAa,CAAC,MAAM,EAAE,eAAM,CAAC;KACvC,CAAC;IAEF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC7C,OAAO,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,CAAC;QACjD,CAAC,CAAC,IAAA,kBAAK,EAAC,IAAA,4BAAkB,GAAE,CAAC;QAC7B,CAAC,CAAC,IAAA,kBAAK,EAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7B,CAAC"}
@@ -1,27 +0,0 @@
1
- import { Type } from "@nestjs/common";
2
- import { SchemaObjectMetadata } from "@nestjs/swagger/dist/interfaces/schema-object-metadata.interface";
3
- import { EnumSchemaAttributes } from "@nestjs/swagger/dist/interfaces/enum-schema-attributes.interface";
4
- export type ApiPropertyCommonOptions = SchemaObjectMetadata & {
5
- "x-enumNames"?: string[];
6
- /**
7
- * Lazy function returning the type for which the decorated property
8
- * can be used as an id
9
- *
10
- * Use together with @ApiDefaultGetter on the getter route of the type
11
- * to generate OpenAPI link objects
12
- *
13
- * @see [Swagger link objects](https://swagger.io/docs/specification/links/)
14
- */
15
- link?: () => Type<unknown> | Function;
16
- };
17
- export type ApiPropertyOptions = ApiPropertyCommonOptions | (ApiPropertyCommonOptions & {
18
- enumName: string;
19
- enumSchema?: EnumSchemaAttributes;
20
- });
21
- /**
22
- * @publicApi
23
- */
24
- export declare function ApiProperty(options?: ApiPropertyOptions): PropertyDecorator;
25
- export declare function createApiPropertyDecorator(options?: ApiPropertyOptions, overrideExisting?: boolean): PropertyDecorator;
26
- export declare function ApiPropertyOptional(options?: ApiPropertyOptions): PropertyDecorator;
27
- export declare function ApiResponseProperty(options?: Pick<ApiPropertyOptions, "type" | "example" | "format" | "deprecated" | "enum">): PropertyDecorator;
@@ -1,57 +0,0 @@
1
- import { getTypeIsArrayTuple } from "@nestjs/swagger/dist/decorators/helpers";
2
- import { getEnumType, getEnumValues, } from "@nestjs/swagger/dist/utils/enum.utils";
3
- import { DECORATORS } from "@nestjs/swagger/dist/constants";
4
- import { createPropertyDecorator } from "./helpers.js";
5
- const isEnumArray = (opts) => (opts.isArray && "enum" in opts && opts.enum !== undefined);
6
- /**
7
- * @publicApi
8
- */
9
- export function ApiProperty(options = {}) {
10
- return createApiPropertyDecorator(options);
11
- }
12
- export function createApiPropertyDecorator(options = {}, overrideExisting = true) {
13
- const [type, isArray] = getTypeIsArrayTuple(options.type, options.isArray);
14
- options = {
15
- ...options,
16
- type,
17
- isArray,
18
- };
19
- if (isEnumArray(options)) {
20
- options.type = "array";
21
- const enumValues = getEnumValues(options.enum);
22
- options.items = {
23
- type: getEnumType(enumValues),
24
- enum: enumValues,
25
- };
26
- // @ts-expect-error nest swagger override
27
- delete options.enum;
28
- }
29
- else if ("enum" in options && options.enum !== undefined) {
30
- const enumValues = getEnumValues(options.enum);
31
- options.enum = enumValues;
32
- options.type = getEnumType(enumValues);
33
- }
34
- if (Array.isArray(options.type)) {
35
- options.type = "array";
36
- options.items = {
37
- type: "array",
38
- items: {
39
- type: options.type[0],
40
- },
41
- };
42
- }
43
- return createPropertyDecorator(DECORATORS.API_MODEL_PROPERTIES, options, overrideExisting);
44
- }
45
- export function ApiPropertyOptional(options = {}) {
46
- return ApiProperty({
47
- ...options,
48
- required: false,
49
- });
50
- }
51
- export function ApiResponseProperty(options = {}) {
52
- return ApiProperty({
53
- readOnly: true,
54
- ...options,
55
- });
56
- }
57
- //# sourceMappingURL=ApiProperty.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ApiProperty.js","sourceRoot":"","sources":["../../../src/decorators/ApiProperty.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EACL,WAAW,EACX,aAAa,GACd,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,qBAAkB;AAwBpD,MAAM,WAAW,GAAG,CAClB,IAAwB,EAMxB,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAY,CAAC;AAE5E;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,UAA8B,EAAE;IAEhC,OAAO,0BAA0B,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,UAA8B,EAAE,EAChC,gBAAgB,GAAG,IAAI;IAEvB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,mBAAmB,CACzC,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,OAAkB,CAC3B,CAAC;IACF,OAAO,GAAG;QACR,GAAG,OAAO;QACV,IAAI;QACJ,OAAO;KACc,CAAC;IAExB,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC;QAEvB,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/C,OAAO,CAAC,KAAK,GAAG;YACd,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC;YAC7B,IAAI,EAAE,UAAU;SACjB,CAAC;QACF,yCAAyC;QACzC,OAAO,OAAO,CAAC,IAAI,CAAC;IACtB,CAAC;SAAM,IAAI,MAAM,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC3D,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE/C,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC;QAC1B,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC;QACvB,OAAO,CAAC,KAAK,GAAG;YACd,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;aACtB;SACF,CAAC;IACJ,CAAC;IAED,OAAO,uBAAuB,CAC5B,UAAU,CAAC,oBAAoB,EAC/B,OAAO,EACP,gBAAgB,CACjB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,UAA8B,EAAE;IAEhC,OAAO,WAAW,CAAC;QACjB,GAAG,OAAO;QACV,QAAQ,EAAE,KAAK;KACM,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,UAGI,EAAE;IAEN,OAAO,WAAW,CAAC;QACjB,QAAQ,EAAE,IAAI;QACd,GAAG,OAAO;KACW,CAAC,CAAC;AAC3B,CAAC"}
@@ -1,8 +0,0 @@
1
- export declare function createMethodDecorator<T = any>(metakey: string, metadata: T, { overrideExisting }?: {
2
- overrideExisting: boolean;
3
- }): MethodDecorator;
4
- export declare function createClassDecorator<T extends Array<any> = any>(metakey: string, metadata?: T): ClassDecorator;
5
- export declare function createPropertyDecorator<T extends Record<string, any> = any>(metakey: string, metadata: T, overrideExisting?: boolean): PropertyDecorator;
6
- export declare function createMixedDecorator<T = any>(metakey: string, metadata: T): MethodDecorator & ClassDecorator;
7
- export declare function createParamDecorator<T extends Record<string, any> = any>(metadata: T, initial: Partial<T>): MethodDecorator & ClassDecorator;
8
- export declare function getTypeIsArrayTuple(input: Function | [Function] | undefined | string | Record<string, any>, isArrayFlag: boolean): [Function | undefined, boolean];
@@ -1,132 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-unsafe-function-type */
2
- import { METHOD_METADATA } from "@nestjs/common/constants";
3
- import { isConstructor } from "@nestjs/common/utils/shared.utils";
4
- import { isArray, isUndefined, negate, pickBy } from "lodash";
5
- import { METADATA_FACTORY_NAME } from "@nestjs/swagger/dist/plugin/plugin-constants";
6
- import { DECORATORS } from "@nestjs/swagger/dist/constants";
7
- export function createMethodDecorator(metakey, metadata, { overrideExisting } = { overrideExisting: true }) {
8
- return (target, key, descriptor) => {
9
- if (typeof metadata === "object") {
10
- const prevValue = Reflect.getMetadata(metakey, descriptor.value);
11
- if (prevValue && !overrideExisting) {
12
- return descriptor;
13
- }
14
- Reflect.defineMetadata(metakey, { ...prevValue, ...metadata }, descriptor.value);
15
- return descriptor;
16
- }
17
- Reflect.defineMetadata(metakey, metadata, descriptor.value);
18
- return descriptor;
19
- };
20
- }
21
- export function createClassDecorator(metakey, metadata = []) {
22
- return (target) => {
23
- const prevValue = Reflect.getMetadata(metakey, target) || [];
24
- Reflect.defineMetadata(metakey, [...prevValue, ...metadata], target);
25
- return target;
26
- };
27
- }
28
- export function createPropertyDecorator(metakey, metadata, overrideExisting = true) {
29
- return (target, propertyKey) => {
30
- const properties = Reflect.getMetadata(DECORATORS.API_MODEL_PROPERTIES_ARRAY, target) || [];
31
- const key = `:${propertyKey}`;
32
- if (!properties.includes(key)) {
33
- Reflect.defineMetadata(DECORATORS.API_MODEL_PROPERTIES_ARRAY, [...properties, `:${propertyKey}`], target);
34
- }
35
- const existingMetadata = Reflect.getMetadata(metakey, target, propertyKey);
36
- if (existingMetadata) {
37
- const newMetadata = pickBy(metadata, negate(isUndefined));
38
- const metadataToSave = overrideExisting
39
- ? {
40
- ...existingMetadata,
41
- ...newMetadata,
42
- }
43
- : {
44
- ...newMetadata,
45
- ...existingMetadata,
46
- };
47
- Reflect.defineMetadata(metakey, metadataToSave, target, propertyKey);
48
- }
49
- else {
50
- const type =
51
- // @ts-expect-error nest js override
52
- target?.constructor?.[METADATA_FACTORY_NAME]?.()[propertyKey]?.type ??
53
- Reflect.getMetadata("design:type", target, propertyKey);
54
- Reflect.defineMetadata(metakey, {
55
- type,
56
- ...pickBy(metadata, negate(isUndefined)),
57
- }, target, propertyKey);
58
- }
59
- };
60
- }
61
- export function createMixedDecorator(metakey, metadata) {
62
- return (target, key, descriptor) => {
63
- if (descriptor) {
64
- let metadatas;
65
- if (Array.isArray(metadata)) {
66
- const previousMetadata = Reflect.getMetadata(metakey, descriptor.value) || [];
67
- metadatas = [...previousMetadata, ...metadata];
68
- }
69
- else {
70
- const previousMetadata = Reflect.getMetadata(metakey, descriptor.value) || {};
71
- metadatas = { ...previousMetadata, ...metadata };
72
- }
73
- Reflect.defineMetadata(metakey, metadatas, descriptor.value);
74
- return descriptor;
75
- }
76
- let metadatas;
77
- if (Array.isArray(metadata)) {
78
- const previousMetadata = Reflect.getMetadata(metakey, target) || [];
79
- metadatas = [...previousMetadata, ...metadata];
80
- }
81
- else {
82
- const previousMetadata = Reflect.getMetadata(metakey, target) || {};
83
- metadatas = Object.assign(Object.assign({}, previousMetadata), metadata);
84
- }
85
- Reflect.defineMetadata(metakey, metadatas, target);
86
- return target;
87
- };
88
- }
89
- export function createParamDecorator(metadata, initial) {
90
- return (target, key, descriptor) => {
91
- const paramOptions = {
92
- ...initial,
93
- ...pickBy(metadata, negate(isUndefined)),
94
- };
95
- if (descriptor) {
96
- const parameters = Reflect.getMetadata(DECORATORS.API_PARAMETERS, descriptor.value) || [];
97
- Reflect.defineMetadata(DECORATORS.API_PARAMETERS, [...parameters, paramOptions], descriptor.value);
98
- return descriptor;
99
- }
100
- if (typeof target === "object") {
101
- return target;
102
- }
103
- const propertyKeys = Object.getOwnPropertyNames(target.prototype);
104
- for (const propertyKey of propertyKeys) {
105
- if (isConstructor(propertyKey)) {
106
- continue;
107
- }
108
- const methodDescriptor = Object.getOwnPropertyDescriptor(target.prototype, propertyKey);
109
- if (!methodDescriptor) {
110
- continue;
111
- }
112
- const isApiMethod = Reflect.hasMetadata(METHOD_METADATA, methodDescriptor.value);
113
- if (!isApiMethod) {
114
- continue;
115
- }
116
- const parameters = Reflect.getMetadata(DECORATORS.API_PARAMETERS, methodDescriptor.value) || [];
117
- Reflect.defineMetadata(DECORATORS.API_PARAMETERS, [...parameters, paramOptions], methodDescriptor.value);
118
- }
119
- };
120
- }
121
- export function getTypeIsArrayTuple(input, isArrayFlag) {
122
- if (!input) {
123
- return [input, isArrayFlag];
124
- }
125
- if (isArrayFlag) {
126
- return [input, isArrayFlag];
127
- }
128
- const isInputArray = isArray(input);
129
- const type = isInputArray ? input[0] : input;
130
- return [type, isInputArray];
131
- }
132
- //# sourceMappingURL=helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/decorators/helpers.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export * from "./ApiProperty";
2
- export * from "./helpers";
@@ -1,3 +0,0 @@
1
- export * from "./ApiProperty.js";
2
- export * from "./helpers.js";
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,iCAA8B;AAC9B,6BAA0B"}
@@ -1,10 +0,0 @@
1
- import { CrudOperations } from "@decaf-ts/db-decorators";
2
- import { ModelConstructor } from "@decaf-ts/decorator-validation";
3
- export type HttpVerb = "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
4
- export declare function isOperationBlocked(ModelConstructor: ModelConstructor<any>, op: CrudOperations): boolean;
5
- /**
6
- * Decorador de rota condicional:
7
- * - Se bloqueado: aplica somente `@ApiExcludeEndpoint()` → Swagger oculta; e como NÃO aplica @Get/@Post/etc, Nest NÃO registra rota.
8
- * - Se permitido: aplica o decorador HTTP correspondente.
9
- */
10
- export declare function ApiOperationFromModel(ModelConstructor: ModelConstructor<any>, verb: HttpVerb, path?: string): MethodDecorator;