jhipster / generator-jhipster-nodejs

A NodeJS blueprint that creates the backend using NestJS
https://www.npmjs.com/package/generator-jhipster-nodejs
Apache License 2.0
257 stars 81 forks source link

@embedded Entity not working #242

Closed quanganh206 closed 3 years ago

quanganh206 commented 3 years ago

Describe the bug Generate projects with JDL error if have @embedded directive.

To Reproduce Steps to reproduce the behavior:

  1. Go to root folder
  2. nhipster jdl jdlfile.jdl

Expected behavior Gateway error

Screenshots If applicable, add screenshots to help explain your problem.

`Installing server dependencies using npm ERROR! /Users/arkay_lee/.nvm/versions/node/v12.18.1/lib/node_modules/generator-jhipster-nodejs/nodemodules/generator-jhipster/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.ts.ejs:333 331| <% } %> 332| <% for (const relationship of relationshipsWithCustomUniqueOptions) { %>

333| <% const relationshipIdGetter = this.editForm.get(['${relationship.relationshipFieldName}', '${relationship.otherEntity.primaryKey.name}'])?.value; %> 334| <% const filter = relationship.jpaMetamodelFiltering ? '${relationship.otherEntityRelationshipName}Id.specified': 'false' : filter: '${relationship.otherEntityRelationshipName.toLowerCase()}-is-null'; %> 335| 336| this.<%= relationship.otherEntityName %>Service

Cannot read property 'name' of undefined TypeError: /Users/arkay_lee/.nvm/versions/node/v12.18.1/lib/node_modules/generator-jhipster-nodejs/nodemodules/generator-jhipster/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.ts.ejs:333 331| <% } %> 332| <% for (const relationship of relationshipsWithCustomUniqueOptions) { %>

333| <% const relationshipIdGetter = this.editForm.get(['${relationship.relationshipFieldName}', '${relationship.otherEntity.primaryKey.name}'])?.value; %> 334| <% const filter = relationship.jpaMetamodelFiltering ? '${relationship.otherEntityRelationshipName}Id.specified': 'false' : filter: '${relationship.otherEntityRelationshipName.toLowerCase()}-is-null'; %> 335| 336| this.<%= relationship.otherEntityName %>Service

Cannot read property 'name' of undefined at module.exports.eval (eval at compile (/Users/arkay_lee/.nvm/versions/node/v12.18.1/lib/node_modules/generator-jhipster-nodejs/node_modules/generator-jhipster/node_modules/ejs/lib/ejs.js:662:12), :623:137) at entity-management-update.component.ts (/Users/arkay_lee/.nvm/versions/node/v12.18.1/lib/node_modules/generator-jhipster-nodejs/node_modules/generator-jhipster/node_modules/ejs/lib/ejs.js:692:17) at /Users/arkay_lee/.nvm/versions/node/v12.18.1/lib/node_modules/generator-jhipster-nodejs/node_modules/generator-jhipster/node_modules/ejs/lib/ejs.js:258:40 at new Promise () at tryHandleCache (/Users/arkay_lee/.nvm/versions/node/v12.18.1/lib/node_modules/generator-jhipster-nodejs/node_modules/generator-jhipster/node_modules/ejs/lib/ejs.js:256:14) at Object.exports.renderFile (/Users/arkay_lee/.nvm/versions/node/v12.18.1/lib/node_modules/generator-jhipster-nodejs/node_modules/generator-jhipster/node_modules/ejs/lib/ejs.js:489:10) at Object.renderContent (/Users/arkay_lee/.nvm/versions/node/v12.18.1/lib/node_modules/generator-jhipster-nodejs/node_modules/generator-jhipster/generators/utils.js:286:23) at module.exports.template (/Users/arkay_lee/.nvm/versions/node/v12.18.1/lib/node_modules/generator-jhipster-nodejs/node_modules/generator-jhipster/generators/generator-base-private.js:758:26) at /Users/arkay_lee/.nvm/versions/node/v12.18.1/lib/node_modules/generator-jhipster-nodejs/node_modules/generator-jhipster/generators/generator-base.js:2213:47 at Array.map () { path: '/Users/arkay_lee/.nvm/versions/node/v12.18.1/lib/node_modules/generator-jhipster-nodejs/node_modules/generator-jhipster/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.ts.ejs' } Unhandled promise rejection at: TypeError: /Users/arkay_lee/.nvm/versions/node/v12.18.1/lib/node_modules/generator-jhipster-nodejs/nodemodules/generator-jhipster/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.html.ejs:161 159| <% } else { _%> 160| <div *ngIf="<%= entityInstance + "." + relationshipFieldName %>">

161| <a [routerLink]="['/<%= otherEntityStateName %>', <%= entityInstance %>.<%= relationshipFieldName %>?.<%= relationship.otherEntity.primaryKey.name %>, 'view']">{{ <%= entityInstance + "." + relationshipFieldName + "?." + otherEntityField %> }} 162|

163| <% } %> 164| <% } %>

Cannot read property 'name' of undefined INFO! Generator app child process exited with code 1 ERROR! Error executing app --reproducible --no-force --with-entities --no-dry-run --no-whitespace --no-bail --no-skip-regenerate --no-skip-yo-resolve --from-jdl --blueprints nodejs --no-skip-cache --no-skip-install --no-force-install --no-ask-answered --no-defaults --no-skip-git Error: Error executing app --reproducible --no-force --with-entities --no-dry-run --no-whitespace --no-bail --no-skip-regenerate --no-skip-yo-resolve --from-jdl --blueprints nodejs --no-skip-cache --no-skip-install --no-force-install --no-ask-answered --no-defaults --no-skip-git at ChildProcess. (/Users/arkay_lee/.nvm/versions/node/v12.18.1/lib/node_modules/generator-jhipster-nodejs/node_modules/generator-jhipster/cli/import-jdl.js:183:16) at ChildProcess.emit (events.js:315:20) at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)`

