@team-codeme/crud-forge 0.0.0-stage → 1.0.0
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.
- package/.cursor/agents/generator-engineer.md +31 -0
- package/.cursor/agents/keycloak-engineer.md +33 -0
- package/.cursor/agents/qa-engineer.md +32 -0
- package/.cursor/agents/security-reviewer.md +30 -0
- package/.cursor/mcp.json +13 -0
- package/.cursor/rules/crudforge-precautions.mdc +16 -0
- package/.cursor/rules/playwright-browser.mdc +30 -0
- package/.cursor/rules/readme-todo-sync.mdc +13 -0
- package/.env.qa.example +19 -0
- package/.github/workflows/qa-live.yml +32 -0
- package/.github/workflows/qa.yml +27 -0
- package/.vscode/settings.json +32 -0
- package/QA/IAM-PLAN.md +25 -0
- package/QA/IAM-RESULTS.md +39 -0
- package/QA/IAM-TESTCASES.md +36 -0
- package/QA/IAM-TODO.md +7 -0
- package/QA/KEYCLOAK-BOOTSTRAP.md +105 -0
- package/QA/PLAN.md +43 -0
- package/QA/RESULTS.md +59 -0
- package/QA/TESTCASES.md +65 -0
- package/QA/TODO.md +14 -0
- package/QA/pmb-dev/README.md +49 -0
- package/QA/pmb-dev/config/config.yml +152 -0
- package/QA/pmb-dev/gdl/i.gdl +17 -0
- package/README.md +851 -2
- package/Todo.md +207 -0
- package/assets/branding/crudforge-logo.png +0 -0
- package/assets/branding/crudforge-mark.png +0 -0
- package/branding/poster-crudforge.jpg +0 -0
- package/chat/last-chat/Investigating Mock Data Configuration.md +428 -0
- package/cli.js +167 -0
- package/config/default-config.yml +245 -0
- package/docs/performance/README.md +217 -0
- package/docs/performance/after.json +111 -0
- package/docs/performance/before.json +111 -0
- package/docs/quality/README.md +276 -0
- package/e2e/crudforge.e2e.yml +47 -0
- package/e2e/crudforge.field-profile.yml +33 -0
- package/e2e/crudforge.iam-live.yml +124 -0
- package/e2e/crudforge.iam.yml +62 -0
- package/e2e/tests/field-profile.spec.js +152 -0
- package/e2e/tests/generated-crud.spec.js +251 -0
- package/e2e/tests/iam-live.spec.js +149 -0
- package/e2e/tests/iam-pack.spec.js +151 -0
- package/e2e/tests/list-state.spec.js +73 -0
- package/features.csv +27 -0
- package/fuse-starter-pack/branding/crudforge-mark-source.jpg +0 -0
- package/fuse-starter-pack/branding/crudforge-mark-source.png +0 -0
- package/fuse-starter-pack/branding/crudforge-mark.png +0 -0
- package/fuse-starter-pack/branding/crudforge-wordmark-source.jpg +0 -0
- package/fuse-starter-pack/branding/crudforge-wordmark-source.png +0 -0
- package/fuse-starter-pack/branding/crudforge-wordmark.png +0 -0
- package/fuse-starter-pack/fuse-v21.1/Dockerfile +14 -0
- package/fuse-starter-pack/fuse-v21.1/LICENSE.md +6 -0
- package/fuse-starter-pack/fuse-v21.1/README.md +59 -0
- package/fuse-starter-pack/fuse-v21.1/angular.json +113 -0
- package/fuse-starter-pack/fuse-v21.1/eslint.config.ts +150 -0
- package/fuse-starter-pack/fuse-v21.1/nginx.conf +23 -0
- package/fuse-starter-pack/fuse-v21.1/nginx.dev.conf +18 -0
- package/fuse-starter-pack/fuse-v21.1/package-lock.json +11513 -0
- package/fuse-starter-pack/fuse-v21.1/package.json +69 -0
- package/fuse-starter-pack/fuse-v21.1/postcss.config.json +5 -0
- package/fuse-starter-pack/fuse-v21.1/prettier.config.ts +15 -0
- package/fuse-starter-pack/fuse-v21.1/proxy.conf.json +8 -0
- package/fuse-starter-pack/fuse-v21.1/proxy.dev.conf.json +8 -0
- package/fuse-starter-pack/fuse-v21.1/public/favicon.png +0 -0
- package/fuse-starter-pack/fuse-v21.1/public/fonts/geist/Geist-Italic.woff2 +0 -0
- package/fuse-starter-pack/fuse-v21.1/public/fonts/geist/Geist.woff2 +0 -0
- package/fuse-starter-pack/fuse-v21.1/public/fonts/geist/GeistMono-Italic.woff2 +0 -0
- package/fuse-starter-pack/fuse-v21.1/public/fonts/geist/GeistMono.woff2 +0 -0
- package/fuse-starter-pack/fuse-v21.1/public/i18n/en.json +8 -0
- package/fuse-starter-pack/fuse-v21.1/public/i18n/es.json +8 -0
- package/fuse-starter-pack/fuse-v21.1/public/images/flags/ES.svg +79 -0
- package/fuse-starter-pack/fuse-v21.1/public/images/flags/US.svg +14 -0
- package/fuse-starter-pack/fuse-v21.1/public/images/flags/where-to-find-other-flags.txt +5 -0
- package/fuse-starter-pack/fuse-v21.1/public/images/logo/logo-mark.png +0 -0
- package/fuse-starter-pack/fuse-v21.1/public/images/logo/logo.png +0 -0
- package/fuse-starter-pack/fuse-v21.1/push.sh +27 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/app.config.server.ts +10 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/app.config.ts +64 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/app.routes.server.ts +8 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/app.routes.ts +39 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/app.ts +22 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/core/icons/index.ts +1 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/core/icons/lucide.ts +1 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/core/icons/provider.ts +23 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/core/local-storage/index.ts +2 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/core/local-storage/local-storage.ts +109 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/core/local-storage/provider.ts +15 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/core/media/index.ts +2 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/core/media/media.ts +64 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/core/media/provider.ts +15 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/core/theming/index.ts +3 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/core/theming/models/theming.ts +13 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/core/theming/palette.ts +209 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/core/theming/provider.ts +24 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/core/theming/theming.ts +129 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/core/transloco/transloco-http-loader.ts +12 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/layout/data/navigation.ts +176 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/layout/layout.ts +77 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/layout/ui/language-switcher.ts +91 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/layout/ui/navigation.ts +238 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/layout/ui/notifications.ts +252 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/layout/ui/scheme-switcher.ts +58 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/layout/ui/sidebar.ts +31 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/layout/ui/user.ts +132 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/apps/academy/data/academy.ts +753 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/apps/academy/data/model.ts +27 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/apps/academy/features/course.ts +318 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/apps/academy/features/courses.ts +228 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/apps/academy/routes.ts +14 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/apps/contacts/data/contacts.ts +4372 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/apps/contacts/data/model.ts +34 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/apps/contacts/features/contact.ts +239 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/apps/contacts/features/contacts.ts +185 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/apps/contacts/routes.ts +16 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/apps/file-manager/data/file-manager.ts +261 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/apps/file-manager/data/model.ts +12 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/apps/file-manager/features/file-manager.ts +131 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/apps/file-manager/routes.ts +15 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/apps/file-manager/ui/list.ts +164 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/apps/help-center/features/faq.ts +288 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/apps/help-center/features/guide.ts +134 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/apps/help-center/features/home.ts +219 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/apps/help-center/features/support.ts +161 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/apps/help-center/routes.ts +33 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/apps/notes/data/model.ts +18 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/apps/notes/data/notes.ts +324 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/apps/notes/features/note.ts +152 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/apps/notes/features/notes.ts +118 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/apps/notes/routes.ts +16 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/apps/tasks/data/model.ts +17 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/apps/tasks/data/tasks.ts +562 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/apps/tasks/features/task.ts +195 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/apps/tasks/features/tasks.ts +271 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/apps/tasks/routes.ts +16 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/dashboards/data/analytics.ts +1620 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/dashboards/data/finance.ts +1065 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/dashboards/data/project.ts +376 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/dashboards/features/analytics/analytics.ts +1096 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/dashboards/features/finance/finance.ts +658 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/dashboards/features/project/budget-table.ts +188 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/dashboards/features/project/project.ts +565 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/dashboards/routes.ts +23 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/documentation/features/changelog/changelog.ts +932 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/documentation/features/getting-started/building.ts +33 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/documentation/features/getting-started/development.ts +42 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/documentation/features/getting-started/installation.ts +47 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/documentation/layout.ts +9 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/documentation/routes.ts +45 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/extras/error/features/error-page.ts +70 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/extras/error/routes.ts +21 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/extras/notifications/features/notifications.ts +262 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/extras/notifications/routes.ts +10 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/extras/settings/features/account.ts +238 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/extras/settings/features/notifications.ts +134 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/extras/settings/features/plan-and-billing.ts +238 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/extras/settings/features/security.ts +211 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/extras/settings/features/team.ts +188 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/extras/settings/layout.ts +109 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/extras/settings/routes.ts +37 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/modules/extras/welcome/welcome.component.ts +22 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/admin/routes.ts +95 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/auth/features/forgot-password/forgot-password.html +54 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/auth/features/forgot-password/forgot-password.ts +51 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/auth/features/reset-password/reset-password.html +82 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/auth/features/reset-password/reset-password.ts +69 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/auth/features/sign-in/sign-in.html +132 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/auth/features/sign-in/sign-in.ts +54 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/auth/features/sign-up/sign-up.html +183 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/auth/features/sign-up/sign-up.ts +56 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/auth/layout.ts +9 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/auth/routes.ts +34 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/coming-soon/features/coming-soon.ts +156 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/coming-soon/layout.ts +9 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/coming-soon/routes.ts +16 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/website/layout/layout.ts +9 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/website/modules/home/features/home.ts +23 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/website/modules/home/routes.ts +10 -0
- package/fuse-starter-pack/fuse-v21.1/src/app/domains/website/routes.ts +30 -0
- package/fuse-starter-pack/fuse-v21.1/src/environments/environment.mock.ts +5 -0
- package/fuse-starter-pack/fuse-v21.1/src/environments/environment.prod.ts +5 -0
- package/fuse-starter-pack/fuse-v21.1/src/environments/environment.ts +5 -0
- package/fuse-starter-pack/fuse-v21.1/src/index.html +66 -0
- package/fuse-starter-pack/fuse-v21.1/src/main.server.ts +11 -0
- package/fuse-starter-pack/fuse-v21.1/src/main.ts +5 -0
- package/fuse-starter-pack/fuse-v21.1/src/server.ts +70 -0
- package/fuse-starter-pack/fuse-v21.1/src/styles/base/base.css +63 -0
- package/fuse-starter-pack/fuse-v21.1/src/styles/base/typography.css +54 -0
- package/fuse-starter-pack/fuse-v21.1/src/styles/components/a.css +18 -0
- package/fuse-starter-pack/fuse-v21.1/src/styles/components/input.css +22 -0
- package/fuse-starter-pack/fuse-v21.1/src/styles/components/kbd.css +55 -0
- package/fuse-starter-pack/fuse-v21.1/src/styles/components/material.css +1149 -0
- package/fuse-starter-pack/fuse-v21.1/src/styles/styles.css +31 -0
- package/fuse-starter-pack/fuse-v21.1/src/styles/tailwind/theme.css +147 -0
- package/fuse-starter-pack/fuse-v21.1/src/styles/tailwind/utilities.css +563 -0
- package/fuse-starter-pack/fuse-v21.1/src/styles/tailwind/variants.css +4 -0
- package/fuse-starter-pack/fuse-v21.1/src/styles/third-party/lucide-icons.css +12 -0
- package/fuse-starter-pack/fuse-v21.1/tsconfig.app.json +16 -0
- package/fuse-starter-pack/fuse-v21.1/tsconfig.json +37 -0
- package/fuse-starter-pack/fuse-v21.1/tsconfig.spec.json +10 -0
- package/generator/README.md +12 -0
- package/generator/issues/.gitkeep +0 -0
- package/package.json +56 -4
- package/playwright.config.js +29 -0
- package/playwright.field-profile.config.js +6 -0
- package/playwright.iam-live.config.js +31 -0
- package/playwright.iam.config.js +29 -0
- package/playwright.list-state.config.js +6 -0
- package/playwright.performance.config.js +1 -0
- package/run-config-tests.sh +5 -0
- package/scripts/e2e-paths.js +89 -0
- package/scripts/e2e-prepare-field-profile.js +17 -0
- package/scripts/e2e-prepare-iam-live.js +135 -0
- package/scripts/e2e-prepare-iam.js +65 -0
- package/scripts/e2e-prepare.js +72 -0
- package/scripts/e2e-serve-iam-live.js +28 -0
- package/scripts/e2e-serve-iam.js +28 -0
- package/scripts/e2e-serve.js +28 -0
- package/scripts/performance/generate.js +17 -0
- package/scripts/performance/measure.js +55 -0
- package/scripts/postinstall.js +9 -0
- package/scripts/prepare-quality-apps.js +34 -0
- package/scripts/run-config-tests.js +63 -0
- package/src/assets/logo-with-lable.jpeg +0 -0
- package/src/assets/logo.jpeg +0 -0
- package/src/commands/bootstrap.js +92 -0
- package/src/commands/doctor.js +403 -0
- package/src/commands/generate.js +301 -0
- package/src/commands/init-config.js +310 -0
- package/src/commands/keycloak-options.js +182 -0
- package/src/commands/validate.js +52 -0
- package/src/config/auth-config.js +183 -0
- package/src/config/default-values.js +235 -0
- package/src/config/env-refs.js +71 -0
- package/src/config/field-preferences.js +99 -0
- package/src/config/input-sources.js +104 -0
- package/src/config/load-config.js +166 -0
- package/src/config/proxy-routes.js +44 -0
- package/src/generator/access-control-tools.js +334 -0
- package/src/generator/ai-docs.js +691 -0
- package/src/generator/application-tests.js +252 -0
- package/src/generator/auth-pack.js +965 -0
- package/src/generator/embed-config.js +431 -0
- package/src/generator/entity-layout.js +30 -0
- package/src/generator/fuse-build.js +57 -0
- package/src/generator/fuse-runtime.js +344 -0
- package/src/generator/generated-banner.js +137 -0
- package/src/generator/index.js +874 -0
- package/src/generator/project-output.js +126 -0
- package/src/generator/team-pack.js +220 -0
- package/src/index.js +68 -0
- package/src/parser/gdl-parser.js +169 -0
- package/src/parser/jdl-parser.js +171 -0
- package/src/presets/pmb-test.js +139 -0
- package/src/presets/static-source.js +73 -0
- package/src/presets/store.js +96 -0
- package/src/provision/admin-service.js +148 -0
- package/src/provision/bootstrap.js +147 -0
- package/src/provision/http.js +123 -0
- package/src/provision/keycloak-admin-rest.js +335 -0
- package/src/provision/state.js +51 -0
- package/src/provision/token.js +52 -0
- package/src/templates/angular/auth/access-control.service.ts.ejs +179 -0
- package/src/templates/angular/auth/access-ctrl.pipe.ts.ejs +20 -0
- package/src/templates/angular/auth/auth.guard.ts.ejs +27 -0
- package/src/templates/angular/auth/auth.interceptor.ts.ejs +53 -0
- package/src/templates/angular/auth/auth.service.ts.ejs +594 -0
- package/src/templates/angular/auth/auth.utils.ts.ejs +28 -0
- package/src/templates/angular/auth/current-user.ts.ejs +24 -0
- package/src/templates/angular/auth/disabled-account-overlay.component.css.ejs +95 -0
- package/src/templates/angular/auth/disabled-account-overlay.component.html.ejs +33 -0
- package/src/templates/angular/auth/disabled-account-overlay.component.ts.ejs +23 -0
- package/src/templates/angular/auth/fuse-account.ts.ejs +234 -0
- package/src/templates/angular/auth/fuse-user.ts.ejs +264 -0
- package/src/templates/angular/auth/has-permission.directive.ts.ejs +51 -0
- package/src/templates/angular/auth/index.ts.ejs +24 -0
- package/src/templates/angular/auth/keycloak-admin.service.ts.ejs +670 -0
- package/src/templates/angular/auth/landing.guard.ts.ejs +61 -0
- package/src/templates/angular/auth/no-auth.guard.ts.ejs +19 -0
- package/src/templates/angular/auth/permission-attribute.util.ts.ejs +182 -0
- package/src/templates/angular/auth/sign-in.ts.ejs +60 -0
- package/src/templates/angular/entity/_entity_.model.ts.ejs +64 -0
- package/src/templates/angular/entity/_entity_.routes.ts.ejs +9 -0
- package/src/templates/angular/entity/components/forms/form/_entity_-form.component.html.ejs +168 -0
- package/src/templates/angular/entity/components/forms/form/_entity_-form.component.ts.ejs +175 -0
- package/src/templates/angular/entity/components/forms/form-page/_entity_-form-page.component.html.ejs +10 -0
- package/src/templates/angular/entity/components/forms/form-page/_entity_-form-page.component.ts.ejs +86 -0
- package/src/templates/angular/entity/components/forms/update/_entity_-form.service.ts.ejs +136 -0
- package/src/templates/angular/entity/components/interaction/actions/_entity_-actions.component.html.ejs +68 -0
- package/src/templates/angular/entity/components/interaction/actions/_entity_-actions.component.ts.ejs +69 -0
- package/src/templates/angular/entity/components/interaction/filter/_entity_-filter.component.html.ejs +111 -0
- package/src/templates/angular/entity/components/interaction/filter/_entity_-filter.component.ts.ejs +102 -0
- package/src/templates/angular/entity/components/presentation/card/_entity_-card.component.css.ejs +33 -0
- package/src/templates/angular/entity/components/presentation/card/_entity_-card.component.html.ejs +29 -0
- package/src/templates/angular/entity/components/presentation/card/_entity_-card.component.ts.ejs +93 -0
- package/src/templates/angular/entity/components/presentation/detail/_entity_-detail.component.css.ejs +54 -0
- package/src/templates/angular/entity/components/presentation/detail/_entity_-detail.component.html.ejs +58 -0
- package/src/templates/angular/entity/components/presentation/detail/_entity_-detail.component.ts.ejs +47 -0
- package/src/templates/angular/entity/components/presentation/list/_entity_-list.component.html.ejs +419 -0
- package/src/templates/angular/entity/components/presentation/list/_entity_-list.component.scss.ejs +48 -0
- package/src/templates/angular/entity/components/presentation/list/_entity_-list.component.ts.ejs +592 -0
- package/src/templates/angular/entity/service/_entity_.service.ts.ejs +153 -0
- package/src/templates/angular/entity/settings/_entity_.settings.ts.ejs +49 -0
- package/src/templates/angular/enums/_enum_.model.ts.ejs +11 -0
- package/src/templates/angular/iam/change-password.component.html.ejs +39 -0
- package/src/templates/angular/iam/change-password.component.ts.ejs +44 -0
- package/src/templates/angular/iam/no-access.component.ts.ejs +17 -0
- package/src/templates/angular/iam/role-list.component.html.ejs +331 -0
- package/src/templates/angular/iam/role-list.component.scss.ejs +107 -0
- package/src/templates/angular/iam/role-list.component.ts.ejs +597 -0
- package/src/templates/angular/iam/role-management/role-header.component.html.ejs +51 -0
- package/src/templates/angular/iam/role-management/role-header.component.ts.ejs +45 -0
- package/src/templates/angular/iam/role-management/role-inheritance.component.html.ejs +15 -0
- package/src/templates/angular/iam/role-management/role-inheritance.component.ts.ejs +19 -0
- package/src/templates/angular/iam/role-management/role-permissions-panel.component.css.ejs +24 -0
- package/src/templates/angular/iam/role-management/role-permissions-panel.component.html.ejs +108 -0
- package/src/templates/angular/iam/role-management/role-permissions-panel.component.ts.ejs +122 -0
- package/src/templates/angular/iam/role-management/role-users.component.html.ejs +104 -0
- package/src/templates/angular/iam/role-management/role-users.component.ts.ejs +53 -0
- package/src/templates/angular/iam/role-management/user-select-dialog.component.html.ejs +113 -0
- package/src/templates/angular/iam/role-management/user-select-dialog.component.ts.ejs +157 -0
- package/src/templates/angular/iam/role-permission-matrix.component.html.ejs +355 -0
- package/src/templates/angular/iam/role-permission-matrix.component.scss.ejs +217 -0
- package/src/templates/angular/iam/role-permission-matrix.component.ts.ejs +800 -0
- package/src/templates/angular/iam/screen-catalog.ts.ejs +147 -0
- package/src/templates/angular/iam/shared/confirm-dialog.component.ts.ejs +83 -0
- package/src/templates/angular/iam/shared/matrix-hierarchy.util.ts.ejs +196 -0
- package/src/templates/angular/iam/shared/permission-matrix-sound.ts.ejs +59 -0
- package/src/templates/angular/iam/shared/role-display.util.ts.ejs +43 -0
- package/src/templates/angular/iam/shared/role-permission-skeleton.component.ts.ejs +54 -0
- package/src/templates/angular/iam/shared/screen-matrix.util.ts.ejs +554 -0
- package/src/templates/angular/iam/shared/screen-navigation-map.ts.ejs +187 -0
- package/src/templates/angular/iam/shared/screen-navigation.registry.ts.ejs +64 -0
- package/src/templates/angular/iam/shared/text-highlight.pipe.ts.ejs +39 -0
- package/src/templates/angular/iam/user-access-matrix.component.html.ejs +212 -0
- package/src/templates/angular/iam/user-access-matrix.component.scss.ejs +34 -0
- package/src/templates/angular/iam/user-access-matrix.component.ts.ejs +239 -0
- package/src/templates/angular/iam/user-detail.component.html.ejs +143 -0
- package/src/templates/angular/iam/user-detail.component.ts.ejs +108 -0
- package/src/templates/angular/iam/user-form.component.html.ejs +63 -0
- package/src/templates/angular/iam/user-form.component.ts.ejs +100 -0
- package/src/templates/angular/iam/user-list.component.html.ejs +369 -0
- package/src/templates/angular/iam/user-list.component.scss.ejs +242 -0
- package/src/templates/angular/iam/user-list.component.ts.ejs +446 -0
- package/src/templates/angular/iam/user-management.routes.ts.ejs +47 -0
- package/src/templates/angular/iam/user-permission-matrix.component.html.ejs +231 -0
- package/src/templates/angular/iam/user-permission-matrix.component.scss.ejs +216 -0
- package/src/templates/angular/iam/user-permission-matrix.component.ts.ejs +516 -0
- package/src/templates/angular/shared/base/audit-user-name.pipe.ts.ejs +69 -0
- package/src/templates/angular/shared/base/base-filter.component.ts.ejs +245 -0
- package/src/templates/angular/shared/base/base-form.component.ts.ejs +109 -0
- package/src/templates/angular/shared/base/base-list.component.ts.ejs +507 -0
- package/src/templates/angular/shared/base/filter-types.ts.ejs +55 -0
- package/src/templates/angular/shared/base/input-format.directive.ts.ejs +47 -0
- package/src/templates/angular/shared/base/input-format.ts.ejs +15 -0
- package/src/templates/angular/shared/confirm-with-input-dialog.component.ts.ejs +91 -0
- package/src/templates/angular/shared/confirmation-dialog.component.ts.ejs +80 -0
- package/src/templates/angular/shared/list-styles.css.ejs +103 -0
- package/src/templates/angular/shared/loading-overlay.component.ts.ejs +24 -0
- package/src/templates/angular/shared/resizable.directive.ts.ejs +115 -0
- package/src/templates/angular/shared/snackbar-styles.css.ejs +11 -0
- package/src/templates/fuse-packs/access-control-tools/access-control-sync.js +819 -0
- package/src/templates/fuse-packs/access-control-tools/build-rename-map.js +67 -0
- package/src/templates/fuse-packs/access-control-tools/inject-qa-ids.js +14 -0
- package/src/templates/fuse-packs/access-control-tools/lib/hierarchy-scanner.js +628 -0
- package/src/templates/fuse-packs/access-control-tools/lib/hierarchy-scanner.test.js +323 -0
- package/src/templates/fuse-packs/access-control-tools/lib/html-scanner.js +362 -0
- package/src/templates/fuse-packs/access-control-tools/lib/id-rules.duplicate.test.js +136 -0
- package/src/templates/fuse-packs/access-control-tools/lib/id-rules.js +1095 -0
- package/src/templates/fuse-packs/access-control-tools/lib/ts-component-index.js +482 -0
- package/src/templates/fuse-packs/access-control-tools/output/.gitkeep +0 -0
- package/src/templates/fuse-packs/access-control-tools/run.sh +223 -0
- package/src/templates/fuse-packs/access-control-tools/scan-access-control.js +14 -0
- package/src/templates/fuse-packs/iam-assets/sound/apple-play.mp3 +0 -0
- package/src/templates/fuse-packs/iam-assets/sound/remove.mp3 +0 -0
- package/src/templates/generator/README.md +12 -0
- package/src/templates/testing/ci.cjs +45 -0
- package/src/templates/testing/mock.cjs +149 -0
- package/src/templates/testing/playwright.config.cjs +25 -0
- package/src/templates/testing/serve.cjs +22 -0
- package/src/templates/testing/smoke.spec.cjs +180 -0
- package/src/utils/branding.js +39 -0
- package/src/utils/colors.js +18 -0
- package/src/utils/diff.js +109 -0
- package/src/utils/merger.js +115 -0
- package/src/validator/backend-diagnostics.js +30 -0
- package/src/validator/blueprint-validator.js +276 -0
- package/src/validator/diagnostics.js +608 -0
- package/src/validator/pattern.js +28 -0
- package/test/auth-interceptor.js +84 -0
- package/test/auth-provision-checks.js +297 -0
- package/test/field-preferences.js +145 -0
- package/test/fixtures/field-profile.gdl +7 -0
- package/test/fixtures/mock.jdl +17 -0
- package/test/fixtures/mock.png +0 -0
- package/test/fixtures/performance/config.yml +33 -0
- package/test/fixtures/performance/large.gdl +199 -0
- package/test/fixtures/performance/small.gdl +7 -0
- package/test/fixtures/quality/custom.yml +22 -0
- package/test/fixtures/quality/go-duck.yml +22 -0
- package/test/fixtures/quality/jhipster.yml +30 -0
- package/test/fixtures/quality/representative.gdl +14 -0
- package/test/list-state.js +138 -0
- package/test/micro-functions-layout.js +95 -0
- package/test/performance-generation.js +32 -0
- package/test/pmb-preset.js +127 -0
- package/test/project-workflow.js +111 -0
- package/test/quality-features.js +250 -0
- package/test/verify-commands.js +83 -0
- package/test/verify.js +959 -0
- package/test-files/GDL/example.gdl +15 -0
- package/test-files/JDL/example.jdl +15 -0
- package/test-files/config/crudforge.config.yml +127 -0
- package/test-run.sh +272 -0
package/QA/TESTCASES.md
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# CRUDForge test cases
|
|
2
|
+
|
|
3
|
+
Automated cases are tagged `[auto]`. Manual / MCP exploration is tagged `[manual]`.
|
|
4
|
+
|
|
5
|
+
## Auth
|
|
6
|
+
|
|
7
|
+
| ID | Title | Steps | Expected | Tag |
|
|
8
|
+
|---|---|---|---|---|
|
|
9
|
+
| AUTH-01 | Sign in with demo credentials | Open `/auth/sign-in`. Confirm email is prefilled. Click Sign in. | Lands on `/admin` (welcome or dashboard). | [auto] |
|
|
10
|
+
| AUTH-02 | Sign-in page branding | Open `/auth/sign-in`. | CRUDForge logo/copy visible. Primary button uses Fuse root theme. | [auto] |
|
|
11
|
+
|
|
12
|
+
## Navigation
|
|
13
|
+
|
|
14
|
+
| ID | Title | Steps | Expected | Tag |
|
|
15
|
+
|---|---|---|---|---|
|
|
16
|
+
| NAV-01 | Open Books | After sign-in go to `/admin/book` or click Books. | Heading Book Management. New button visible. Rows load. | [auto] |
|
|
17
|
+
| NAV-02 | Open Authors | Go to `/admin/author` or click Authors. | Heading Author Management. New button visible. | [auto] |
|
|
18
|
+
|
|
19
|
+
## List
|
|
20
|
+
|
|
21
|
+
| ID | Title | Steps | Expected | Tag |
|
|
22
|
+
|---|---|---|---|---|
|
|
23
|
+
| LIST-01 | Mock rows render | Open Books. | At least one title like `Mock title`. Pagination shows a total. | [auto] |
|
|
24
|
+
| LIST-02 | Pagination | Open Books. Change page or items per page if 12+ rows. | Page changes without blanking the table. | [auto] |
|
|
25
|
+
| LIST-03 | Pin row | Click pin on first row. | Pin icon stays active / row stays pinned on refresh of the table. | [auto] |
|
|
26
|
+
| LIST-04 | Flag row | Open flag menu, pick a color. | Flag icon color updates. | [auto] |
|
|
27
|
+
| LIST-05 | Export control | Look for export FAB. | Export menu offers filtered and all. | [auto] |
|
|
28
|
+
|
|
29
|
+
## Search
|
|
30
|
+
|
|
31
|
+
| ID | Title | Steps | Expected | Tag |
|
|
32
|
+
|---|---|---|---|---|
|
|
33
|
+
| SEARCH-01 | Field search controls | Open Books. | Search-by combobox and Search placeholder are visible. | [auto] |
|
|
34
|
+
| SEARCH-02 | Search by title | Set search-by Title. Type `Mock title 1`. | Matching titles stay (`1`, `10`, `11`, `12`); `Mock title 2` drops. | [auto] |
|
|
35
|
+
|
|
36
|
+
## Filter
|
|
37
|
+
|
|
38
|
+
| ID | Title | Steps | Expected | Tag |
|
|
39
|
+
|---|---|---|---|---|
|
|
40
|
+
| FILTER-01 | Open filter drawer | Click funnel button. | Advanced Filters drawer opens from the start side. | [auto] |
|
|
41
|
+
| FILTER-02 | Apply and close | Set a title contains filter if exposed. Apply. | Drawer closes. List reflects filter. | [auto] |
|
|
42
|
+
|
|
43
|
+
## Forms (sidebar mode)
|
|
44
|
+
|
|
45
|
+
| ID | Title | Steps | Expected | Tag |
|
|
46
|
+
|---|---|---|---|---|
|
|
47
|
+
| FORM-01 | New opens sidebar | Click New on Books. | URL stays on `/admin/book`. Drawer `.cforge-form-drawer` shows New Book. | [auto] |
|
|
48
|
+
| FORM-02 | Edit opens sidebar | Click Edit. Confirm. | URL is not `/:id/edit`. Same drawer shows Edit Book. | [auto] |
|
|
49
|
+
| FORM-03 | New validation | Open New. Submit empty required title. | Save stays disabled or shows required error. No navigation. | [auto] |
|
|
50
|
+
| FORM-04 | New cancel | Open New. Click Cancel. | Drawer closes. Still on list. | [auto] |
|
|
51
|
+
| FORM-05 | Author new sidebar | On Authors click New. | Sidebar New Author, not `/author/new`. | [auto] |
|
|
52
|
+
|
|
53
|
+
## Detail and delete
|
|
54
|
+
|
|
55
|
+
| ID | Title | Steps | Expected | Tag |
|
|
56
|
+
|---|---|---|---|---|
|
|
57
|
+
| DETAIL-01 | View details | Click View Details on first book. | `/admin/book/:id/view` shows Book Details and Back. | [auto] |
|
|
58
|
+
| DETAIL-02 | Back from detail | Click Back. | Returns to Book list. | [auto] |
|
|
59
|
+
| DELETE-01 | Delete confirm cancel | Click Delete. Click Cancel. | Dialog closes. Row still present. | [auto] |
|
|
60
|
+
|
|
61
|
+
## Card view
|
|
62
|
+
|
|
63
|
+
| ID | Title | Steps | Expected | Tag |
|
|
64
|
+
|---|---|---|---|---|
|
|
65
|
+
| CARD-01 | Toggle card view | Click Switch to Card View. | Cards render. Edit on a card still opens the sidebar. | [auto] |
|
package/QA/TODO.md
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# QA agent todo
|
|
2
|
+
|
|
3
|
+
Use this list when starting or resuming a CRUDForge QA session.
|
|
4
|
+
|
|
5
|
+
- [x] Confirm `e2e/.app` exists and `npm run e2e:serve` is healthy on :4200
|
|
6
|
+
- [x] Run `npm run test:e2e` (automated AUTH/NAV/LIST/SEARCH/FILTER/FORM/DETAIL/DELETE/CARD)
|
|
7
|
+
- [x] Record automated results in `QA/RESULTS.md`
|
|
8
|
+
- [x] Fix DEF-01 (detail Back 404) and DEF-02 (missing aria-labels); retest
|
|
9
|
+
- [x] Walk branding, pin, flag, export, filter apply (now automated)
|
|
10
|
+
- [x] Author new-form parity (FORM-05 passed)
|
|
11
|
+
- [x] File S1/S2 defects against `src/templates/**` (DEF-01)
|
|
12
|
+
- [x] Clean `e2e:prepare` is not required for this pass (`e2e/.app` already has the template fixes; regenerate only after the next template batch)
|
|
13
|
+
- [x] Keep `node test/verify.js` in mind when templates change
|
|
14
|
+
- [x] Update the QA canvas with the latest pass counts
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Config-driven PMB development QA
|
|
2
|
+
|
|
3
|
+
Initialize a project using the checkout's CLI:
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
node cli.js init /path/to/testing-area/crudforge-app
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Edit `crudforge-app/config/crudforge.config.yml` and `crudforge-app/gdl/example.gdl`, then run:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
CRUDFORGE_TESTING_AREA=/path/to/testing-area ./run-config-tests.sh validate
|
|
13
|
+
CRUDFORGE_TESTING_AREA=/path/to/testing-area ./run-config-tests.sh generate
|
|
14
|
+
CRUDFORGE_TESTING_AREA=/path/to/testing-area ./run-config-tests.sh ci
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
The default testing area is `/Users/abdulla/Work/CRUD-FORDGE-SETUP/crud-fordge-testing-area`.
|
|
18
|
+
Alternatively set `CRUDFORGE_PROJECT_DIR` to any initialized project directory.
|
|
19
|
+
Paths in the config are relative to that project. Keep `output.directory: .`.
|
|
20
|
+
The runner honors the configuration's overwrite policy. For an intentionally disposable QA
|
|
21
|
+
app, explicitly set `CRUDFORGE_OVERWRITE_POLICY=overwrite` when regenerating it.
|
|
22
|
+
|
|
23
|
+
This folder's `config/config.yml` and `gdl/i.gdl` are optional PMB development input templates.
|
|
24
|
+
For a new project, use the PMB template as its `config/crudforge.config.yml` and place `i.gdl`
|
|
25
|
+
in its `gdl/` folder. Review existing inputs before replacing them. Do not retain two competing
|
|
26
|
+
configuration files: discovery prefers `config/crudforge.config.yml` over `config/config.yml`.
|
|
27
|
+
Previously created sibling `config/` and `gdl/` folders are not automatically moved or deleted.
|
|
28
|
+
Move your chosen inputs into the project, update `output.directory` to `.`, and keep
|
|
29
|
+
`input.file: ./gdl/i.gdl` when using this template.
|
|
30
|
+
|
|
31
|
+
PMB's `set-env.js` only stamps build IDs. These templates use the settings from
|
|
32
|
+
`src/environments/environment.development.ts` and `proxy.dev.conf.json`:
|
|
33
|
+
|
|
34
|
+
- Realm: `PMB-DEV`; public SPA client: `admin-portal`.
|
|
35
|
+
- OIDC and admin gateway: `http://62.84.188.166:31698`.
|
|
36
|
+
- Session idle timeout: 15 minutes.
|
|
37
|
+
- Service targets and rewrite paths: PMB development proxy settings, including aliases.
|
|
38
|
+
|
|
39
|
+
Both generated proxy files use development services. No confidential client secret,
|
|
40
|
+
operator password, secondary DAD login, or Keycloak provisioning is included.
|
|
41
|
+
The Book/Author GDL exercises generation; its endpoints are not verified PMB APIs.
|
|
42
|
+
Replace it with your domain schema and set `api.microservice` accordingly.
|
|
43
|
+
|
|
44
|
+
Use Node 24+ and run `npm ci` in the CRUDForge checkout first. CI mode validates inputs,
|
|
45
|
+
runs generator regression tests, generates the app, installs app dependencies on first use,
|
|
46
|
+
and runs `build:dev`. After app dependencies change, run `npm ci` in the app to refresh them.
|
|
47
|
+
It does not log in or run live browser/API tests. The existing `test-run.sh` remains a separate
|
|
48
|
+
mock/live Playwright workflow with its own QA settings. For manual inspection, run
|
|
49
|
+
`npm run dev` inside the generated app.
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# PMB development snapshot from environment.development.ts + proxy.dev.conf.json.
|
|
2
|
+
# set-env.js only stamps build IDs. No confidential client or user credentials copied.
|
|
3
|
+
# Both generated proxy files intentionally use DEV targets; this is a test app.
|
|
4
|
+
# Paths resolve from the project root. Example GDL uses pmb-reference-module.
|
|
5
|
+
project:
|
|
6
|
+
name: PMB Development Generator QA
|
|
7
|
+
input:
|
|
8
|
+
file: ./gdl/i.gdl
|
|
9
|
+
type: gdl
|
|
10
|
+
output:
|
|
11
|
+
directory: .
|
|
12
|
+
overwritePolicy: fail
|
|
13
|
+
structure: shared-central
|
|
14
|
+
embedConfig: true
|
|
15
|
+
validation: true
|
|
16
|
+
dryRun: false
|
|
17
|
+
fuse:
|
|
18
|
+
enabled: true
|
|
19
|
+
cleanLayout: true
|
|
20
|
+
includePrebuilt: false
|
|
21
|
+
git:
|
|
22
|
+
enabled: false
|
|
23
|
+
api:
|
|
24
|
+
baseUrl: /api
|
|
25
|
+
microservice: pmb-reference-module
|
|
26
|
+
services:
|
|
27
|
+
pmb-tracebility-module:
|
|
28
|
+
dev: http://62.84.188.166:31725
|
|
29
|
+
prod: http://62.84.188.166:31725
|
|
30
|
+
pathRewrite: /pmb-tracebility-module
|
|
31
|
+
pmb-identity-access-module:
|
|
32
|
+
dev: http://62.84.188.166:31704
|
|
33
|
+
prod: http://62.84.188.166:31704
|
|
34
|
+
pathRewrite: /pmb-identity-access-module
|
|
35
|
+
identityaccessmodule:
|
|
36
|
+
dev: http://62.84.188.166:31704
|
|
37
|
+
prod: http://62.84.188.166:31704
|
|
38
|
+
pathRewrite: /pmb-identity-access-module
|
|
39
|
+
pmb-referenceModule:
|
|
40
|
+
dev: http://62.84.188.166:31707
|
|
41
|
+
prod: http://62.84.188.166:31707
|
|
42
|
+
pathRewrite: /pmb-reference-module
|
|
43
|
+
pmb-referencemodule:
|
|
44
|
+
dev: http://62.84.188.166:31707
|
|
45
|
+
prod: http://62.84.188.166:31707
|
|
46
|
+
pathRewrite: /pmb-reference-module
|
|
47
|
+
pmb-reference-module:
|
|
48
|
+
dev: http://62.84.188.166:31707
|
|
49
|
+
prod: http://62.84.188.166:31707
|
|
50
|
+
pathRewrite: /pmb-reference-module
|
|
51
|
+
pmb-warehouse-module:
|
|
52
|
+
dev: http://62.84.188.166:31710
|
|
53
|
+
prod: http://62.84.188.166:31710
|
|
54
|
+
pathRewrite: /pmb-warehouse-module
|
|
55
|
+
pmb-warehousemodule:
|
|
56
|
+
dev: http://62.84.188.166:31710
|
|
57
|
+
prod: http://62.84.188.166:31710
|
|
58
|
+
pathRewrite: /pmb-warehouse-module
|
|
59
|
+
pmb-document-module:
|
|
60
|
+
dev: http://62.84.188.166:31719
|
|
61
|
+
prod: http://62.84.188.166:31719
|
|
62
|
+
pathRewrite: /pmb-document-module
|
|
63
|
+
paymentmodule:
|
|
64
|
+
dev: http://62.84.188.166:31734
|
|
65
|
+
prod: http://62.84.188.166:31734
|
|
66
|
+
pathRewrite: /pmb-payment-module
|
|
67
|
+
pmb-paymentmodule:
|
|
68
|
+
dev: http://62.84.188.166:31734
|
|
69
|
+
prod: http://62.84.188.166:31734
|
|
70
|
+
pathRewrite: /pmb-payment-module
|
|
71
|
+
pmb-payment-module:
|
|
72
|
+
dev: http://62.84.188.166:31734
|
|
73
|
+
prod: http://62.84.188.166:31734
|
|
74
|
+
pathRewrite: /pmb-payment-module
|
|
75
|
+
pmb-approvalModule:
|
|
76
|
+
dev: http://62.84.188.166:31701
|
|
77
|
+
prod: http://62.84.188.166:31701
|
|
78
|
+
pathRewrite: /pmb-approvalModule
|
|
79
|
+
pmb-approvalmodule:
|
|
80
|
+
dev: http://62.84.188.166:31701
|
|
81
|
+
prod: http://62.84.188.166:31701
|
|
82
|
+
pathRewrite: /pmb-approvalModule
|
|
83
|
+
pmb-notification-module:
|
|
84
|
+
dev: http://62.84.188.166:31737
|
|
85
|
+
prod: http://62.84.188.166:31737
|
|
86
|
+
pathRewrite: /pmb-notification-module
|
|
87
|
+
pmb-notificationmodule:
|
|
88
|
+
dev: http://62.84.188.166:31737
|
|
89
|
+
prod: http://62.84.188.166:31737
|
|
90
|
+
pathRewrite: /pmb-notification-module
|
|
91
|
+
pmb-notificationModule:
|
|
92
|
+
dev: http://62.84.188.166:31737
|
|
93
|
+
prod: http://62.84.188.166:31737
|
|
94
|
+
pathRewrite: /pmb-notification-module
|
|
95
|
+
notificationmodule:
|
|
96
|
+
dev: http://62.84.188.166:31737
|
|
97
|
+
prod: http://62.84.188.166:31737
|
|
98
|
+
pathRewrite: /pmb-notification-module
|
|
99
|
+
notification-module:
|
|
100
|
+
dev: http://62.84.188.166:31737
|
|
101
|
+
prod: http://62.84.188.166:31737
|
|
102
|
+
pathRewrite: /pmb-notification-module
|
|
103
|
+
pmb-identityAccessModule:
|
|
104
|
+
dev: http://62.84.188.166:31704
|
|
105
|
+
prod: http://62.84.188.166:31704
|
|
106
|
+
pathRewrite: /pmb-identity-access-module
|
|
107
|
+
pmb-warehouseModule:
|
|
108
|
+
dev: http://62.84.188.166:31710
|
|
109
|
+
prod: http://62.84.188.166:31710
|
|
110
|
+
pathRewrite: /pmb-warehouse-module
|
|
111
|
+
pmb-access-control-module:
|
|
112
|
+
dev: http://62.84.188.166:31716
|
|
113
|
+
prod: http://62.84.188.166:31716
|
|
114
|
+
pathRewrite: /pmb-access-control-module
|
|
115
|
+
pmb-dad-mock-module:
|
|
116
|
+
dev: http://62.84.188.166:30068
|
|
117
|
+
prod: http://62.84.188.166:30068
|
|
118
|
+
pathRewrite: /pmb-dad-mock-module
|
|
119
|
+
pmb-milling-module:
|
|
120
|
+
dev: http://62.84.188.166:31722
|
|
121
|
+
prod: http://62.84.188.166:31722
|
|
122
|
+
pathRewrite: /pmb-milling-module
|
|
123
|
+
pmb-paddy-collection-module:
|
|
124
|
+
dev: http://62.84.188.166:31713
|
|
125
|
+
prod: http://62.84.188.166:31713
|
|
126
|
+
pathRewrite: /pmb-paddy-collection-module
|
|
127
|
+
pmb-paddy-selling-and-movement-module:
|
|
128
|
+
dev: http://62.84.188.166:31070
|
|
129
|
+
prod: http://62.84.188.166:31070
|
|
130
|
+
pathRewrite: /pmb-paddy-selling-and-movement-module
|
|
131
|
+
pmb-policy-module:
|
|
132
|
+
dev: http://62.84.188.166:31731
|
|
133
|
+
prod: http://62.84.188.166:31731
|
|
134
|
+
pathRewrite: /pmb-policy-module
|
|
135
|
+
proxy:
|
|
136
|
+
write: both
|
|
137
|
+
mock:
|
|
138
|
+
enabled: false
|
|
139
|
+
auth:
|
|
140
|
+
provider: keycloak
|
|
141
|
+
serverUrl: http://62.84.188.166:31698
|
|
142
|
+
realm: PMB-DEV
|
|
143
|
+
clientId: admin-portal
|
|
144
|
+
useMockAuth: false
|
|
145
|
+
session:
|
|
146
|
+
idleTimeoutMs: 900000
|
|
147
|
+
provision:
|
|
148
|
+
enabled: false
|
|
149
|
+
adapter: admin-service
|
|
150
|
+
adminServiceUrl: http://62.84.188.166:31698
|
|
151
|
+
iam:
|
|
152
|
+
enabled: true
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Generator smoke-test entities. Replace with your actual PMB domain schema.
|
|
2
|
+
// These example endpoints are not assumed to exist on the PMB backend.
|
|
3
|
+
entity Book {
|
|
4
|
+
string title required
|
|
5
|
+
string description
|
|
6
|
+
date publicationDate
|
|
7
|
+
bigDecimal price
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
entity Author {
|
|
11
|
+
string firstName required
|
|
12
|
+
string lastName required
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
relationship ManyToOne {
|
|
16
|
+
Book{author} to Author
|
|
17
|
+
}
|