@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.
- package/README.md +22 -2
- package/dist/for-nest.cjs +1 -1
- package/dist/for-nest.cjs.map +1 -1
- package/dist/for-nest.js +1 -1
- package/dist/for-nest.js.map +1 -1
- package/lib/decaf-model/DecafModelModule.cjs +36 -0
- package/lib/decaf-model/DecafModelModule.d.ts +5 -0
- package/lib/decaf-model/DecafModelModule.js.map +1 -0
- package/lib/{model-module.cjs → decaf-model/FromModelController.cjs} +58 -52
- package/lib/decaf-model/FromModelController.d.ts +15 -0
- package/lib/decaf-model/FromModelController.js.map +1 -0
- package/lib/decaf-model/decorators/ApiOperationFromModel.cjs +44 -0
- package/lib/decaf-model/decorators/ApiOperationFromModel.d.ts +21 -0
- package/lib/decaf-model/decorators/ApiOperationFromModel.js.map +1 -0
- package/lib/decaf-model/decorators/ApiParamsFromModel.cjs +27 -0
- package/lib/decaf-model/decorators/ApiParamsFromModel.d.ts +13 -0
- package/lib/decaf-model/decorators/ApiParamsFromModel.js.map +1 -0
- package/lib/decaf-model/decorators/DecafParams.cjs +34 -0
- package/lib/decaf-model/decorators/DecafParams.d.ts +8 -0
- package/lib/decaf-model/decorators/DecafParams.js.map +1 -0
- package/lib/decaf-model/decorators/index.cjs +21 -0
- package/lib/decaf-model/decorators/index.d.ts +4 -0
- package/lib/decaf-model/decorators/index.js.map +1 -0
- package/lib/decaf-model/decorators/types.cjs +3 -0
- package/lib/decaf-model/decorators/types.d.ts +12 -0
- package/lib/decaf-model/decorators/types.js.map +1 -0
- package/lib/{decorators → decaf-model}/index.cjs +3 -2
- package/lib/decaf-model/index.d.ts +3 -0
- package/lib/decaf-model/index.js.map +1 -0
- package/lib/decoration.cjs +10 -10
- package/lib/decoration.js.map +1 -1
- package/lib/esm/decaf-model/DecafModelModule.d.ts +5 -0
- package/lib/esm/decaf-model/DecafModelModule.js +33 -0
- package/lib/esm/decaf-model/DecafModelModule.js.map +1 -0
- package/lib/esm/decaf-model/FromModelController.d.ts +15 -0
- package/lib/esm/{model-module.js → decaf-model/FromModelController.js} +58 -53
- package/lib/esm/decaf-model/FromModelController.js.map +1 -0
- package/lib/esm/decaf-model/decorators/ApiOperationFromModel.d.ts +21 -0
- package/lib/esm/decaf-model/decorators/ApiOperationFromModel.js +40 -0
- package/lib/esm/decaf-model/decorators/ApiOperationFromModel.js.map +1 -0
- package/lib/esm/decaf-model/decorators/ApiParamsFromModel.d.ts +13 -0
- package/lib/esm/decaf-model/decorators/ApiParamsFromModel.js +24 -0
- package/lib/esm/decaf-model/decorators/ApiParamsFromModel.js.map +1 -0
- package/lib/esm/decaf-model/decorators/DecafParams.d.ts +8 -0
- package/lib/esm/decaf-model/decorators/DecafParams.js +31 -0
- package/lib/esm/decaf-model/decorators/DecafParams.js.map +1 -0
- package/lib/esm/decaf-model/decorators/index.d.ts +4 -0
- package/lib/esm/decaf-model/decorators/index.js +5 -0
- package/lib/esm/decaf-model/decorators/index.js.map +1 -0
- package/lib/esm/decaf-model/decorators/types.d.ts +12 -0
- package/lib/esm/decaf-model/decorators/types.js +2 -0
- package/lib/esm/decaf-model/decorators/types.js.map +1 -0
- package/lib/esm/decaf-model/index.d.ts +3 -0
- package/lib/esm/decaf-model/index.js +4 -0
- package/lib/esm/decaf-model/index.js.map +1 -0
- package/lib/esm/decoration.js +1 -1
- package/lib/esm/decoration.js.map +1 -1
- package/lib/esm/index.d.ts +3 -3
- package/lib/esm/index.js +3 -3
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/module.js +1 -1
- package/lib/esm/module.js.map +1 -1
- package/lib/index.cjs +3 -3
- package/lib/index.d.ts +3 -3
- package/lib/index.js.map +1 -1
- package/lib/module.cjs +2 -2
- package/lib/module.js.map +1 -1
- package/package.json +2 -3
- package/lib/decorators/ApiProperty.cjs +0 -63
- package/lib/decorators/ApiProperty.d.ts +0 -27
- package/lib/decorators/ApiProperty.js.map +0 -1
- package/lib/decorators/helpers.cjs +0 -140
- package/lib/decorators/helpers.d.ts +0 -8
- package/lib/decorators/helpers.js.map +0 -1
- package/lib/decorators/index.d.ts +0 -2
- package/lib/decorators/index.js.map +0 -1
- package/lib/decorators.cjs +0 -33
- package/lib/decorators.d.ts +0 -10
- package/lib/decorators.js.map +0 -1
- package/lib/esm/decorators/ApiProperty.d.ts +0 -27
- package/lib/esm/decorators/ApiProperty.js +0 -57
- package/lib/esm/decorators/ApiProperty.js.map +0 -1
- package/lib/esm/decorators/helpers.d.ts +0 -8
- package/lib/esm/decorators/helpers.js +0 -132
- package/lib/esm/decorators/helpers.js.map +0 -1
- package/lib/esm/decorators/index.d.ts +0 -2
- package/lib/esm/decorators/index.js +0 -3
- package/lib/esm/decorators/index.js.map +0 -1
- package/lib/esm/decorators.d.ts +0 -10
- package/lib/esm/decorators.js +0 -29
- package/lib/esm/decorators.js.map +0 -1
- package/lib/esm/model-module.d.ts +0 -8
- package/lib/esm/model-module.js.map +0 -1
- package/lib/model-module.d.ts +0 -8
- 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
|
|
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(
|
|
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,
|
|
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.
|
|
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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAA8B;AAC9B,gDAA0B"}
|
package/lib/decorators.cjs
DELETED
|
@@ -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
|
package/lib/decorators.d.ts
DELETED
|
@@ -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;
|
package/lib/decorators.js.map
DELETED
|
@@ -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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,iCAA8B;AAC9B,6BAA0B"}
|
package/lib/esm/decorators.d.ts
DELETED
|
@@ -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;
|