Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

@nestjs/swagger #554

Open
4 of 9 tasks
KIMBEOBWOO opened this issue Jun 16, 2023 · 3 comments
Open
4 of 9 tasks

@nestjs/swagger #554

KIMBEOBWOO opened this issue Jun 16, 2023 · 3 comments
Labels
bug Something isn't working

Comments

@KIMBEOBWOO
Copy link

KIMBEOBWOO commented Jun 16, 2023

Is there an existing issue for this?

  • I have searched the existing issues

Describe the issue

If you specify a null property type for an Entity class as a Union type such as "string | null", the property is not automatically mapped.

Models/DTOs/VMs

In Destination class file test.entity.ts

@AutoMap()
@Column({ type: 'text', nullable: true })
test?: string | null;

In Source class file test.dto.ts

@AutoMap()
@IsString()
@IsOptional()
test?: string | null;

Mapping configuration

No response

Steps to reproduce

const dto = new TestDto();
dto.test = "test string";

const entity =  this.mapper.map(dto, TestDto, TestEntity);

console.log(entity);

Expected behavior

The results I expected are as follows

{
  "test": "test string"
}

But in reality,

{ }

Screenshots

No response

Minimum reproduction code

No response

Package

  • I don't know.
  • @automapper/core
  • @automapper/classes
  • @automapper/nestjs
  • @automapper/pojos
  • @automapper/mikro
  • @automapper/sequelize
  • Other (see below)

Other package and its version

No response

AutoMapper version

8.7.7

Additional context

No response

@KIMBEOBWOO KIMBEOBWOO added the bug Something isn't working label Jun 16, 2023
@KIMBEOBWOO
Copy link
Author

However, if you modify the AutoMap Decorator in the Entity file as follows, it will work fine.

@AutoMap(() => String) // <-- implicit String constructor 
@Column({ type: 'text', nullable: true })
test?: string | null;

@dkhrunov
Copy link

However, if you modify the AutoMap Decorator in the Entity file as follows, it will work fine.

@AutoMap(() => String) // <-- implicit String constructor 
@Column({ type: 'text', nullable: true })
test?: string | null;

Hi, this is doesn't work for me(
Only if I add @AutoMap(() => String) both to the entity and dto.

@ghost
Copy link

ghost commented Mar 7, 2024

What if the value is Enum ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants