@lenne.tech/nest-server 11.4.4 → 11.4.6
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/dist/core/common/decorators/unified-field.decorator.d.ts +2 -0
- package/dist/core/common/decorators/unified-field.decorator.js +49 -3
- package/dist/core/common/decorators/unified-field.decorator.js.map +1 -1
- package/dist/core/common/helpers/register-enum.helper.d.ts +11 -0
- package/dist/core/common/helpers/register-enum.helper.js +22 -0
- package/dist/core/common/helpers/register-enum.helper.js.map +1 -0
- package/dist/core/common/pipes/map-and-validate.pipe.js +489 -16
- package/dist/core/common/pipes/map-and-validate.pipe.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/core/common/decorators/unified-field.decorator.ts +88 -4
- package/src/core/common/helpers/register-enum.helper.ts +93 -0
- package/src/core/common/pipes/map-and-validate.pipe.ts +659 -19
- package/src/index.ts +1 -0
|
@@ -6,6 +6,8 @@ import { ValidationOptions } from 'class-validator';
|
|
|
6
6
|
import { GraphQLScalarType } from 'graphql';
|
|
7
7
|
import { RoleEnum } from '../enums/role.enum';
|
|
8
8
|
import { RestrictedType } from './restricted.decorator';
|
|
9
|
+
export declare const nestedTypeRegistry: Map<string, any>;
|
|
10
|
+
export declare const enumNameRegistry: Map<any, string>;
|
|
9
11
|
export interface UnifiedFieldOptions {
|
|
10
12
|
description?: string;
|
|
11
13
|
enum?: {
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.enumNameRegistry = exports.nestedTypeRegistry = void 0;
|
|
3
4
|
exports.UnifiedField = UnifiedField;
|
|
4
5
|
const graphql_1 = require("@nestjs/graphql");
|
|
6
|
+
const type_metadata_storage_1 = require("@nestjs/graphql/dist/schema-builder/storages/type-metadata.storage");
|
|
5
7
|
const mongoose_1 = require("@nestjs/mongoose");
|
|
6
8
|
const swagger_1 = require("@nestjs/swagger");
|
|
7
9
|
const class_transformer_1 = require("class-transformer");
|
|
8
10
|
const class_validator_1 = require("class-validator");
|
|
9
11
|
const graphql_2 = require("graphql");
|
|
10
12
|
const restricted_decorator_1 = require("./restricted.decorator");
|
|
13
|
+
exports.nestedTypeRegistry = new Map();
|
|
14
|
+
exports.enumNameRegistry = new Map();
|
|
11
15
|
function UnifiedField(opts = {}) {
|
|
12
16
|
return (target, propertyKey) => {
|
|
13
17
|
const metadataType = Reflect.getMetadata('design:type', target, propertyKey);
|
|
@@ -47,6 +51,7 @@ function UnifiedField(opts = {}) {
|
|
|
47
51
|
swaggerOpts.required = false;
|
|
48
52
|
}
|
|
49
53
|
else {
|
|
54
|
+
(0, class_validator_1.IsDefined)()(target, propertyKey);
|
|
50
55
|
(0, class_validator_1.IsNotEmpty)()(target, propertyKey);
|
|
51
56
|
gqlOpts.nullable = false;
|
|
52
57
|
swaggerOpts.nullable = false;
|
|
@@ -68,7 +73,13 @@ function UnifiedField(opts = {}) {
|
|
|
68
73
|
}
|
|
69
74
|
if (opts.enum && opts.enum.enum) {
|
|
70
75
|
swaggerOpts.enum = opts.enum.enum;
|
|
71
|
-
if (opts.enum
|
|
76
|
+
if (!('enumName' in opts.enum)) {
|
|
77
|
+
const autoDetectedName = getEnumName(opts.enum.enum);
|
|
78
|
+
if (autoDetectedName) {
|
|
79
|
+
swaggerOpts.enumName = autoDetectedName;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
72
83
|
swaggerOpts.enumName = opts.enum.enumName;
|
|
73
84
|
}
|
|
74
85
|
(0, class_validator_1.IsEnum)(opts.enum.enum, opts.enum.options)(target, propertyKey);
|
|
@@ -103,9 +114,15 @@ function UnifiedField(opts = {}) {
|
|
|
103
114
|
}
|
|
104
115
|
}
|
|
105
116
|
if (!opts.isAny) {
|
|
106
|
-
if (
|
|
117
|
+
if (baseType === Date) {
|
|
118
|
+
(0, class_transformer_1.Type)(() => Date)(target, propertyKey);
|
|
119
|
+
}
|
|
120
|
+
else if (!isPrimitive(baseType) && !opts.enum && !isGraphQLScalar(baseType)) {
|
|
107
121
|
(0, class_transformer_1.Type)(() => baseType)(target, propertyKey);
|
|
108
122
|
(0, class_validator_1.ValidateNested)({ each: isArrayField })(target, propertyKey);
|
|
123
|
+
const className = target.constructor.name;
|
|
124
|
+
const registryKey = `${className}.${String(propertyKey)}`;
|
|
125
|
+
exports.nestedTypeRegistry.set(registryKey, baseType);
|
|
109
126
|
}
|
|
110
127
|
}
|
|
111
128
|
if (opts.roles) {
|
|
@@ -137,10 +154,39 @@ function getBuiltInValidator(type, opts, each, target) {
|
|
|
137
154
|
return null;
|
|
138
155
|
}
|
|
139
156
|
if (each) {
|
|
140
|
-
return (
|
|
157
|
+
return (_t, k) => decorator(target, k);
|
|
141
158
|
}
|
|
142
159
|
return decorator;
|
|
143
160
|
}
|
|
161
|
+
function getEnumName(enumObj) {
|
|
162
|
+
if (exports.enumNameRegistry.has(enumObj)) {
|
|
163
|
+
return exports.enumNameRegistry.get(enumObj);
|
|
164
|
+
}
|
|
165
|
+
try {
|
|
166
|
+
const enumsMetadata = type_metadata_storage_1.TypeMetadataStorage.getEnumsMetadata();
|
|
167
|
+
const matchingEnum = enumsMetadata.find((metadata) => metadata.ref === enumObj);
|
|
168
|
+
if (matchingEnum && matchingEnum.name) {
|
|
169
|
+
return matchingEnum.name;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
catch (error) {
|
|
173
|
+
}
|
|
174
|
+
if ((0, graphql_2.isEnumType)(enumObj)) {
|
|
175
|
+
return enumObj.name;
|
|
176
|
+
}
|
|
177
|
+
if (enumObj && typeof enumObj === 'object' && 'name' in enumObj && typeof enumObj.name === 'string') {
|
|
178
|
+
return enumObj.name;
|
|
179
|
+
}
|
|
180
|
+
if (typeof enumObj === 'function' && enumObj.name && enumObj.name !== 'Object') {
|
|
181
|
+
return enumObj.name;
|
|
182
|
+
}
|
|
183
|
+
if (enumObj && typeof enumObj === 'object') {
|
|
184
|
+
if (enumObj.constructor && enumObj.constructor.name && enumObj.constructor.name !== 'Object') {
|
|
185
|
+
return enumObj.constructor.name;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
return undefined;
|
|
189
|
+
}
|
|
144
190
|
function isGraphQLScalar(type) {
|
|
145
191
|
return ((type &&
|
|
146
192
|
typeof type === 'function' &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unified-field.decorator.js","sourceRoot":"","sources":["../../../../src/core/common/decorators/unified-field.decorator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"unified-field.decorator.js","sourceRoot":"","sources":["../../../../src/core/common/decorators/unified-field.decorator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface RegisterEnumOptions<T extends object = any> {
|
|
2
|
+
description?: string;
|
|
3
|
+
graphql?: boolean;
|
|
4
|
+
name: string;
|
|
5
|
+
swagger?: boolean;
|
|
6
|
+
valuesMap?: Partial<Record<keyof T, {
|
|
7
|
+
deprecationReason?: string;
|
|
8
|
+
description?: string;
|
|
9
|
+
}>>;
|
|
10
|
+
}
|
|
11
|
+
export declare function registerEnum<T extends object = any>(enumRef: T, options: RegisterEnumOptions<T>): void;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerEnum = registerEnum;
|
|
4
|
+
const graphql_1 = require("@nestjs/graphql");
|
|
5
|
+
const unified_field_decorator_1 = require("../decorators/unified-field.decorator");
|
|
6
|
+
function registerEnum(enumRef, options) {
|
|
7
|
+
const { description, graphql = true, name, swagger = true, valuesMap } = options;
|
|
8
|
+
if (!name) {
|
|
9
|
+
throw new Error('Enum name is required for registerEnum');
|
|
10
|
+
}
|
|
11
|
+
if (swagger) {
|
|
12
|
+
unified_field_decorator_1.enumNameRegistry.set(enumRef, name);
|
|
13
|
+
}
|
|
14
|
+
if (graphql) {
|
|
15
|
+
(0, graphql_1.registerEnumType)(enumRef, {
|
|
16
|
+
description,
|
|
17
|
+
name,
|
|
18
|
+
valuesMap,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=register-enum.helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-enum.helper.js","sourceRoot":"","sources":["../../../../src/core/common/helpers/register-enum.helper.ts"],"names":[],"mappings":";;AAwEA,oCAoBC;AA5FD,6CAAmD;AAEnD,mFAAyE;AAsEzE,SAAgB,YAAY,CAAyB,OAAU,EAAE,OAA+B;IAC9F,MAAM,EAAE,WAAW,EAAE,OAAO,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAEjF,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAGD,IAAI,OAAO,EAAE,CAAC;QACZ,0CAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAGD,IAAI,OAAO,EAAE,CAAC;QACZ,IAAA,0BAAgB,EAAC,OAAO,EAAE;YACxB,WAAW;YACX,IAAI;YACJ,SAAS;SACV,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|