Commit af9d11c5 authored by nanahira's avatar nanahira

fix

parent db17695e
...@@ -13,7 +13,6 @@ import { ImportDataDto, ImportEntryDto } from '../dto'; ...@@ -13,7 +13,6 @@ import { ImportDataDto, ImportEntryDto } from '../dto';
import { import {
AnyClass, AnyClass,
BlankReturnMessageDto, BlankReturnMessageDto,
InsertField,
MergeMethodDecorators, MergeMethodDecorators,
PaginatedReturnMessageDto, PaginatedReturnMessageDto,
ReturnMessageDto, ReturnMessageDto,
...@@ -27,6 +26,7 @@ import { ...@@ -27,6 +26,7 @@ import {
ApiOkResponse, ApiOkResponse,
ApiOperation, ApiOperation,
ApiParam, ApiParam,
ApiProperty,
OmitType, OmitType,
PartialType, PartialType,
} from '@nestjs/swagger'; } from '@nestjs/swagger';
...@@ -98,7 +98,7 @@ export class RestfulFactory<T> { ...@@ -98,7 +98,7 @@ export class RestfulFactory<T> {
) as (keyof T)[]), ) as (keyof T)[]),
...(this.options.outputFieldsToOmit || []), ...(this.options.outputFieldsToOmit || []),
]); ]);
let resultDto = OmitType(this.entityClass, [...outputFieldsToOmit]); const resultDto = OmitType(this.entityClass, [...outputFieldsToOmit]);
const { relations } = getMetadataArgsStorage(); const { relations } = getMetadataArgsStorage();
for (const relation of relations) { for (const relation of relations) {
if ( if (
...@@ -111,22 +111,18 @@ export class RestfulFactory<T> { ...@@ -111,22 +111,18 @@ export class RestfulFactory<T> {
if (typeof relationClassFactory !== 'function') continue; if (typeof relationClassFactory !== 'function') continue;
const relationClass = (relationClassFactory as () => AnyClass)(); const relationClass = (relationClassFactory as () => AnyClass)();
if (typeof relationClass !== 'function') continue; if (typeof relationClass !== 'function') continue;
const oldApiProperty =
Reflect.getMetadata(
DECORATORS.API_MODEL_PROPERTIES,
this.entityClass.prototype,
relation.propertyName,
) || {};
const replace = (useClass) => { const replace = (useClass) => {
resultDto = InsertField(resultDto, { const oldApiProperty =
[relation.propertyName]: { Reflect.getMetadata(
required: false, DECORATORS.API_MODEL_PROPERTIES,
...oldApiProperty, this.entityClass.prototype,
type: relation.relationType.endsWith('-many') relation.propertyName,
? [useClass] ) || {};
: useClass, ApiProperty({
}, ...oldApiProperty,
}); required: false,
type: relation.relationType.endsWith('-many') ? [useClass] : useClass,
})(resultDto.prototype, relation.propertyName);
}; };
const existing = this.__resolveVisited.get(relationClass); const existing = this.__resolveVisited.get(relationClass);
if (existing) { if (existing) {
...@@ -140,7 +136,7 @@ export class RestfulFactory<T> { ...@@ -140,7 +136,7 @@ export class RestfulFactory<T> {
{}, {},
this.__resolveVisited, this.__resolveVisited,
); );
const relationResultDto = relationFactory.resolveEntityResultDto(); const relationResultDto = relationFactory.entityResultDto;
replace(relationResultDto); replace(relationResultDto);
this.__resolveVisited.set(relationClass, relationResultDto); this.__resolveVisited.set(relationClass, relationResultDto);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment