prisma-generator-nestjs-dto icon indicating copy to clipboard operation
prisma-generator-nestjs-dto copied to clipboard

Missing generated relation DTO's

Open paultannenbaum opened this issue 3 years ago • 4 comments

Hi @benkroeger, thanks for replying back to my issue about relations in #14 .

So I just tried your suggestion of adding in the annotated relations, but I am now running into more issues. The create-${resource}.dto.ts is being appropriately updated with the new relations, however those relation entities are not being generated themselves. Here is an example:

schema.prisma

generator nestjsDto {
  provider                        = "prisma-generator-nestjs-dto"
  output                          = "./schema"
  outputToNestJsResourceStructure = "true"
  entitySuffix                    = "Entity"
}

model Asset {
    ...otherProps
    /// @DtoRelationCanCreateOnCreate
    venue                       Venue           @relation(fields: [venueId], references: [id])
    venueId                     Int
}

create-asset.dto.ts

import { ApiExtraModels } from '@nestjs/swagger';
import { CreateVenueDto } from '../../venue/dto/create-venue.dto';

export class CreateAssetVenueRelationInputDto {
  create: CreateVenueDto;
}

@ApiExtraModels(CreateVenueDtoEntity, CreateAssetVenueRelationInputDtoEntity)
export class CreateAssetDto {
  ...otherProps
  venue: CreateAssetVenueRelationInputDtoEntity;
}

In the above example, the CreateVenueDtoEntity and CreateAssetVenueRelationInputDtoEntity called in the @ApiExtraModels decorator do not exist/have not been generated, and neither has the CreateAssetVenueRelationInputDtoEntity found in the DTO definition.

Because of this, the TS compiler is failing. Any ideas what is going wrong here?

paultannenbaum avatar Nov 03 '21 17:11 paultannenbaum

@benkroeger any idea on if this issue is something unique to me, or an actual bug with the repo?

paultannenbaum avatar Nov 15 '21 06:11 paultannenbaum

this appears to be an issue with the entitySuffix property. Can you (temporarily) work without specifying it? Also, a PR fixing this is highly welcome

benkroeger avatar Nov 15 '21 13:11 benkroeger

this appears to be an issue with the entitySuffix property. Can you (temporarily) work without specifying it? Also, a PR fixing this is highly welcome

Why do you think entitySuffix is causing this behaviour? Can you show the part of the code that is to blame?

Would like to open a PR fixing it because ive run into the same problem, but as i am new to the codebase I dont even know where the problem is located.

piradata avatar Jul 10 '23 03:07 piradata

because with en empty entitySuffix it works as expected :) generateRelationInput computes the class name without the Entity suffix while the class is actually generated with a different name

benkroeger avatar Jul 10 '23 14:07 benkroeger