@gadmin2n/cli 0.0.80 → 0.0.82

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.
Files changed (282) hide show
  1. package/.yalc/@gadmin2n/schematics/LICENSE +21 -0
  2. package/.yalc/@gadmin2n/schematics/README.md +9 -0
  3. package/.yalc/@gadmin2n/schematics/dist/collection.json +122 -0
  4. package/.yalc/@gadmin2n/schematics/dist/index.d.ts +2 -0
  5. package/.yalc/@gadmin2n/schematics/dist/index.js +18 -0
  6. package/.yalc/@gadmin2n/schematics/dist/lib/application/application.factory.d.ts +3 -0
  7. package/.yalc/@gadmin2n/schematics/dist/lib/application/application.factory.js +92 -0
  8. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/.dockerignore +33 -0
  9. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/Dockerfile +63 -0
  10. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/Jenkinsfile +70 -0
  11. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/config/.types.d.ts +143 -0
  12. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/config/prisma/default-schema.prisma +46 -0
  13. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/config/prisma/page.prisma +116 -0
  14. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/readme.md +49 -0
  15. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/server/.env +31 -0
  16. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/server/.env.local +1 -0
  17. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/server/.prettierignore +1 -0
  18. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/server/README.md +55 -0
  19. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/server/gadmin-cli.json +17 -0
  20. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/server/migrate-between-pg-schemas.js +1232 -0
  21. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/server/package.json +141 -0
  22. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/server/prisma/.generator.prisma +34 -0
  23. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/server/start-prod.sh +130 -0
  24. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/server/test/jest-e2e.json +9 -0
  25. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/server/tsconfig.build.json +4 -0
  26. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/README.MD +48 -0
  27. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/index.html +19 -0
  28. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/package.json +81 -0
  29. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/postcss.config.cjs +6 -0
  30. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/public/favicon.ico +0 -0
  31. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/public/images/flags/en.svg +1 -0
  32. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/public/images/flags/zh_CN.svg +11 -0
  33. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/App.tsx +111 -0
  34. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/BulkActions.tsx +236 -0
  35. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/ListPageHeader.tsx +56 -0
  36. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/RowActions.tsx +292 -0
  37. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/SearchBar.tsx +294 -0
  38. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/VanillaJSONEditor/index.css +10 -0
  39. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/VanillaJSONEditor/index.jsx +53 -0
  40. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/AgentContext.tsx +201 -0
  41. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/AgentPanel.tsx +497 -0
  42. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/ElementInspector.tsx +282 -0
  43. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/components/eventList/index.tsx +62 -0
  44. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/components/logButton/index.tsx +96 -0
  45. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/components/logList/index.tsx +73 -0
  46. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/components/modalDiffViewer/index.tsx +104 -0
  47. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/index.tsx +2 -0
  48. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/contexts/business/index.tsx +65 -0
  49. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/contexts/color-mode/index.tsx +58 -0
  50. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/custom-avatar.tsx +38 -0
  51. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/header.tsx +121 -0
  52. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/layout.tsx +32 -0
  53. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/logo.tsx +19 -0
  54. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/sider.tsx +383 -0
  55. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/title.tsx +61 -0
  56. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/offLayoutArea/index.tsx +5 -0
  57. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/pagination-total.tsx +21 -0
  58. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/tags/role-tag.tsx +44 -0
  59. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/text.tsx +74 -0
  60. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/config/routeRegistry.tsx +175 -0
  61. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/form.tsx +421 -0
  62. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/index.tsx +3 -0
  63. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/list.tsx +465 -0
  64. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/show.tsx +182 -0
  65. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useDynamicResources.tsx +211 -0
  66. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/index.tsx +20 -0
  67. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/locales/en/common.json +128 -0
  68. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/locales/zh_CN/common.json +130 -0
  69. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/meta.json +4 -0
  70. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/components/action-cell.css +3 -0
  71. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/components/action-cell.tsx +134 -0
  72. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/create.tsx +113 -0
  73. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/edit.tsx +122 -0
  74. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/index.tsx +6 -0
  75. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/list.tsx +213 -0
  76. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/show.tsx +61 -0
  77. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/AssignRolesModal.tsx +168 -0
  78. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/CreatePageModal.tsx +42 -0
  79. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/EditPageModal.tsx +42 -0
  80. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/PageDetailDrawer.tsx +101 -0
  81. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/PageFormModal.tsx +731 -0
  82. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/create.tsx +113 -0
  83. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/edit.tsx +122 -0
  84. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/index.tsx +6 -0
  85. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/list.tsx +1113 -0
  86. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/show.tsx +61 -0
  87. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/pageResource/create.tsx +113 -0
  88. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/pageResource/edit.tsx +122 -0
  89. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/pageResource/index.tsx +6 -0
  90. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/pageResource/list.tsx +243 -0
  91. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/pageResource/show.tsx +61 -0
  92. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/permission-readme/index.tsx +1088 -0
  93. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/Components/CreateModal.tsx +25 -0
  94. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/Components/EditModal.tsx +28 -0
  95. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/Components/ResourceDetailDrawer.tsx +160 -0
  96. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/Components/modal.tsx +202 -0
  97. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/create.tsx +113 -0
  98. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/edit.tsx +122 -0
  99. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/index.tsx +6 -0
  100. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/list.tsx +184 -0
  101. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/show.tsx +61 -0
  102. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/Components/CreateModal.tsx +30 -0
  103. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/Components/EditModal.tsx +47 -0
  104. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/Components/RoleDetailDrawer.tsx +56 -0
  105. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/Components/modal.tsx +302 -0
  106. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/create.tsx +113 -0
  107. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/edit.tsx +122 -0
  108. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/index.tsx +6 -0
  109. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/list.tsx +382 -0
  110. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/show.tsx +61 -0
  111. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/rolePages/create.tsx +113 -0
  112. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/rolePages/edit.tsx +122 -0
  113. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/rolePages/index.tsx +6 -0
  114. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/rolePages/list.tsx +243 -0
  115. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/rolePages/show.tsx +61 -0
  116. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/roleResource/create.tsx +113 -0
  117. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/roleResource/edit.tsx +122 -0
  118. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/roleResource/index.tsx +6 -0
  119. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/roleResource/list.tsx +243 -0
  120. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/roleResource/show.tsx +61 -0
  121. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/create-modal.tsx +17 -0
  122. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/edit-modal.tsx +19 -0
  123. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/form-modal.tsx +188 -0
  124. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/role-tag.tsx +48 -0
  125. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/show-drawer.tsx +140 -0
  126. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/create.tsx +113 -0
  127. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/edit.tsx +122 -0
  128. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/index.tsx +6 -0
  129. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/list.tsx +342 -0
  130. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/show.tsx +61 -0
  131. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/antd.css +132 -0
  132. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/fc.css +58 -0
  133. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/index.css +128 -0
  134. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/show-drawer.module.css +18 -0
  135. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/show-page.module.css +21 -0
  136. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/utilities/utils.tsx +5 -0
  137. package/.yalc/@gadmin2n/schematics/dist/lib/application/files/gadmin2-game-angle-demo/web/src/vite-env.d.ts +1 -0
  138. package/.yalc/@gadmin2n/schematics/dist/lib/application/schema.json +99 -0
  139. package/.yalc/@gadmin2n/schematics/dist/lib/class/class.factory.d.ts +3 -0
  140. package/.yalc/@gadmin2n/schematics/dist/lib/class/class.factory.js +42 -0
  141. package/.yalc/@gadmin2n/schematics/dist/lib/class/files/js/__name__.js +1 -0
  142. package/.yalc/@gadmin2n/schematics/dist/lib/class/files/js/__name__.spec.js +7 -0
  143. package/.yalc/@gadmin2n/schematics/dist/lib/class/schema.json +45 -0
  144. package/.yalc/@gadmin2n/schematics/dist/lib/client-app/angular/angular.factory.d.ts +3 -0
  145. package/.yalc/@gadmin2n/schematics/dist/lib/client-app/angular/angular.factory.js +98 -0
  146. package/.yalc/@gadmin2n/schematics/dist/lib/client-app/angular/schema.json +24 -0
  147. package/.yalc/@gadmin2n/schematics/dist/lib/configuration/configuration.factory.d.ts +3 -0
  148. package/.yalc/@gadmin2n/schematics/dist/lib/configuration/configuration.factory.js +24 -0
  149. package/.yalc/@gadmin2n/schematics/dist/lib/configuration/files/js/nest-cli.json +6 -0
  150. package/.yalc/@gadmin2n/schematics/dist/lib/configuration/files/ts/nest-cli.json +5 -0
  151. package/.yalc/@gadmin2n/schematics/dist/lib/controller/controller.factory.d.ts +3 -0
  152. package/.yalc/@gadmin2n/schematics/dist/lib/controller/controller.factory.js +118 -0
  153. package/.yalc/@gadmin2n/schematics/dist/lib/controller/files/js/__name__.controller.js +4 -0
  154. package/.yalc/@gadmin2n/schematics/dist/lib/controller/files/js/__name__.controller.spec.js +18 -0
  155. package/.yalc/@gadmin2n/schematics/dist/lib/controller/schema.json +51 -0
  156. package/.yalc/@gadmin2n/schematics/dist/lib/decorator/decorator.factory.d.ts +3 -0
  157. package/.yalc/@gadmin2n/schematics/dist/lib/decorator/decorator.factory.js +33 -0
  158. package/.yalc/@gadmin2n/schematics/dist/lib/decorator/files/js/__name__.decorator.js +3 -0
  159. package/.yalc/@gadmin2n/schematics/dist/lib/decorator/schema.json +36 -0
  160. package/.yalc/@gadmin2n/schematics/dist/lib/defaults.d.ts +16 -0
  161. package/.yalc/@gadmin2n/schematics/dist/lib/defaults.js +19 -0
  162. package/.yalc/@gadmin2n/schematics/dist/lib/filter/files/js/__name__.filter.js +6 -0
  163. package/.yalc/@gadmin2n/schematics/dist/lib/filter/files/js/__name__.filter.spec.js +7 -0
  164. package/.yalc/@gadmin2n/schematics/dist/lib/filter/filter.factory.d.ts +3 -0
  165. package/.yalc/@gadmin2n/schematics/dist/lib/filter/filter.factory.js +34 -0
  166. package/.yalc/@gadmin2n/schematics/dist/lib/filter/schema.json +41 -0
  167. package/.yalc/@gadmin2n/schematics/dist/lib/gateway/files/js/__name__.gateway.js +9 -0
  168. package/.yalc/@gadmin2n/schematics/dist/lib/gateway/files/js/__name__.gateway.spec.js +18 -0
  169. package/.yalc/@gadmin2n/schematics/dist/lib/gateway/gateway.factory.d.ts +3 -0
  170. package/.yalc/@gadmin2n/schematics/dist/lib/gateway/gateway.factory.js +62 -0
  171. package/.yalc/@gadmin2n/schematics/dist/lib/gateway/schema.json +41 -0
  172. package/.yalc/@gadmin2n/schematics/dist/lib/guard/files/js/__name__.guard.js +8 -0
  173. package/.yalc/@gadmin2n/schematics/dist/lib/guard/files/js/__name__.guard.spec.js +7 -0
  174. package/.yalc/@gadmin2n/schematics/dist/lib/guard/guard.factory.d.ts +3 -0
  175. package/.yalc/@gadmin2n/schematics/dist/lib/guard/guard.factory.js +34 -0
  176. package/.yalc/@gadmin2n/schematics/dist/lib/guard/schema.json +41 -0
  177. package/.yalc/@gadmin2n/schematics/dist/lib/interceptor/files/js/__name__.interceptor.js +8 -0
  178. package/.yalc/@gadmin2n/schematics/dist/lib/interceptor/files/js/__name__.interceptor.spec.js +7 -0
  179. package/.yalc/@gadmin2n/schematics/dist/lib/interceptor/interceptor.factory.d.ts +3 -0
  180. package/.yalc/@gadmin2n/schematics/dist/lib/interceptor/interceptor.factory.js +116 -0
  181. package/.yalc/@gadmin2n/schematics/dist/lib/interceptor/schema.json +50 -0
  182. package/.yalc/@gadmin2n/schematics/dist/lib/interface/interface.factory.d.ts +3 -0
  183. package/.yalc/@gadmin2n/schematics/dist/lib/interface/interface.factory.js +32 -0
  184. package/.yalc/@gadmin2n/schematics/dist/lib/interface/schema.json +32 -0
  185. package/.yalc/@gadmin2n/schematics/dist/lib/library/files/js/.babelrc +4 -0
  186. package/.yalc/@gadmin2n/schematics/dist/lib/library/files/js/jsconfig.json +9 -0
  187. package/.yalc/@gadmin2n/schematics/dist/lib/library/files/js/src/__name__.module.js +8 -0
  188. package/.yalc/@gadmin2n/schematics/dist/lib/library/files/js/src/__name__.service.js +4 -0
  189. package/.yalc/@gadmin2n/schematics/dist/lib/library/files/js/src/__name__.service.spec.js +18 -0
  190. package/.yalc/@gadmin2n/schematics/dist/lib/library/files/js/src/index.js +2 -0
  191. package/.yalc/@gadmin2n/schematics/dist/lib/library/files/ts/tsconfig.lib.json +9 -0
  192. package/.yalc/@gadmin2n/schematics/dist/lib/library/library.factory.d.ts +3 -0
  193. package/.yalc/@gadmin2n/schematics/dist/lib/library/library.factory.js +190 -0
  194. package/.yalc/@gadmin2n/schematics/dist/lib/library/schema.json +37 -0
  195. package/.yalc/@gadmin2n/schematics/dist/lib/middleware/files/js/__name__.middleware.js +8 -0
  196. package/.yalc/@gadmin2n/schematics/dist/lib/middleware/files/js/__name__.middleware.spec.js +7 -0
  197. package/.yalc/@gadmin2n/schematics/dist/lib/middleware/middleware.factory.d.ts +3 -0
  198. package/.yalc/@gadmin2n/schematics/dist/lib/middleware/middleware.factory.js +34 -0
  199. package/.yalc/@gadmin2n/schematics/dist/lib/middleware/schema.json +41 -0
  200. package/.yalc/@gadmin2n/schematics/dist/lib/module/files/js/__name__.module.js +4 -0
  201. package/.yalc/@gadmin2n/schematics/dist/lib/module/module.factory.d.ts +3 -0
  202. package/.yalc/@gadmin2n/schematics/dist/lib/module/module.factory.js +58 -0
  203. package/.yalc/@gadmin2n/schematics/dist/lib/module/schema.json +46 -0
  204. package/.yalc/@gadmin2n/schematics/dist/lib/pipe/files/js/__name__.pipe.js +8 -0
  205. package/.yalc/@gadmin2n/schematics/dist/lib/pipe/files/js/__name__.pipe.spec.js +7 -0
  206. package/.yalc/@gadmin2n/schematics/dist/lib/pipe/pipe.factory.d.ts +3 -0
  207. package/.yalc/@gadmin2n/schematics/dist/lib/pipe/pipe.factory.js +34 -0
  208. package/.yalc/@gadmin2n/schematics/dist/lib/pipe/schema.json +41 -0
  209. package/.yalc/@gadmin2n/schematics/dist/lib/prisma-resource/prisma-resource.factory.d.ts +3 -0
  210. package/.yalc/@gadmin2n/schematics/dist/lib/prisma-resource/prisma-resource.factory.js +131 -0
  211. package/.yalc/@gadmin2n/schematics/dist/lib/prisma-resource/schema.json +91 -0
  212. package/.yalc/@gadmin2n/schematics/dist/lib/provider/files/js/__name__.js +4 -0
  213. package/.yalc/@gadmin2n/schematics/dist/lib/provider/files/js/__name__.spec.js +18 -0
  214. package/.yalc/@gadmin2n/schematics/dist/lib/provider/provider.factory.d.ts +3 -0
  215. package/.yalc/@gadmin2n/schematics/dist/lib/provider/provider.factory.js +67 -0
  216. package/.yalc/@gadmin2n/schematics/dist/lib/provider/schema.json +45 -0
  217. package/.yalc/@gadmin2n/schematics/dist/lib/resolver/files/js/__name__.resolver.js +4 -0
  218. package/.yalc/@gadmin2n/schematics/dist/lib/resolver/files/js/__name__.resolver.spec.js +18 -0
  219. package/.yalc/@gadmin2n/schematics/dist/lib/resolver/resolver.factory.d.ts +3 -0
  220. package/.yalc/@gadmin2n/schematics/dist/lib/resolver/resolver.factory.js +62 -0
  221. package/.yalc/@gadmin2n/schematics/dist/lib/resolver/schema.json +41 -0
  222. package/.yalc/@gadmin2n/schematics/dist/lib/resource/files/ts/__name__.graphql +24 -0
  223. package/.yalc/@gadmin2n/schematics/dist/lib/resource/resource.factory.d.ts +3 -0
  224. package/.yalc/@gadmin2n/schematics/dist/lib/resource/resource.factory.js +131 -0
  225. package/.yalc/@gadmin2n/schematics/dist/lib/resource/schema.json +90 -0
  226. package/.yalc/@gadmin2n/schematics/dist/lib/service/files/js/__name__.service.js +4 -0
  227. package/.yalc/@gadmin2n/schematics/dist/lib/service/files/js/__name__.service.spec.js +18 -0
  228. package/.yalc/@gadmin2n/schematics/dist/lib/service/schema.json +41 -0
  229. package/.yalc/@gadmin2n/schematics/dist/lib/service/service.factory.d.ts +3 -0
  230. package/.yalc/@gadmin2n/schematics/dist/lib/service/service.factory.js +63 -0
  231. package/.yalc/@gadmin2n/schematics/dist/lib/sub-app/files/js/.babelrc +4 -0
  232. package/.yalc/@gadmin2n/schematics/dist/lib/sub-app/files/js/index.js +2 -0
  233. package/.yalc/@gadmin2n/schematics/dist/lib/sub-app/files/js/jsconfig.json +10 -0
  234. package/.yalc/@gadmin2n/schematics/dist/lib/sub-app/files/js/src/app.controller.js +15 -0
  235. package/.yalc/@gadmin2n/schematics/dist/lib/sub-app/files/js/src/app.controller.spec.js +22 -0
  236. package/.yalc/@gadmin2n/schematics/dist/lib/sub-app/files/js/src/app.module.js +10 -0
  237. package/.yalc/@gadmin2n/schematics/dist/lib/sub-app/files/js/src/app.service.js +8 -0
  238. package/.yalc/@gadmin2n/schematics/dist/lib/sub-app/files/js/src/main.js +8 -0
  239. package/.yalc/@gadmin2n/schematics/dist/lib/sub-app/files/js/test/app.e2e-spec.js +23 -0
  240. package/.yalc/@gadmin2n/schematics/dist/lib/sub-app/files/js/test/jest-e2e.json +5 -0
  241. package/.yalc/@gadmin2n/schematics/dist/lib/sub-app/files/ts/test/jest-e2e.json +9 -0
  242. package/.yalc/@gadmin2n/schematics/dist/lib/sub-app/files/ts/tsconfig.app.json +9 -0
  243. package/.yalc/@gadmin2n/schematics/dist/lib/sub-app/schema.json +32 -0
  244. package/.yalc/@gadmin2n/schematics/dist/lib/sub-app/sub-app.factory.d.ts +3 -0
  245. package/.yalc/@gadmin2n/schematics/dist/lib/sub-app/sub-app.factory.js +245 -0
  246. package/.yalc/@gadmin2n/schematics/dist/lib/sub-app/workspace/js/.babelrc +4 -0
  247. package/.yalc/@gadmin2n/schematics/dist/lib/sub-app/workspace/js/index.js +2 -0
  248. package/.yalc/@gadmin2n/schematics/dist/lib/sub-app/workspace/js/jsconfig.json +10 -0
  249. package/.yalc/@gadmin2n/schematics/dist/lib/sub-app/workspace/ts/tsconfig.app.json +9 -0
  250. package/.yalc/@gadmin2n/schematics/dist/utils/change.d.ts +46 -0
  251. package/.yalc/@gadmin2n/schematics/dist/utils/change.js +95 -0
  252. package/.yalc/@gadmin2n/schematics/dist/utils/dependencies.utils.d.ts +15 -0
  253. package/.yalc/@gadmin2n/schematics/dist/utils/dependencies.utils.js +42 -0
  254. package/.yalc/@gadmin2n/schematics/dist/utils/export-from.declarator.d.ts +10 -0
  255. package/.yalc/@gadmin2n/schematics/dist/utils/export-from.declarator.js +39 -0
  256. package/.yalc/@gadmin2n/schematics/dist/utils/formatting.d.ts +1 -0
  257. package/.yalc/@gadmin2n/schematics/dist/utils/formatting.js +12 -0
  258. package/.yalc/@gadmin2n/schematics/dist/utils/index.d.ts +9 -0
  259. package/.yalc/@gadmin2n/schematics/dist/utils/index.js +25 -0
  260. package/.yalc/@gadmin2n/schematics/dist/utils/json-file.util.d.ts +15 -0
  261. package/.yalc/@gadmin2n/schematics/dist/utils/json-file.util.js +68 -0
  262. package/.yalc/@gadmin2n/schematics/dist/utils/metadata.manager.d.ts +13 -0
  263. package/.yalc/@gadmin2n/schematics/dist/utils/metadata.manager.js +162 -0
  264. package/.yalc/@gadmin2n/schematics/dist/utils/module-import.declarator.d.ts +10 -0
  265. package/.yalc/@gadmin2n/schematics/dist/utils/module-import.declarator.js +39 -0
  266. package/.yalc/@gadmin2n/schematics/dist/utils/module-metadata.declarator.d.ts +4 -0
  267. package/.yalc/@gadmin2n/schematics/dist/utils/module-metadata.declarator.js +12 -0
  268. package/.yalc/@gadmin2n/schematics/dist/utils/module.declarator.d.ts +23 -0
  269. package/.yalc/@gadmin2n/schematics/dist/utils/module.declarator.js +32 -0
  270. package/.yalc/@gadmin2n/schematics/dist/utils/module.finder.d.ts +13 -0
  271. package/.yalc/@gadmin2n/schematics/dist/utils/module.finder.js +24 -0
  272. package/.yalc/@gadmin2n/schematics/dist/utils/name.parser.d.ts +12 -0
  273. package/.yalc/@gadmin2n/schematics/dist/utils/name.parser.js +17 -0
  274. package/.yalc/@gadmin2n/schematics/dist/utils/path.solver.d.ts +4 -0
  275. package/.yalc/@gadmin2n/schematics/dist/utils/path.solver.js +14 -0
  276. package/.yalc/@gadmin2n/schematics/dist/utils/source-root.helpers.d.ts +8 -0
  277. package/.yalc/@gadmin2n/schematics/dist/utils/source-root.helpers.js +35 -0
  278. package/.yalc/@gadmin2n/schematics/package.json +78 -0
  279. package/.yalc/@gadmin2n/schematics/yalc.sig +1 -0
  280. package/actions/prisma.action.js +3 -3
  281. package/package.json +2 -2
  282. package/yalc.lock +10 -0
