@foxiko/nest-common 0.2.8 → 0.2.10
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.
|
@@ -4,6 +4,7 @@ exports.ApiPropertyUtil = void 0;
|
|
|
4
4
|
const swagger_1 = require("@nestjs/swagger");
|
|
5
5
|
const class_transformer_1 = require("class-transformer");
|
|
6
6
|
const mongodb_1 = require("mongodb");
|
|
7
|
+
const core_1 = require("@mikro-orm/core");
|
|
7
8
|
class ApiPropertyUtil {
|
|
8
9
|
static createApiEntity(entity, visited = new Set()) {
|
|
9
10
|
if (!entity || visited.has(entity)) {
|
|
@@ -11,6 +12,7 @@ class ApiPropertyUtil {
|
|
|
11
12
|
}
|
|
12
13
|
visited.add(entity);
|
|
13
14
|
const { defaultMetadataStorage } = require('class-transformer/cjs/storage');
|
|
15
|
+
const ormMeta = core_1.MetadataStorage.getMetadataFromDecorator(entity);
|
|
14
16
|
const exposedMetadatas = defaultMetadataStorage.getExposedMetadatas(entity);
|
|
15
17
|
if (!(exposedMetadatas === null || exposedMetadatas === void 0 ? void 0 : exposedMetadatas.length)) {
|
|
16
18
|
return;
|
|
@@ -42,18 +44,28 @@ class ApiPropertyUtil {
|
|
|
42
44
|
this.createApiEntity(itemType, visited);
|
|
43
45
|
}
|
|
44
46
|
if (!Reflect.hasMetadata('swagger/apiModelProperties', entity.prototype, propertyName)) {
|
|
47
|
+
let required = true;
|
|
48
|
+
if (required === undefined && ormMeta) {
|
|
49
|
+
const prop = ormMeta.properties[propertyName];
|
|
50
|
+
if (prop && (prop.nullable || prop.optional)) {
|
|
51
|
+
required = false;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
45
54
|
if (itemType === mongodb_1.ObjectId) {
|
|
46
55
|
if (isArray) {
|
|
47
56
|
(0, class_transformer_1.Transform)(({ value }) => value === null || value === void 0 ? void 0 : value.map(v => v === null || v === void 0 ? void 0 : v.toString()))(entity.prototype, propertyName);
|
|
48
|
-
(0, swagger_1.ApiProperty)({ type: () => String, isArray: true })(entity.prototype, (_a = metadata.options.name) !== null && _a !== void 0 ? _a : propertyName);
|
|
57
|
+
(0, swagger_1.ApiProperty)({ type: () => String, isArray: true, required })(entity.prototype, (_a = metadata.options.name) !== null && _a !== void 0 ? _a : propertyName);
|
|
49
58
|
}
|
|
50
59
|
else {
|
|
51
60
|
(0, class_transformer_1.Transform)(({ value }) => value === null || value === void 0 ? void 0 : value.toString())(entity.prototype, propertyName);
|
|
52
|
-
(0, swagger_1.ApiProperty)({ type: () => String })(entity.prototype, (_b = metadata.options.name) !== null && _b !== void 0 ? _b : propertyName);
|
|
61
|
+
(0, swagger_1.ApiProperty)({ type: () => String, required })(entity.prototype, (_b = metadata.options.name) !== null && _b !== void 0 ? _b : propertyName);
|
|
53
62
|
}
|
|
54
63
|
}
|
|
55
64
|
else {
|
|
56
|
-
const options = {
|
|
65
|
+
const options = {
|
|
66
|
+
type: () => itemType,
|
|
67
|
+
required: required,
|
|
68
|
+
};
|
|
57
69
|
if (isArray) {
|
|
58
70
|
options.isArray = true;
|
|
59
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-property.util.js","sourceRoot":"","sources":["../../../src/common/utils/api-property.util.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"api-property.util.js","sourceRoot":"","sources":["../../../src/common/utils/api-property.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -100,7 +100,18 @@ class DtoFactory {
|
|
|
100
100
|
var _a;
|
|
101
101
|
if (excluded.has(prop.name))
|
|
102
102
|
return;
|
|
103
|
-
|
|
103
|
+
let designType = Reflect.getMetadata('design:type', options.entity.prototype, prop.name);
|
|
104
|
+
let isArray = designType === Array;
|
|
105
|
+
const typeMeta = defaultMetadataStorage.findTypeMetadata(options.entity, prop.name);
|
|
106
|
+
if (typeMeta && typeMeta.typeFunction) {
|
|
107
|
+
const innerType = typeMeta.typeFunction();
|
|
108
|
+
if (innerType) {
|
|
109
|
+
designType = innerType;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
const props = {};
|
|
113
|
+
if (isArray)
|
|
114
|
+
props.each = isArray;
|
|
104
115
|
let typeToCheck = designType;
|
|
105
116
|
if (!typeToCheck && prop.type) {
|
|
106
117
|
if (prop.type === 'string')
|
|
@@ -113,39 +124,39 @@ class DtoFactory {
|
|
|
113
124
|
typeToCheck = Date;
|
|
114
125
|
}
|
|
115
126
|
if (typeToCheck === String) {
|
|
116
|
-
(0, class_validator_1.IsString)()(DefaultCreateDto.prototype, prop.name);
|
|
127
|
+
(0, class_validator_1.IsString)(props)(DefaultCreateDto.prototype, prop.name);
|
|
117
128
|
}
|
|
118
129
|
else if (typeToCheck === Number) {
|
|
119
130
|
const isInt = ['integer', 'int', 'smallint', 'tinyint', 'mediumint', 'bigint'].includes((_a = prop.columnTypes) === null || _a === void 0 ? void 0 : _a[0]) || (prop.type === 'number' && prop.integer);
|
|
120
131
|
if (isInt) {
|
|
121
|
-
(0, class_validator_1.IsInt)()(DefaultCreateDto.prototype, prop.name);
|
|
132
|
+
(0, class_validator_1.IsInt)(props)(DefaultCreateDto.prototype, prop.name);
|
|
122
133
|
}
|
|
123
134
|
else {
|
|
124
|
-
(0, class_validator_1.IsNumber)()(DefaultCreateDto.prototype, prop.name);
|
|
135
|
+
(0, class_validator_1.IsNumber)(undefined, props)(DefaultCreateDto.prototype, prop.name);
|
|
125
136
|
}
|
|
126
137
|
}
|
|
127
138
|
else if (typeToCheck === Boolean) {
|
|
128
|
-
(0, class_validator_1.IsBoolean)()(DefaultCreateDto.prototype, prop.name);
|
|
139
|
+
(0, class_validator_1.IsBoolean)(props)(DefaultCreateDto.prototype, prop.name);
|
|
129
140
|
}
|
|
130
141
|
else if (typeToCheck === Date) {
|
|
131
|
-
(0, class_validator_1.IsDate)()(DefaultCreateDto.prototype, prop.name);
|
|
142
|
+
(0, class_validator_1.IsDate)(props)(DefaultCreateDto.prototype, prop.name);
|
|
132
143
|
(0, class_transformer_1.Type)(() => Date)(DefaultCreateDto.prototype, prop.name);
|
|
133
144
|
}
|
|
134
145
|
if (prop.enum) {
|
|
135
146
|
if (prop.items) {
|
|
136
|
-
(0, class_validator_1.IsEnum)(prop.items)(DefaultCreateDto.prototype, prop.name);
|
|
147
|
+
(0, class_validator_1.IsEnum)(prop.items, props)(DefaultCreateDto.prototype, prop.name);
|
|
137
148
|
}
|
|
138
149
|
}
|
|
139
150
|
if (prop.array) {
|
|
140
|
-
(0, class_validator_1.IsArray)()(DefaultCreateDto.prototype, prop.name);
|
|
151
|
+
(0, class_validator_1.IsArray)(props)(DefaultCreateDto.prototype, prop.name);
|
|
141
152
|
}
|
|
142
153
|
if (prop.nullable) {
|
|
143
|
-
(0, class_validator_1.IsOptional)()(DefaultCreateDto.prototype, prop.name);
|
|
144
|
-
(0, swagger_1.ApiPropertyOptional)({ type: typeToCheck, enum: prop.items })(DefaultCreateDto.prototype, prop.name);
|
|
154
|
+
(0, class_validator_1.IsOptional)(props)(DefaultCreateDto.prototype, prop.name);
|
|
155
|
+
(0, swagger_1.ApiPropertyOptional)({ type: typeToCheck, enum: prop.items, isArray })(DefaultCreateDto.prototype, prop.name);
|
|
145
156
|
}
|
|
146
157
|
else {
|
|
147
|
-
(0, class_validator_1.IsNotEmpty)()(DefaultCreateDto.prototype, prop.name);
|
|
148
|
-
(0, swagger_1.ApiProperty)({ type: typeToCheck, enum: prop.items })(DefaultCreateDto.prototype, prop.name);
|
|
158
|
+
(0, class_validator_1.IsNotEmpty)(props)(DefaultCreateDto.prototype, prop.name);
|
|
159
|
+
(0, swagger_1.ApiProperty)({ type: typeToCheck, enum: prop.items, isArray })(DefaultCreateDto.prototype, prop.name);
|
|
149
160
|
}
|
|
150
161
|
});
|
|
151
162
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dto-factory.util.js","sourceRoot":"","sources":["../../../src/common/utils/dto-factory.util.ts"],"names":[],"mappings":";;;AACA,0CAA6E;AAC7E,6CAA0F;AAC1F,
|
|
1
|
+
{"version":3,"file":"dto-factory.util.js","sourceRoot":"","sources":["../../../src/common/utils/dto-factory.util.ts"],"names":[],"mappings":"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"}
|