@gadmin2n/schematics 0.0.64 → 0.0.65
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/dist/lib/application/files/gadmin2-game-angle-demo/.dockerignore +2 -2
- package/dist/lib/application/files/gadmin2-game-angle-demo/Dockerfile +40 -26
- package/dist/lib/application/files/gadmin2-game-angle-demo/Jenkinsfile +30 -4
- package/dist/lib/application/files/gadmin2-game-angle-demo/config/prisma/example.prisma +33 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/config/prisma/system.prisma +163 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/config/ui/Event.ts +70 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/config/ui/Game.ts +6 -6
- package/dist/lib/application/files/gadmin2-game-angle-demo/config/ui/ITActivityDay.ts +70 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/config/ui/Log.ts +2 -2
- package/dist/lib/application/files/gadmin2-game-angle-demo/config/ui/Role.ts +2 -2
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/.env +20 -9
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/.env.local +1 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/.eslintrc.js +1 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/.prettierignore +1 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/README.md +2 -18
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/gadmin-cli.json +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/migrate-between-pg-schemas.js +1232 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/package.json +65 -38
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/prisma/.generator.prisma +4 -3
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/prisma.config.ts +16 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/seed/games.ts +1 -71
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/seed/index.ts +17 -21
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/seed/permissions.ts +278 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/seed/seedDataMngtPages.ts +258 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/seed/users.ts +7 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/alias.config.ts +7 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/app.controller.ts +151 -11
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/app.module.ts +29 -13
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/app.service.ts +151 -12
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/lib/auth.guard.ts +87 -41
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/lib/http-cache.interceptor.ts +21 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/lib/logger.ts +19 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/lib/safe-log.util.ts +176 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/lib/{yufuid.ts → taihu.ts} +49 -34
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/lib/tracing.ts +174 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/lib/trim.pipe.ts +51 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/lib/utils.ts +91 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/lib/woaAuth.ts +25 -12
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/main.ts +22 -12
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/audit/audit.controller.spec.ts +20 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/audit/audit.controller.ts +190 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/audit/audit.module.ts +10 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/audit/audit.service.spec.ts +338 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/audit/audit.service.ts +83 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/game/game.controller.spec.ts +20 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/game/game.controller.ts +188 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/game/game.module.ts +10 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/game/game.service.spec.ts +18 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/game/game.service.ts +83 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/page/page.controller.spec.ts +20 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/page/page.controller.ts +250 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/page/page.module.ts +10 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/page/page.service.spec.ts +18 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/page/page.service.ts +1051 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/pageResource/pageResource.controller.spec.ts +20 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/pageResource/pageResource.controller.ts +196 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/pageResource/pageResource.module.ts +13 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/pageResource/pageResource.service.spec.ts +18 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/pageResource/pageResource.service.ts +219 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/resource/resource.controller.spec.ts +20 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/resource/resource.controller.ts +196 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/resource/resource.module.ts +10 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/resource/resource.service.spec.ts +18 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/resource/resource.service.ts +199 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/role/role.controller.spec.ts +20 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/role/role.controller.ts +210 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/role/role.module.ts +12 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/role/role.service.spec.ts +18 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/role/role.service.ts +849 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/role/roles-refresher.service.ts +133 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/rolePages/rolePages.controller.spec.ts +20 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/rolePages/rolePages.controller.ts +196 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/rolePages/rolePages.module.ts +10 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/rolePages/rolePages.service.spec.ts +18 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/rolePages/rolePages.service.ts +201 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/roleResource/roleResource.controller.spec.ts +20 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/roleResource/roleResource.controller.ts +196 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/roleResource/roleResource.module.ts +10 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/roleResource/roleResource.service.spec.ts +18 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/roleResource/roleResource.service.ts +216 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/user/user.controller.spec.ts +20 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/user/user.controller.ts +198 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/user/user.module.ts +10 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/user/user.service.spec.ts +18 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/user/user.service.ts +104 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/start-prod.sh +130 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/tsconfig.json +18 -3
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/index.html +19 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/package.json +34 -42
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/postcss.config.cjs +6 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/App.tsx +111 -185
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/auditLogProvider.ts +5 -5
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/contexts/color-mode/index.tsx +49 -51
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/custom-avatar.tsx +38 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/index.ts +4 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/{header/index.tsx → header.tsx} +22 -31
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/index.ts +3 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/layout.tsx +32 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/logo.tsx +19 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/sider.tsx +331 -166
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/title.tsx +61 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/pagination-total.tsx +21 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/tags/index.ts +1 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/tags/role-tag.tsx +44 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/text.tsx +74 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/config/routeRegistry.tsx +258 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/constants/layout.ts +16 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/enums/audit-log.enum.ts +13 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/enums/index.ts +1 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/login.ts +22 -4
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useDynamicResources.tsx +211 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useFetchData.ts +33 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useRoles.ts +30 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useUserPageAccess.ts +339 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/i18n.ts +8 -4
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/index.tsx +3 -11
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/{public → src}/locales/en/common.json +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/{public → src}/locales/zh_CN/common.json +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/components/action-cell.css +3 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/components/action-cell.tsx +134 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/create.tsx +113 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/edit.tsx +122 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/index.ts +8 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/index.tsx +6 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/list.tsx +213 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/show.tsx +61 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/AssignRolesModal.tsx +168 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/CreatePageModal.tsx +42 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/EditPageModal.tsx +42 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/PageDetailDrawer.tsx +101 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/PageFormModal.tsx +731 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/create.tsx +113 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/edit.tsx +122 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/hooks/usePageManagement.ts +36 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/index.ts +8 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/index.tsx +6 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/list.tsx +1113 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/queries.ts +17 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/show.tsx +61 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/types.ts +44 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/pageResource/create.tsx +113 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/pageResource/edit.tsx +122 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/pageResource/index.tsx +6 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/pageResource/list.tsx +243 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/pageResource/show.tsx +61 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/permission-readme/index.tsx +1088 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/Components/CreateModal.tsx +25 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/Components/EditModal.tsx +28 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/Components/ResourceDetailDrawer.tsx +160 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/Components/modal.tsx +202 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/create.tsx +113 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/edit.tsx +122 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/index.ts +9 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/index.tsx +6 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/list.tsx +184 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/queries.ts +10 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/show.tsx +61 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/types.ts +9 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/Components/CreateModal.tsx +30 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/Components/EditModal.tsx +47 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/Components/RoleDetailDrawer.tsx +56 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/Components/modal.tsx +302 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/create.tsx +113 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/edit.tsx +122 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/hooks/useRolePage.ts +35 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/index.ts +8 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/index.tsx +6 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/list.tsx +382 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/queries.ts +8 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/show.tsx +61 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/types.ts +8 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/rolePages/create.tsx +113 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/rolePages/edit.tsx +122 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/rolePages/index.tsx +6 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/rolePages/list.tsx +243 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/rolePages/show.tsx +61 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/roleResource/create.tsx +113 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/roleResource/edit.tsx +122 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/roleResource/index.tsx +6 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/roleResource/list.tsx +243 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/roleResource/show.tsx +61 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/create-modal.tsx +17 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/edit-modal.tsx +19 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/form-modal.tsx +188 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/index.ts +5 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/role-tag.tsx +48 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/show-drawer.tsx +140 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/create.tsx +113 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/edit.tsx +122 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/index.ts +8 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/index.tsx +6 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/list.tsx +342 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/queries.ts +14 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/show.tsx +61 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/antd.css +132 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/fc.css +58 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/index.css +128 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/show-drawer.module.css +18 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/show-page.module.css +21 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/types/audit-log.ts +1 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/types/index.ts +3 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/types/role.ts +7 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/types/user.ts +1 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/utilities/get-name-initials.ts +8 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/utilities/get-random-color.ts +27 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/utilities/index.ts +2 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/utilities/utils.tsx +5 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/vite-env.d.ts +1 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/tsconfig.json +3 -3
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/vite.config.ts +31 -0
- package/package.json +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/config/prisma/sample.prisma +0 -65
- package/dist/lib/application/files/gadmin2-game-angle-demo/config/ui/Source.ts +0 -76
- package/dist/lib/application/files/gadmin2-game-angle-demo/config/ui/Tasklog.ts +0 -76
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/seed/roles.ts +0 -4
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/craco.config.js +0 -27
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/public/index.html +0 -53
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/styles.ts +0 -10
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/react-app-env.d.ts +0 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/reportWebVitals.ts +0 -15
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/antd.less +0 -79
- /package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/VanillaJSONEditor/{index.js → index.jsx} +0 -0
package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/user/user.service.ts
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@nestjs/common';
|
|
2
|
+
import { Prisma, User } from '@prisma/client';
|
|
3
|
+
import { WINSTON_MODULE_PROVIDER } from 'nest-winston';
|
|
4
|
+
import { PrismaService } from 'nestjs-prisma';
|
|
5
|
+
import { Logger } from 'winston';
|
|
6
|
+
|
|
7
|
+
import { ConfigService } from '@nestjs/config';
|
|
8
|
+
import * as path from 'path';
|
|
9
|
+
|
|
10
|
+
@Injectable()
|
|
11
|
+
export class UserService {
|
|
12
|
+
constructor(
|
|
13
|
+
private prisma: PrismaService,
|
|
14
|
+
private readonly config: ConfigService,
|
|
15
|
+
@Inject(WINSTON_MODULE_PROVIDER) private readonly logger: Logger,
|
|
16
|
+
) {
|
|
17
|
+
this.logger = this.logger.child({
|
|
18
|
+
file: path.basename(__filename),
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
async createOne(userCreateArgs: Prisma.UserCreateArgs) {
|
|
23
|
+
return await this.prisma.user.create(userCreateArgs);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
async createMany(data: Prisma.UserCreateManyArgs['data']) {
|
|
27
|
+
return await this.prisma.user.createMany({
|
|
28
|
+
data,
|
|
29
|
+
skipDuplicates: true,
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
async findMany(
|
|
34
|
+
userFindManyArgs: Prisma.UserFindManyArgs,
|
|
35
|
+
): Promise<{ itemCount: number; entities: User[] }> {
|
|
36
|
+
const itemCount = await this.prisma.user.count({
|
|
37
|
+
where: userFindManyArgs.where,
|
|
38
|
+
});
|
|
39
|
+
const entities = await this.prisma.user.findMany(userFindManyArgs);
|
|
40
|
+
return { itemCount, entities };
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
async findUnique(id: number, select: Prisma.UserFindUniqueArgs['select']) {
|
|
44
|
+
return await this.prisma.user.findUnique({
|
|
45
|
+
where: { id: id },
|
|
46
|
+
select,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
async updateMany(userUpdateManyArgs: Prisma.UserUpdateManyArgs) {
|
|
51
|
+
return await this.prisma.user.updateMany(userUpdateManyArgs);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
async updateUnique(id: number, data: Prisma.UserUpdateManyArgs['data']) {
|
|
55
|
+
return await this.prisma.user.update({
|
|
56
|
+
where: { id: id },
|
|
57
|
+
data,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
async deleteMany(userDeleteManyArgs: Prisma.UserDeleteManyArgs) {
|
|
62
|
+
return await this.prisma.user.deleteMany(userDeleteManyArgs);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
async deleteUnique(id: number) {
|
|
66
|
+
await this.prisma.user.delete({
|
|
67
|
+
where: { id: id },
|
|
68
|
+
});
|
|
69
|
+
return { count: 1 };
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
async count(userCountArgs?: Prisma.UserCountArgs) {
|
|
73
|
+
return await this.prisma.user.count(userCountArgs);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
async groupBy(userGroupByArgs: Prisma.UserGroupByArgs) {
|
|
77
|
+
return await this.prisma.user.groupBy(userGroupByArgs as any);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
async aggregate(userAggregateArgs: Prisma.UserAggregateArgs) {
|
|
81
|
+
return await this.prisma.user.aggregate(userAggregateArgs);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
async findByApiKey(key: string): Promise<User | null> {
|
|
85
|
+
const record = await this.prisma.user.findFirst({
|
|
86
|
+
where: { apiKey: key, isApiKey: true },
|
|
87
|
+
});
|
|
88
|
+
if (record) {
|
|
89
|
+
// async update lastUsedAt - fire and forget
|
|
90
|
+
this.prisma.user
|
|
91
|
+
.update({
|
|
92
|
+
where: { userid: record.userid },
|
|
93
|
+
data: { lastUsedAt: new Date() },
|
|
94
|
+
})
|
|
95
|
+
.catch(() => {});
|
|
96
|
+
}
|
|
97
|
+
return record;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
static maskApiKey(key: string | null): string {
|
|
101
|
+
if (!key || key.length <= 8) return key || '';
|
|
102
|
+
return key.substring(0, 8) + '****';
|
|
103
|
+
}
|
|
104
|
+
}
|
|
@@ -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
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"compilerOptions": {
|
|
3
3
|
"module": "commonjs",
|
|
4
|
+
"moduleResolution": "node",
|
|
4
5
|
"declaration": true,
|
|
5
6
|
"removeComments": true,
|
|
6
7
|
"emitDecoratorMetadata": true,
|
|
@@ -16,6 +17,20 @@
|
|
|
16
17
|
"noImplicitAny": false,
|
|
17
18
|
"strictBindCallApply": false,
|
|
18
19
|
"forceConsistentCasingInFileNames": false,
|
|
19
|
-
"noFallthroughCasesInSwitch": false
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
"noFallthroughCasesInSwitch": false,
|
|
21
|
+
"paths": {
|
|
22
|
+
"@/*": [
|
|
23
|
+
"src/*"
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
"types": [
|
|
27
|
+
"node",
|
|
28
|
+
"nest-access-control"
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
"exclude": [
|
|
32
|
+
"node_modules", // 忽略第三方依赖
|
|
33
|
+
"**/*.js", // 忽略所有JS文件
|
|
34
|
+
"**/*.d.ts", // 忽略所有D.ts文件
|
|
35
|
+
]
|
|
36
|
+
}
|
|
@@ -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>
|
|
@@ -5,85 +5,77 @@
|
|
|
5
5
|
"author": "",
|
|
6
6
|
"private": true,
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@ant-design/icons": "^5.
|
|
9
|
-
"@
|
|
10
|
-
"@
|
|
11
|
-
"@
|
|
12
|
-
"@
|
|
13
|
-
"@
|
|
14
|
-
"@refinedev/
|
|
15
|
-
"@refinedev/
|
|
16
|
-
"@
|
|
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.55",
|
|
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",
|
|
17
21
|
"@uiw/react-md-editor": "^3.19.5",
|
|
18
|
-
"antd": "^5.
|
|
22
|
+
"antd": "^5.24.6",
|
|
19
23
|
"class-validator": "^0.14.0",
|
|
20
|
-
"
|
|
21
|
-
"i18next
|
|
22
|
-
"i18next-
|
|
24
|
+
"dayjs": "^1.11.19",
|
|
25
|
+
"i18next": "^24.2.3",
|
|
26
|
+
"i18next-browser-languagedetector": "^8.0.4",
|
|
27
|
+
"i18next-http-backend": "^3.0.2",
|
|
23
28
|
"js-cookie": "^3.0.5",
|
|
24
29
|
"json-stable-stringify": "^1.0.1",
|
|
30
|
+
"lodash": "^4.17.23",
|
|
25
31
|
"lodash.foreach": "^4.5.0",
|
|
26
32
|
"lodash.groupby": "^4.6.0",
|
|
27
33
|
"lodash.memoize": "^4.1.2",
|
|
28
34
|
"react": "^18.2.0",
|
|
29
35
|
"react-diff-viewer": "^3.1.1",
|
|
30
36
|
"react-dom": "^18.2.0",
|
|
31
|
-
"react-i18next": "^
|
|
37
|
+
"react-i18next": "^15.4.1",
|
|
32
38
|
"react-router-dom": "^6.8.1",
|
|
33
39
|
"reflect-metadata": "^0.1.13",
|
|
34
40
|
"vanilla-jsoneditor": "^0.23.7"
|
|
35
41
|
},
|
|
36
42
|
"devDependencies": {
|
|
37
|
-
"@craco/craco": "^7.0.0",
|
|
38
43
|
"@testing-library/jest-dom": "^5.16.4",
|
|
39
44
|
"@testing-library/react": "^13.1.1",
|
|
40
45
|
"@testing-library/user-event": "^14.1.1",
|
|
41
46
|
"@types/jest": "^29.2.4",
|
|
42
47
|
"@types/js-cookie": "^3.0.3",
|
|
43
48
|
"@types/json-stable-stringify": "^1.0.34",
|
|
49
|
+
"@types/lodash": "^4.17.23",
|
|
44
50
|
"@types/lodash.foreach": "^4.5.7",
|
|
45
51
|
"@types/lodash.groupby": "^4.6.7",
|
|
46
52
|
"@types/lodash.memoize": "^4.1.7",
|
|
47
53
|
"@types/node": "^12.20.10",
|
|
48
54
|
"@types/react": "^18.0.15",
|
|
49
55
|
"@types/react-dom": "^18.0.6",
|
|
50
|
-
"
|
|
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",
|
|
51
61
|
"husky": "^8.0.0",
|
|
52
62
|
"lint-staged": "^13.0.0",
|
|
53
63
|
"prettier": "^3.0.0",
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"typescript": "^5.0.0",
|
|
57
|
-
"web-vitals": "^1.1.1"
|
|
64
|
+
"vite": "^6.2.0",
|
|
65
|
+
"vite-tsconfig-paths": "^5.1.4"
|
|
58
66
|
},
|
|
59
67
|
"scripts": {
|
|
60
|
-
"dev": "
|
|
61
|
-
"build": "
|
|
68
|
+
"dev": "vite --port 3000",
|
|
69
|
+
"build": "tsc && vite build",
|
|
70
|
+
"preview": "vite preview",
|
|
62
71
|
"format": "prettier --write \"src/**/*.{ts,tsx}\"",
|
|
63
|
-
"test": "react-scripts test",
|
|
64
|
-
"eject": "react-scripts eject",
|
|
65
|
-
"refine": "refine",
|
|
66
72
|
"prepare": "cd .. && husky install"
|
|
67
73
|
},
|
|
68
|
-
"eslintConfig": {
|
|
69
|
-
"extends": [
|
|
70
|
-
"react-app",
|
|
71
|
-
"react-app/jest"
|
|
72
|
-
]
|
|
73
|
-
},
|
|
74
74
|
"lint-staged": {
|
|
75
75
|
"**/*.{ts,tsx,js,jsx}": "prettier --write"
|
|
76
76
|
},
|
|
77
|
-
"
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
"not dead",
|
|
81
|
-
"not op_mini all"
|
|
82
|
-
],
|
|
83
|
-
"development": [
|
|
84
|
-
"last 1 chrome version",
|
|
85
|
-
"last 1 firefox version",
|
|
86
|
-
"last 1 safari version"
|
|
87
|
-
]
|
|
77
|
+
"type": "module",
|
|
78
|
+
"resolutions": {
|
|
79
|
+
"rc-util": "^5.44.4"
|
|
88
80
|
}
|
|
89
81
|
}
|