@@ -0,0 +1,141 @@
1
+ {
2
+ "name": "erp-backend",
3
+ "version": "0.0.1",
4
+ "description": "",
5
+ "author": "",
6
+ "private": true,
7
+ "license": "UNLICENSED",
8
+ "scripts": {
9
+ "prebuild": "rimraf dist",
10
+ "build": "gadmin2 build",
11
+ "format": "prettier --write \"../config/*.ts\" \"src/**/*.ts\" \"src/**/*.tsx\" \"test/**/*.ts\"",
12
+ "prepare": "cd .. && husky install",
13
+ "start": "dotenv -e .env.local -e .env -- gadmin2 start",
14
+ "start:dev": "dotenv -e .env.local -e .env -- gadmin2 start --watch",
15
+ "start:debug": "dotenv -e .env.local -e .env -- gadmin2 start --debug --watch",
16
+ "start:prod": "/bin/sh start-prod.sh",
17
+ "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
18
+ "test": "jest",
19
+ "test:watch": "jest --watch",
20
+ "test:cov": "jest --coverage",
21
+ "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
22
+ "test:e2e": "jest --config ./test/jest-e2e.json",
23
+ "migrate:dev": "npm run push:db && dotenv -e .env.local -e .env -- prisma migrate",
24
+ "migrate:dev:create": "dotenv -e .env.local -e .env -- prisma migrate dev --create-only",
25
+ "migrate:deploy": "dotenv -e .env.local -e .env -- prisma migrate deploy",
26
+ "migrate:status": "dotenv -e .env.local -e .env -- prisma migrate status",
27
+ "generate": "dotenv -e .env.local -e .env -- npx prisma generate",
28
+ "generate:dev": "npm run migrate:dev && dotenv -e .env.local -e .env -- npx prisma generate",
29
+ "generate:web": "dotenv -e .env.local -e .env -- npx prisma generate --generator react",
30
+ "generate:server": "dotenv -e .env.local -e .env -- npx prisma generate --generator client --generator nestjs",
31
+ "push:db": "dotenv -e .env.local -e .env -- prisma db push --skip-generate",
32
+ "seed": "dotenv -e .env.local -e .env -- ts-node seed/index.ts",
33
+ "prisma:studio": "dotenv -e .env.local -e .env -- prisma studio"
34
+ },
35
+ "dependencies": {
36
+ "@azure/identity": "^4.13.0",
37
+ "@gadmin2n/nest-common": "^0.0.25",
38
+ "@nestjs/cache-manager": "^3.0.1",
39
+ "@nestjs/common": "^10.4.15",
40
+ "@nestjs/config": "^3.2.0",
41
+ "@nestjs/core": "^10.4.15",
42
+ "@nestjs/mapped-types": "^2.0.0",
43
+ "@nestjs/platform-express": "^10.4.15",
44
+ "@nestjs/schedule": "^4.0.1",
45
+ "@nestjs/serve-static": "^4.0.1",
46
+ "@nestjs/swagger": "^7.3.0",
47
+ "@opentelemetry/api": "^1.9.0",
48
+ "@opentelemetry/exporter-trace-otlp-grpc": "^0.211.0",
49
+ "@opentelemetry/instrumentation-express": "^0.47.0",
50
+ "@opentelemetry/instrumentation-http": "^0.211.0",
51
+ "@opentelemetry/instrumentation-nestjs-core": "^0.44.0",
52
+ "@opentelemetry/instrumentation-pg": "^0.51.0",
53
+ "@opentelemetry/resources": "^2.0.0",
54
+ "@opentelemetry/sdk-node": "^0.211.0",
55
+ "@opentelemetry/semantic-conventions": "^1.39.0",
56
+ "@prisma/client": "^6.19.0",
57
+ "@prisma/instrumentation": "6.19.0",
58
+ "axios": "^1.13.2",
59
+ "cache-manager": "^6.4.3",
60
+ "class-transformer": "^0.5.1",
61
+ "class-validator": "^0.13.2",
62
+ "cookie-parser": "^1.4.6",
63
+ "crypto-js": "^4.2.0",
64
+ "csvtojson": "^2.0.10",
65
+ "dayjs": "^1.10.7",
66
+ "dotenv": "^16.1.3",
67
+ "dotenv-cli": "^7.4.4",
68
+ "jose": "^4.14.4",
69
+ "js-md5": "^0.7.3",
70
+ "jsonwebtoken": "^9.0.2",
71
+ "module-alias": "^2.2.3",
72
+ "nest-access-control": "^2.2.0",
73
+ "nest-winston": "^1.9.7",
74
+ "nestjs-prisma": "^0.25.0",
75
+ "pg": "^8.16.3",
76
+ "prisma": "^6.19.0",
77
+ "reflect-metadata": "^0.1.13",
78
+ "request": "^2.88.2",
79
+ "rimraf": "^3.0.2",
80
+ "rxjs": "^7.2.0",
81
+ "swagger-ui-express": "^4.3.0",
82
+ "winston": "^3.7.2",
83
+ "xlsx": "^0.18.5"
84
+ },
85
+ "devDependencies": {
86
+ "@gadmin2n/prisma-nest-generator": "0.0.29",
87
+ "@gadmin2n/prisma-react-generator": "0.0.45",
88
+ "@nestjs/testing": "^10.4.15",
89
+ "@types/cookie-parser": "^1.4.3",
90
+ "@types/express": "^4.17.21",
91
+ "@types/jest": "^29.0.0",
92
+ "@types/jsonwebtoken": "^9.0.10",
93
+ "@types/multer": "^1.4.7",
94
+ "@types/node": "^16.0.0",
95
+ "@types/supertest": "^2.0.11",
96
+ "@typescript-eslint/eslint-plugin": "^5.0.0",
97
+ "@typescript-eslint/parser": "^5.0.0",
98
+ "eslint": "^8.0.1",
99
+ "eslint-config-prettier": "^8.3.0",
100
+ "eslint-plugin-prettier": "^4.0.0",
101
+ "husky": "^8.0.0",
102
+ "jest": "^29.0.0",
103
+ "lint-staged": "^13.0.0",
104
+ "prettier": "^2.3.2",
105
+ "prettier-plugin-organize-imports": "^3.0.3",
106
+ "prisma-dbml-generator": "^0.9.1",
107
+ "source-map-support": "^0.5.20",
108
+ "supertest": "^6.1.3",
109
+ "ts-jest": "^29.0.0",
110
+ "ts-loader": "^9.2.3",
111
+ "ts-node": "^10.0.0",
112
+ "tsconfig-paths": "^3.10.1",
113
+ "typescript": "^5.3.3"
114
+ },
115
+ "jest": {
116
+ "moduleFileExtensions": [
117
+ "js",
118
+ "json",
119
+ "ts"
120
+ ],
121
+ "rootDir": "src",
122
+ "testRegex": ".*\\.spec\\.ts$",
123
+ "transform": {
124
+ "^.+\\.(t|j)s$": "ts-jest"
125
+ },
126
+ "collectCoverageFrom": [
127
+ "**/*.(t|j)s"
128
+ ],
129
+ "coverageDirectory": "../coverage",
130
+ "testEnvironment": "node"
131
+ },
132
+ "_moduleAliases": {
133
+ "@": "src"
134
+ },
135
+ "prisma": {
136
+ "seed": "echo 'npm run seed'"
137
+ },
138
+ "lint-staged": {
139
+ "**/*.{ts,tsx}": "prettier --write"
140
+ }
141
+ }
@@ -0,0 +1,34 @@
1
+ // This is your Prisma schema file,
2
+ // learn more about it in the docs: https://pris.ly/d/prisma-schema
3
+ datasource db {
4
+ provider = "postgresql"
5
+ url = env("DATABASE_URL")
6
+ }
7
+
8
+ generator client {
9
+ provider = "prisma-client-js"
10
+ previewFeatures = ["tracing"]
11
+ }
12
+
13
+ generator nestjs {
14
+ provider = "prisma-nest-generator"
15
+ output = "../src/generated"
16
+ outputToNestJsResourceStructure = "true"
17
+ exportRelationModifierClasses = "true"
18
+ reExport = "false"
19
+ createDtoPrefix = "Create"
20
+ updateDtoPrefix = "Update"
21
+ dtoSuffix = "Dto"
22
+ entityPrefix = ""
23
+ entitySuffix = "Entity"
24
+ fileNamingStyle = "camel"
25
+ }
26
+
27
+ generator react {
28
+ provider = "prisma-react-generator"
29
+ pagesDir = "../../web/src/routes"
30
+ }
31
+
32
+ generator dbml {
33
+ provider = "prisma-dbml-generator"
34
+ }
@@ -0,0 +1,130 @@
1
+ #!/bin/sh
2
+ set -e # 任何命令失败时立即退出脚本
3
+
4
+ # 加载 .env 文件作为默认值(不覆盖已有环境变量)
5
+ if [ -f .env ]; then
6
+ while IFS='=' read -r key value; do
7
+ # 跳过空行和注释
8
+ case "$key" in
9
+ ''|\#*) continue ;;
10
+ esac
11
+ # 只在变量未设置时赋值
12
+ eval "current_val=\${$key+x}"
13
+ if [ -z "$current_val" ]; then
14
+ export "$key=$value"
15
+ fi
16
+ done < .env
17
+ fi
18
+
19
+ # 检查环境变量是否为空
20
+ if [ -z "$DATABASE_URL" ]; then
21
+ echo "Warning: DATABASE_URL is empty."
22
+ exit 1
23
+ fi
24
+
25
+ echo "原始 DATABASE_URL: ${DATABASE_URL}"
26
+
27
+ # 如果存在DEPLOY_NAME环境变量,且变量值以feature或者bugfix开头,则执行数据库同步
28
+ # 检查 DEPLOY_NAME 是否以 feature/ 或 bugfix/ 或 hotfix/ 开头
29
+ DEPLOY_PREFIX_MATCH=0
30
+ if [ -n "$DEPLOY_NAME" ]; then
31
+ case "$DEPLOY_NAME" in
32
+ feature*|bugfix*|hotfix*)
33
+ DEPLOY_PREFIX_MATCH=1
34
+ ;;
35
+ esac
36
+ fi
37
+
38
+ if [ "$DEPLOY_PREFIX_MATCH" -eq 1 ]; then
39
+ # 将DATABASE_URL的schema设置为DEPLOY_NAME,需要把DEPLOY_NAME中的- 和 /替换为_
40
+ SCHEMA_NAME=$(echo "$DEPLOY_NAME" | tr '-' '_' | tr '/' '_')
41
+
42
+ echo "开始配置临时环境 schema: ${SCHEMA_NAME}"
43
+
44
+ # 处理 DATABASE_URL 中的 schema 参数
45
+ # 先移除可能存在的 schema 参数(包括空值的情况)
46
+ # 使用 sed 移除 schema=xxx 或 schema= 参数
47
+ DATABASE_URL=$(echo "$DATABASE_URL" | sed -E 's/[&?]schema=[^&?]*//g')
48
+ # 清理 URL 末尾的 ? 或 &,以及重复的 & 和 ?& 组合
49
+ DATABASE_URL=$(echo "$DATABASE_URL" | sed 's/[?&]$//' | sed 's/[?]&/?/g' | sed 's/&&\+/\&/g')
50
+
51
+ # 确保 SCHEMA_NAME 不为空
52
+ if [ -z "$SCHEMA_NAME" ]; then
53
+ echo "错误: SCHEMA_NAME 为空"
54
+ exit 1
55
+ fi
56
+
57
+ # prisma cli 需要使用这个环境变量来同步db表结构
58
+ # 如果DATABASE_URL中已经包含了 ? ,则使用 & 拼接schema,否则使用 ? 拼接schema
59
+ # https://www.prisma.io/docs/orm/more/development-environment/environment-variables
60
+ case "$DATABASE_URL" in
61
+ *\?*)
62
+ DATABASE_URL="${DATABASE_URL}&schema=${SCHEMA_NAME}"
63
+ ;;
64
+ *)
65
+ DATABASE_URL="${DATABASE_URL}?schema=${SCHEMA_NAME}"
66
+ ;;
67
+ esac
68
+
69
+ echo "更新后的 DATABASE_URL: ${DATABASE_URL}"
70
+ export DATABASE_URL="${DATABASE_URL}"
71
+
72
+ yarn push:db || { echo "同步表结构失败"; exit 1; }
73
+
74
+ # 设置迁移脚本的源和目标 schema
75
+ # 源 schema 为 public(生产数据),目标 schema 为分支 schema
76
+ export PG_SCHEMA="public"
77
+ export PG_SCHEMA_TARGET="${SCHEMA_NAME}"
78
+
79
+ node migrate-between-pg-schemas.js || { echo "迁移数据库失败"; exit 1; }
80
+ else
81
+ echo "非临时环境,不需要同步的表结构和数据"
82
+ # 如果DATABASE_URL中已经包含了schema=xxx,则不添加,如果DATABASE_URL中没有schema=,则添加schema=public,如果DATABASE_URL中已经包含了schema=但没有具体值,则添加public
83
+ case "$DATABASE_URL" in
84
+ *"schema="*)
85
+ # 情况 1 & 3: 已经包含 schema=
86
+ case "$DATABASE_URL" in
87
+ *"schema=")
88
+ # 情况 3-A: 以 schema= 结尾(没有值)
89
+ # 动作: 追加 public
90
+ DATABASE_URL="${DATABASE_URL}public"
91
+ ;;
92
+ *"schema=&"*)
93
+ # 情况 3-B: 包含 schema=&(在中间且没有值)
94
+ # 动作: 使用 sed 替换为空缺的值填入 public
95
+ DATABASE_URL=$(echo "$DATABASE_URL" | sed 's/schema=&/schema=public\&/')
96
+ ;;
97
+ *)
98
+ # 情况 1: 包含 schema=xxx(已有具体值)
99
+ # 动作: 不做任何修改
100
+ ;;
101
+ esac
102
+ ;;
103
+ *)
104
+ # 情况 2: 完全没有 schema=
105
+ # 动作: 判断连接符是 ? 还是 &
106
+ case "$DATABASE_URL" in
107
+ *"?"*)
108
+ # URL 中已经有 ? (说明已有其他参数)
109
+ DATABASE_URL="${DATABASE_URL}&schema=public"
110
+ ;;
111
+ *)
112
+ # URL 中没有 ? (说明这是第一个参数)
113
+ DATABASE_URL="${DATABASE_URL}?schema=public"
114
+ ;;
115
+ esac
116
+ ;;
117
+ esac
118
+
119
+ echo "更新后的 DATABASE_URL: ${DATABASE_URL}"
120
+ export DATABASE_URL="${DATABASE_URL}"
121
+
122
+ # 如果 NODE_ENV 是 test 则执行数据库同步(迁移)。正式环境手工进行同步
123
+ #if [ "$NODE_ENV" = "test" ]; then
124
+ # yarn migrate:deploy || { echo "同步表结构失败"; exit 1; }
125
+ #fi
126
+ fi
127
+
128
+ # 启动应用(在同一个 shell 会话中,确保环境变量可用)
129
+ # 使用 exec 替换当前进程,这样环境变量可以正确传递
130
+ exec node dist/src/main
@@ -0,0 +1,9 @@
1
+ {
2
+ "moduleFileExtensions": ["js", "json", "ts"],
3
+ "rootDir": ".",
4
+ "testEnvironment": "node",
5
+ "testRegex": ".e2e-spec.ts$",
6
+ "transform": {
7
+ "^.+\\.(t|j)s$": "ts-jest"
8
+ }
9
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "exclude": ["node_modules", "test", "dist", "**/*spec.ts"]
4
+ }
@@ -0,0 +1,48 @@
1
+ # my-refine-demo
2
+
3
+ <div align="center" style="margin: 30px;">
4
+ <a href="https://refine.dev">
5
+ <img src="https://refine.ams3.cdn.digitaloceanspaces.com/refine_logo.png" align="center" />
6
+ </a>
7
+ </div>
8
+ <br/>
9
+
10
+ This [refine](https://github.com/pankod/refine) project was generated with [superplate](https://github.com/pankod/refine).
11
+
12
+ ## Getting Started
13
+
14
+ **refine** is a React-based framework for building data-intensive applications in no time ✨
15
+
16
+ Refine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to admin panels, B2B applications and dashboards.
17
+
18
+ ## Available Scripts
19
+
20
+ ### Running the development server.
21
+
22
+ ```bash
23
+ $ yarn dev
24
+ ```
25
+
26
+ ### Building for production.
27
+
28
+ ```bash
29
+ $ yarn build
30
+ ```
31
+
32
+ ## Learn More
33
+
34
+ To learn more about **refine**, please check out the [Documentation](https://refine.dev/docs)
35
+
36
+ - **Ant Design** [Docs](https://refine.dev/docs/ui-frameworks/antd/tutorial/)
37
+ - **Ant Design Custom Theme** [Docs](https://refine.dev/docs/ui-frameworks/antd/customization/antd-custom-theme/)
38
+ - **React Router** [Docs](https://refine.dev/docs/core/providers/router-provider/)
39
+ - **REST Data Provider** [Docs](https://refine.dev/docs/core/providers/data-provider/#overview)
40
+ - **Custom Auth Provider** [Docs](https://refine.dev/docs/core/providers/auth-provider/)
41
+ - **Example Pages** [Docs](https://refine.dev/docs/guides-and-concepts/custom-pages/)
42
+ - **KBar Command Palette** [Docs](https://github.com/pankod/refine/tree/next/examples/commandPalette/kbar)
43
+ - **i18n** [Docs](https://refine.dev/docs/core/providers/i18n-provider/)
44
+
45
+
46
+ ## License
47
+
48
+ MIT
@@ -0,0 +1,19 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <link rel="icon" href="/favicon.ico" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
7
+ <meta name="theme-color" content="#000000" />
8
+ <meta name="description" content="Gadmin2 demo" />
9
+ <title>Gadmin2 demo</title>
10
+ <script>
11
+ var global = globalThis;
12
+ </script>
13
+ </head>
14
+ <body>
15
+ <noscript>You need to enable JavaScript to run this app.</noscript>
16
+ <div id="root"></div>
17
+ <script type="module" src="/src/index.tsx"></script>
18
+ </body>
19
+ </html>
@@ -0,0 +1,81 @@
1
+ {
2
+ "name": "gadmin2-demo-web",
3
+ "version": "0.0.1",
4
+ "description": "",
5
+ "author": "",
6
+ "private": true,
7
+ "dependencies": {
8
+ "@ant-design/icons": "^5.6.1",
9
+ "@dnd-kit/core": "^6.0.8",
10
+ "@dnd-kit/modifiers": "^9.0.0",
11
+ "@dnd-kit/sortable": "^7.0.2",
12
+ "@dnd-kit/utilities": "^3.2.2",
13
+ "@gadmin2n/react-common": "0.0.50",
14
+ "@refinedev/antd": "^5.47.0",
15
+ "@refinedev/cli": "^2.16.51",
16
+ "@refinedev/core": "^4.58.0",
17
+ "@refinedev/inferencer": "^4.7.1",
18
+ "@refinedev/kbar": "^1.3.17",
19
+ "@refinedev/react-router-v6": "^4.6.0",
20
+ "@tanstack/react-query": "^4.36.1",
21
+ "@uiw/react-md-editor": "^3.19.5",
22
+ "antd": "^5.24.6",
23
+ "class-validator": "^0.14.0",
24
+ "dayjs": "^1.11.19",
25
+ "i18next": "^24.2.3",
26
+ "i18next-browser-languagedetector": "^8.0.4",
27
+ "i18next-http-backend": "^3.0.2",
28
+ "js-cookie": "^3.0.5",
29
+ "json-stable-stringify": "^1.0.1",
30
+ "lodash": "^4.17.23",
31
+ "lodash.foreach": "^4.5.0",
32
+ "lodash.groupby": "^4.6.0",
33
+ "lodash.memoize": "^4.1.2",
34
+ "react": "^18.2.0",
35
+ "react-diff-viewer": "^3.1.1",
36
+ "react-dom": "^18.2.0",
37
+ "react-i18next": "^15.4.1",
38
+ "react-router-dom": "^6.8.1",
39
+ "reflect-metadata": "^0.1.13",
40
+ "vanilla-jsoneditor": "^0.23.7"
41
+ },
42
+ "devDependencies": {
43
+ "@testing-library/jest-dom": "^5.16.4",
44
+ "@testing-library/react": "^13.1.1",
45
+ "@testing-library/user-event": "^14.1.1",
46
+ "@types/jest": "^29.2.4",
47
+ "@types/js-cookie": "^3.0.3",
48
+ "@types/json-stable-stringify": "^1.0.34",
49
+ "@types/lodash": "^4.17.23",
50
+ "@types/lodash.foreach": "^4.5.7",
51
+ "@types/lodash.groupby": "^4.6.7",
52
+ "@types/lodash.memoize": "^4.1.7",
53
+ "@types/node": "^12.20.10",
54
+ "@types/react": "^18.0.15",
55
+ "@types/react-dom": "^18.0.6",
56
+ "@vitejs/plugin-react": "^4.3.4",
57
+ "autoprefixer": "^10.4.24",
58
+ "postcss": "^8.5.6",
59
+ "postcss-nesting": "^14.0.0",
60
+ "typescript": "^5.4.2",
61
+ "husky": "^8.0.0",
62
+ "lint-staged": "^13.0.0",
63
+ "prettier": "^3.0.0",
64
+ "vite": "^6.2.0",
65
+ "vite-tsconfig-paths": "^5.1.4"
66
+ },
67
+ "scripts": {
68
+ "dev": "vite --port 3000",
69
+ "build": "tsc && vite build",
70
+ "preview": "vite preview",
71
+ "format": "prettier --write \"src/**/*.{ts,tsx}\"",
72
+ "prepare": "cd .. && husky install"
73
+ },
74
+ "lint-staged": {
75
+ "**/*.{ts,tsx,js,jsx}": "prettier --write"
76
+ },
77
+ "type": "module",
78
+ "resolutions": {
79
+ "rc-util": "^5.44.4"
80
+ }
81
+ }
@@ -0,0 +1,6 @@
1
+ module.exports = {
2
+ plugins: {
3
+ autoprefixer: {},
4
+ "postcss-nesting": {},
5
+ },
6
+ };
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="640" height="480" viewBox="0 0 640 480"><defs><clipPath id="a"><path fill-opacity=".67" d="M-85.333 0h682.67v512h-682.67z"/></clipPath></defs><g clip-path="url(#a)" transform="translate(80) scale(.94)"><g stroke-width="1pt"><path fill="#006" d="M-256 0H768.02v512.01H-256z"/><path fill="#fff" d="M-256 0v57.244l909.535 454.768H768.02V454.77L-141.515 0H-256zM768.02 0v57.243L-141.515 512.01H-256v-57.243L653.535 0H768.02z"/><path fill="#fff" d="M170.675 0v512.01h170.67V0h-170.67zM-256 170.67v170.67H768.02V170.67H-256z"/><path fill="#c00" d="M-256 204.804v102.402H768.02V204.804H-256zM204.81 0v512.01h102.4V0h-102.4zM-256 512.01L85.34 341.34h76.324l-341.34 170.67H-256zM-256 0L85.34 170.67H9.016L-256 38.164V0zm606.356 170.67L691.696 0h76.324L426.68 170.67h-76.324zM768.02 512.01L426.68 341.34h76.324L768.02 473.848v38.162z"/></g></g></svg>
@@ -0,0 +1,11 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-cn" viewBox="0 0 512 512">
2
+ <defs>
3
+ <path id="a" fill="#ff0" d="M1-.3-.7.8 0-1 .6.8-1-.3z"/>
4
+ </defs>
5
+ <path fill="#ee1c25" d="M0 0h512v512H0z"/>
6
+ <use xlink:href="#a" width="30" height="20" transform="matrix(76.8 0 0 76.8 128 128)"/>
7
+ <use xlink:href="#a" width="30" height="20" transform="rotate(-121 142.6 -47) scale(25.5827)"/>
8
+ <use xlink:href="#a" width="30" height="20" transform="rotate(-98.1 198 -82) scale(25.6)"/>
9
+ <use xlink:href="#a" width="30" height="20" transform="rotate(-74 272.4 -114) scale(25.6137)"/>
10
+ <use xlink:href="#a" width="30" height="20" transform="matrix(16 -19.968 19.968 16 256 230.4)"/>
11
+ </svg>
@@ -0,0 +1,111 @@
1
+ import React from "react";
2
+ import { Refine } from "@refinedev/core";
3
+ import {
4
+ notificationProvider,
5
+ ErrorComponent,
6
+ } from "@refinedev/antd";
7
+ import { RefineKbar, RefineKbarProvider } from "@refinedev/kbar";
8
+ import routerProvider, {
9
+ NavigateToResource,
10
+ UnsavedChangesNotifier,
11
+ } from "@refinedev/react-router-v6";
12
+ import { BrowserRouter, Outlet, Route, Routes } from "react-router-dom";
13
+ import { useTranslation } from "react-i18next";
14
+ import { useMemo } from "react";
15
+ import { Spin } from "antd";
16
+ import { Layout } from "components/layout";
17
+ import { ColorModeContextProvider } from "components/contexts/color-mode";
18
+ import { BusinessContextProvider } from "components/contexts/business";
19
+ import { AgentProvider, AgentPanel } from "components/agentPanel";
20
+ import { authProvider } from "authProvider";
21
+ import "@refinedev/antd/dist/reset.css";
22
+ import "./styles/antd.css";
23
+ import "./styles/fc.css";
24
+ import "./styles/index.css";
25
+ import { auditLogProvider } from "auditLogProvider";
26
+ import { gadminCrudProvider as dataProvider } from "./helpers/login";
27
+ import { useDynamicResources } from "hooks/useDynamicResources";
28
+ import { renderRoutes } from "config/routeRegistry";
29
+
30
+ const isDev = import.meta.env.DEV;
31
+
32
+ // Wrapper component that only renders AgentProvider in development
33
+ const DevAgentWrapper: React.FC<{ children: React.ReactNode }> = ({ children }) => {
34
+ if (!isDev) return <>{children}</>;
35
+ return (
36
+ <AgentProvider>
37
+ {children}
38
+ <AgentPanel />
39
+ </AgentProvider>
40
+ );
41
+ };
42
+
43
+ function App() {
44
+ const { i18n } = useTranslation();
45
+
46
+ // Stable reference — i18n object identity never changes, so this memo runs once.
47
+ // i18n.t / i18n.language are called at invocation time, always returning fresh values.
48
+ const i18nProvider = useMemo(() => ({
49
+ translate: (key: string, defaultMessage?: string) => i18n.t(key, defaultMessage ?? ""),
50
+ changeLocale: (lang: string) => i18n.changeLanguage(lang),
51
+ getLocale: () => i18n.language,
52
+ }), [i18n]);
53
+
54
+ const resources = useDynamicResources();
55
+
56
+ return (
57
+ <BrowserRouter>
58
+ <RefineKbarProvider>
59
+ <BusinessContextProvider>
60
+ <ColorModeContextProvider>
61
+ <DevAgentWrapper>
62
+ <Refine
63
+ resources={resources}
64
+ notificationProvider={notificationProvider}
65
+ routerProvider={routerProvider}
66
+ i18nProvider={i18nProvider}
67
+ authProvider={authProvider}
68
+ auditLogProvider={auditLogProvider(dataProvider)}
69
+ dataProvider={{
70
+ default: dataProvider,
71
+ }}
72
+ options={{
73
+ syncWithLocation: true,
74
+ warnWhenUnsavedChanges: true,
75
+ }}
76
+ >
77
+ {resources.length === 0 ? (
78
+ <div style={{ display: "flex", justifyContent: "center", alignItems: "center", height: "100vh" }}>
79
+ <Spin size="large" />
80
+ </div>
81
+ ) : (
82
+ <Routes>
83
+ <Route
84
+ path="/"
85
+ element={
86
+ <Layout>
87
+ <Outlet />
88
+ </Layout>
89
+ }
90
+ >
91
+ <Route
92
+ index
93
+ element={<NavigateToResource resource={resources[0]?.name} />}
94
+ />
95
+ {renderRoutes()}
96
+ <Route path="*" element={<ErrorComponent />} />
97
+ </Route>
98
+ </Routes>
99
+ )}
100
+ <RefineKbar />
101
+ <UnsavedChangesNotifier />
102
+ </Refine>
103
+ </DevAgentWrapper>
104
+ </ColorModeContextProvider>
105
+ </BusinessContextProvider>
106
+ </RefineKbarProvider>
107
+ </BrowserRouter>
108
+ );
109
+ }
110
+
111
+ export default App;