Desktop (please complete the following information):

NHipster configuration

JHipster Info

❯ jhipster info INFO! Using JHipster version installed globally Welcome to the JHipster Information Sub-Generator

JHipster Version(s)
/Users/arkay_lee/working/active/saashu/sources/nestjs/v1.5
└── (empty)

cat: no such file or directory: .yo-rc.json

JHipster configuration, a .yo-rc.json file generated in the root folder
.yo-rc.json file

JDL for the Entity configuration(s) entityName.json files generated in the .jhipster directory
JDL entity definitions

Environment and Tools

openjdk version "15.0.2" 2021-01-19 OpenJDK Runtime Environment (build 15.0.2+7) OpenJDK 64-Bit Server VM (build 15.0.2+7, mixed mode, sharing)

git version 2.24.3 (Apple Git-128)

node: v12.18.1

npm: 6.14.5

Docker version 20.10.7, build f0df350

docker-compose version 1.29.2, build 5becea4c

No change to package.json was detected. No package manager install will be executed. Congratulations, JHipster execution is complete! Sponsored with ❤️ by @oktadev.

ghost commented 3 years ago

@quanganh206, thanks for the issue. Embedded annotation is for Couchbase and MongoDB. Nhipster does not support it.

quanganh206 commented 3 years ago

Thank @amanganiello90, I try to follow embedded entity here https://www.jhipster.tech/managing-relationships/ . It work with Java but not NodeJS blueprints. Is there any roadmap to support that feature.

ghost commented 3 years ago

WIth java (that has couchBase and Mongodb) has sense. In Nhipster it doesn't have sense.

quanganh206 commented 3 years ago

Thank @amanganiello90 for quick reply. I did saw NHipster support mongodb so try to test it. "Add MongoDB support with docker compose and embedded for dev/test".

Anyway love your work and repo ❤👌

ghost commented 3 years ago

@quanganh206 you are welcome! yes there is the support for mongoDB, but without embedded relationship (that issue is for the embedded mongodb server in memory for dev)