@fecommunity/reactpress 2.0.0-beta.0 â 3.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/LICENSE +6 -6
- package/README.md +28 -176
- package/bin/reactpress-cli-shim.js +28 -0
- package/bin/reactpress.js +244 -61
- package/dist/cli.d.ts +4 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +102 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/config.d.ts +8 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +54 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/init.d.ts +6 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +33 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/restart.d.ts +2 -0
- package/dist/commands/restart.d.ts.map +1 -0
- package/dist/commands/restart.js +29 -0
- package/dist/commands/restart.js.map +1 -0
- package/dist/commands/start.d.ts +2 -0
- package/dist/commands/start.d.ts.map +1 -0
- package/dist/commands/start.js +31 -0
- package/dist/commands/start.js.map +1 -0
- package/dist/commands/status.d.ts +2 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +20 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/stop.d.ts +5 -0
- package/dist/commands/stop.d.ts.map +1 -0
- package/dist/commands/stop.js +29 -0
- package/dist/commands/stop.js.map +1 -0
- package/dist/i18n.js +8 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/package.json +3 -0
- package/dist/services/config.d.ts +11 -0
- package/dist/services/config.d.ts.map +1 -0
- package/dist/services/config.js +102 -0
- package/dist/services/config.js.map +1 -0
- package/dist/services/database.d.ts +43 -0
- package/dist/services/database.d.ts.map +1 -0
- package/dist/services/database.js +252 -0
- package/dist/services/database.js.map +1 -0
- package/dist/services/exec.d.ts +22 -0
- package/dist/services/exec.d.ts.map +1 -0
- package/dist/services/exec.js +46 -0
- package/dist/services/exec.js.map +1 -0
- package/dist/services/init.d.ts +10 -0
- package/dist/services/init.d.ts.map +1 -0
- package/dist/services/init.js +50 -0
- package/dist/services/init.js.map +1 -0
- package/dist/services/process.d.ts +9 -0
- package/dist/services/process.d.ts.map +1 -0
- package/dist/services/process.js +98 -0
- package/dist/services/process.js.map +1 -0
- package/dist/services/server-health.d.ts +4 -0
- package/dist/services/server-health.d.ts.map +1 -0
- package/dist/services/server-health.js +27 -0
- package/dist/services/server-health.js.map +1 -0
- package/dist/services/server.d.ts +19 -0
- package/dist/services/server.d.ts.map +1 -0
- package/dist/services/server.js +133 -0
- package/dist/services/server.js.map +1 -0
- package/dist/templates/config.default.json +12 -0
- package/dist/templates/docker-compose.yml +27 -0
- package/dist/templates/env.default +11 -0
- package/dist/templates/package.json +10 -0
- package/dist/types/config.d.ts +30 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +2 -0
- package/dist/types/config.js.map +1 -0
- package/dist/utils/cli-context.d.ts +4 -0
- package/dist/utils/cli-context.d.ts.map +1 -0
- package/dist/utils/cli-context.js +10 -0
- package/dist/utils/cli-context.js.map +1 -0
- package/dist/utils/logger.d.ts +10 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +32 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/paths.d.ts +17 -0
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/paths.js +27 -0
- package/dist/utils/paths.js.map +1 -0
- package/dist/utils/platform.d.ts +8 -0
- package/dist/utils/platform.d.ts.map +1 -0
- package/dist/utils/platform.js +21 -0
- package/dist/utils/platform.js.map +1 -0
- package/dist/utils/port.d.ts +5 -0
- package/dist/utils/port.d.ts.map +1 -0
- package/dist/utils/port.js +25 -0
- package/dist/utils/port.js.map +1 -0
- package/dist/utils/server-bundle.d.ts +11 -0
- package/dist/utils/server-bundle.d.ts.map +1 -0
- package/dist/utils/server-bundle.js +71 -0
- package/dist/utils/server-bundle.js.map +1 -0
- package/lib/api-dev-runner.js +6 -0
- package/lib/api-dev.js +85 -0
- package/lib/bootstrap.js +114 -0
- package/lib/build.js +29 -0
- package/lib/db-backup.js +46 -0
- package/lib/dev-banner.js +40 -0
- package/lib/dev.js +134 -0
- package/lib/docker.js +157 -0
- package/lib/doctor.js +210 -0
- package/lib/http.js +147 -0
- package/lib/i18n/index.js +32 -0
- package/lib/i18n/strings.js +559 -0
- package/lib/lifecycle.js +160 -0
- package/lib/paths.js +75 -0
- package/lib/pm2.js +32 -0
- package/lib/process.js +45 -0
- package/{scripts/publish-packages.js â lib/publish.js} +255 -58
- package/lib/root.js +31 -0
- package/lib/spawn.js +91 -0
- package/lib/status.js +108 -0
- package/package.json +34 -72
- package/scripts/install-bundled-runtime.mjs +46 -0
- package/server/bin/reactpress-server.js +4 -4
- package/server/dist/app.module.d.ts +2 -0
- package/server/dist/app.module.js +105 -0
- package/server/dist/app.module.js.map +1 -0
- package/server/dist/common/api-messages.d.ts +32 -0
- package/server/dist/common/api-messages.js +36 -0
- package/server/dist/common/api-messages.js.map +1 -0
- package/server/dist/filters/http-exception.filter.d.ts +4 -0
- package/server/dist/filters/http-exception.filter.js +36 -0
- package/server/dist/filters/http-exception.filter.js.map +1 -0
- package/server/dist/generate-swagger.d.ts +1 -0
- package/server/dist/generate-swagger.js +73 -0
- package/server/dist/generate-swagger.js.map +1 -0
- package/server/dist/interceptors/transform.interceptor.d.ts +9 -0
- package/server/dist/interceptors/transform.interceptor.js +36 -0
- package/server/dist/interceptors/transform.interceptor.js.map +1 -0
- package/server/dist/logger/index.d.ts +4 -0
- package/server/dist/logger/index.js +33 -0
- package/server/dist/logger/index.js.map +1 -0
- package/server/dist/main.d.ts +6 -0
- package/server/dist/main.js +263 -0
- package/server/dist/main.js.map +1 -0
- package/server/dist/modules/api-key/api-key.controller.d.ts +14 -0
- package/server/dist/modules/api-key/api-key.controller.js +63 -0
- package/server/dist/modules/api-key/api-key.controller.js.map +1 -0
- package/server/dist/modules/api-key/api-key.entity.d.ts +11 -0
- package/server/dist/modules/api-key/api-key.entity.js +63 -0
- package/server/dist/modules/api-key/api-key.entity.js.map +1 -0
- package/server/dist/modules/api-key/api-key.guard.d.ts +7 -0
- package/server/dist/modules/api-key/api-key.guard.js +40 -0
- package/server/dist/modules/api-key/api-key.guard.js.map +1 -0
- package/server/dist/modules/api-key/api-key.module.d.ts +2 -0
- package/server/dist/modules/api-key/api-key.module.js +28 -0
- package/server/dist/modules/api-key/api-key.module.js.map +1 -0
- package/server/dist/modules/api-key/api-key.service.d.ts +15 -0
- package/server/dist/modules/api-key/api-key.service.js +81 -0
- package/server/dist/modules/api-key/api-key.service.js.map +1 -0
- package/server/dist/modules/article/article-revision.entity.d.ts +11 -0
- package/server/dist/modules/article/article-revision.entity.js +53 -0
- package/server/dist/modules/article/article-revision.entity.js.map +1 -0
- package/server/dist/modules/article/article.controller.d.ts +32 -0
- package/server/dist/modules/article/article.controller.js +242 -0
- package/server/dist/modules/article/article.controller.js.map +1 -0
- package/server/dist/modules/article/article.entity.d.ts +24 -0
- package/server/dist/modules/article/article.entity.js +133 -0
- package/server/dist/modules/article/article.entity.js.map +1 -0
- package/server/dist/modules/article/article.module.d.ts +2 -0
- package/server/dist/modules/article/article.module.js +42 -0
- package/server/dist/modules/article/article.module.js.map +1 -0
- package/server/dist/modules/article/article.service.d.ts +38 -0
- package/server/dist/modules/article/article.service.js +357 -0
- package/server/dist/modules/article/article.service.js.map +1 -0
- package/server/dist/modules/article/article.util.d.ts +1 -0
- package/server/dist/modules/article/article.util.js +9 -0
- package/server/dist/modules/article/article.util.js.map +1 -0
- package/server/dist/modules/article/scheduled-publish.service.d.ts +13 -0
- package/server/dist/modules/article/scheduled-publish.service.js +65 -0
- package/server/dist/modules/article/scheduled-publish.service.js.map +1 -0
- package/server/dist/modules/auth/auth.controller.d.ts +12 -0
- package/server/dist/modules/auth/auth.controller.js +66 -0
- package/server/dist/modules/auth/auth.controller.js.map +1 -0
- package/server/dist/modules/auth/auth.module.d.ts +2 -0
- package/server/dist/modules/auth/auth.module.js +41 -0
- package/server/dist/modules/auth/auth.module.js.map +1 -0
- package/server/dist/modules/auth/auth.service.d.ts +26 -0
- package/server/dist/modules/auth/auth.service.js +128 -0
- package/server/dist/modules/auth/auth.service.js.map +1 -0
- package/server/dist/modules/auth/jwt-auth.guard.d.ts +7 -0
- package/server/dist/modules/auth/jwt-auth.guard.js +30 -0
- package/server/dist/modules/auth/jwt-auth.guard.js.map +1 -0
- package/server/dist/modules/auth/jwt.strategy.d.ts +9 -0
- package/server/dist/modules/auth/jwt.strategy.js +39 -0
- package/server/dist/modules/auth/jwt.strategy.js.map +1 -0
- package/server/dist/modules/auth/roles.guard.d.ts +10 -0
- package/server/dist/modules/auth/roles.guard.js +46 -0
- package/server/dist/modules/auth/roles.guard.js.map +1 -0
- package/server/dist/modules/category/category.controller.d.ts +11 -0
- package/server/dist/modules/category/category.controller.js +91 -0
- package/server/dist/modules/category/category.controller.js.map +1 -0
- package/server/dist/modules/category/category.entity.d.ts +9 -0
- package/server/dist/modules/category/category.entity.js +60 -0
- package/server/dist/modules/category/category.entity.js.map +1 -0
- package/server/dist/modules/category/category.module.d.ts +2 -0
- package/server/dist/modules/category/category.module.js +27 -0
- package/server/dist/modules/category/category.module.js.map +1 -0
- package/server/dist/modules/category/category.service.d.ts +12 -0
- package/server/dist/modules/category/category.service.js +90 -0
- package/server/dist/modules/category/category.service.js.map +1 -0
- package/server/dist/modules/comment/comment.controller.d.ts +12 -0
- package/server/dist/modules/comment/comment.controller.js +100 -0
- package/server/dist/modules/comment/comment.controller.js.map +1 -0
- package/server/dist/modules/comment/comment.entity.d.ts +17 -0
- package/server/dist/modules/comment/comment.entity.js +104 -0
- package/server/dist/modules/comment/comment.entity.js.map +1 -0
- package/server/dist/modules/comment/comment.module.d.ts +2 -0
- package/server/dist/modules/comment/comment.module.js +39 -0
- package/server/dist/modules/comment/comment.module.js.map +1 -0
- package/server/dist/modules/comment/comment.service.d.ts +26 -0
- package/server/dist/modules/comment/comment.service.js +182 -0
- package/server/dist/modules/comment/comment.service.js.map +1 -0
- package/server/dist/modules/comment/html.d.ts +15 -0
- package/server/dist/modules/comment/html.js +632 -0
- package/server/dist/modules/comment/html.js.map +1 -0
- package/server/dist/modules/file/file.controller.d.ts +10 -0
- package/server/dist/modules/file/file.controller.js +84 -0
- package/server/dist/modules/file/file.controller.js.map +1 -0
- package/server/dist/modules/file/file.entity.d.ts +9 -0
- package/server/dist/modules/file/file.entity.js +60 -0
- package/server/dist/modules/file/file.entity.js.map +1 -0
- package/server/dist/modules/file/file.module.d.ts +2 -0
- package/server/dist/modules/file/file.module.js +27 -0
- package/server/dist/modules/file/file.module.js.map +1 -0
- package/server/dist/modules/file/file.service.d.ts +17 -0
- package/server/dist/modules/file/file.service.js +111 -0
- package/server/dist/modules/file/file.service.js.map +1 -0
- package/server/dist/modules/health/health.controller.d.ts +11 -0
- package/server/dist/modules/health/health.controller.js +57 -0
- package/server/dist/modules/health/health.controller.js.map +1 -0
- package/server/dist/modules/health/health.module.d.ts +2 -0
- package/server/dist/modules/health/health.module.js +20 -0
- package/server/dist/modules/health/health.module.js.map +1 -0
- package/server/dist/modules/install/install.controller.d.ts +11 -0
- package/server/dist/modules/install/install.controller.js +49 -0
- package/server/dist/modules/install/install.controller.js.map +1 -0
- package/server/dist/modules/install/install.module.d.ts +2 -0
- package/server/dist/modules/install/install.module.js +26 -0
- package/server/dist/modules/install/install.module.js.map +1 -0
- package/server/dist/modules/install/install.service.d.ts +12 -0
- package/server/dist/modules/install/install.service.js +63 -0
- package/server/dist/modules/install/install.service.js.map +1 -0
- package/server/dist/modules/knowledge/knowledge.controller.d.ts +14 -0
- package/server/dist/modules/knowledge/knowledge.controller.js +128 -0
- package/server/dist/modules/knowledge/knowledge.controller.js.map +1 -0
- package/server/dist/modules/knowledge/knowledge.entity.d.ts +18 -0
- package/server/dist/modules/knowledge/knowledge.entity.js +109 -0
- package/server/dist/modules/knowledge/knowledge.entity.js.map +1 -0
- package/server/dist/modules/knowledge/knowledge.module.d.ts +2 -0
- package/server/dist/modules/knowledge/knowledge.module.js +27 -0
- package/server/dist/modules/knowledge/knowledge.module.js.map +1 -0
- package/server/dist/modules/knowledge/knowledge.service.d.ts +14 -0
- package/server/dist/modules/knowledge/knowledge.service.js +144 -0
- package/server/dist/modules/knowledge/knowledge.service.js.map +1 -0
- package/server/dist/modules/page/page.controller.d.ts +12 -0
- package/server/dist/modules/page/page.controller.js +102 -0
- package/server/dist/modules/page/page.controller.js.map +1 -0
- package/server/dist/modules/page/page.entity.d.ts +15 -0
- package/server/dist/modules/page/page.entity.js +94 -0
- package/server/dist/modules/page/page.entity.js.map +1 -0
- package/server/dist/modules/page/page.module.d.ts +2 -0
- package/server/dist/modules/page/page.module.js +27 -0
- package/server/dist/modules/page/page.module.js.map +1 -0
- package/server/dist/modules/page/page.service.d.ts +12 -0
- package/server/dist/modules/page/page.service.js +98 -0
- package/server/dist/modules/page/page.service.js.map +1 -0
- package/server/dist/modules/search/search.controller.d.ts +8 -0
- package/server/dist/modules/search/search.controller.js +67 -0
- package/server/dist/modules/search/search.controller.js.map +1 -0
- package/server/dist/modules/search/search.entity.d.ts +8 -0
- package/server/dist/modules/search/search.entity.js +59 -0
- package/server/dist/modules/search/search.entity.js.map +1 -0
- package/server/dist/modules/search/search.module.d.ts +2 -0
- package/server/dist/modules/search/search.module.js +27 -0
- package/server/dist/modules/search/search.module.js.map +1 -0
- package/server/dist/modules/search/search.service.d.ts +12 -0
- package/server/dist/modules/search/search.service.js +84 -0
- package/server/dist/modules/search/search.service.js.map +1 -0
- package/server/dist/modules/setting/setting.constant.d.ts +3 -0
- package/server/dist/modules/setting/setting.constant.js +25 -0
- package/server/dist/modules/setting/setting.constant.js.map +1 -0
- package/server/dist/modules/setting/setting.controller.d.ts +12 -0
- package/server/dist/modules/setting/setting.controller.js +77 -0
- package/server/dist/modules/setting/setting.controller.js.map +1 -0
- package/server/dist/modules/setting/setting.entity.d.ts +26 -0
- package/server/dist/modules/setting/setting.entity.js +149 -0
- package/server/dist/modules/setting/setting.entity.js.map +1 -0
- package/server/dist/modules/setting/setting.module.d.ts +2 -0
- package/server/dist/modules/setting/setting.module.js +28 -0
- package/server/dist/modules/setting/setting.module.js.map +1 -0
- package/server/dist/modules/setting/setting.service.d.ts +10 -0
- package/server/dist/modules/setting/setting.service.js +106 -0
- package/server/dist/modules/setting/setting.service.js.map +1 -0
- package/server/dist/modules/smtp/mail.util.d.ts +6 -0
- package/server/dist/modules/smtp/mail.util.js +33 -0
- package/server/dist/modules/smtp/mail.util.js.map +1 -0
- package/server/dist/modules/smtp/smtp.controller.d.ts +9 -0
- package/server/dist/modules/smtp/smtp.controller.js +69 -0
- package/server/dist/modules/smtp/smtp.controller.js.map +1 -0
- package/server/dist/modules/smtp/smtp.entity.d.ts +9 -0
- package/server/dist/modules/smtp/smtp.entity.js +60 -0
- package/server/dist/modules/smtp/smtp.entity.js.map +1 -0
- package/server/dist/modules/smtp/smtp.module.d.ts +2 -0
- package/server/dist/modules/smtp/smtp.module.js +28 -0
- package/server/dist/modules/smtp/smtp.module.js.map +1 -0
- package/server/dist/modules/smtp/smtp.service.d.ts +11 -0
- package/server/dist/modules/smtp/smtp.service.js +83 -0
- package/server/dist/modules/smtp/smtp.service.js.map +1 -0
- package/server/dist/modules/tag/tag.controller.d.ts +12 -0
- package/server/dist/modules/tag/tag.controller.js +101 -0
- package/server/dist/modules/tag/tag.controller.js.map +1 -0
- package/server/dist/modules/tag/tag.entity.d.ts +9 -0
- package/server/dist/modules/tag/tag.entity.js +59 -0
- package/server/dist/modules/tag/tag.entity.js.map +1 -0
- package/server/dist/modules/tag/tag.module.d.ts +2 -0
- package/server/dist/modules/tag/tag.module.js +27 -0
- package/server/dist/modules/tag/tag.module.js.map +1 -0
- package/server/dist/modules/tag/tag.service.d.ts +13 -0
- package/server/dist/modules/tag/tag.service.js +104 -0
- package/server/dist/modules/tag/tag.service.js.map +1 -0
- package/server/dist/modules/user/user.controller.d.ts +13 -0
- package/server/dist/modules/user/user.controller.js +115 -0
- package/server/dist/modules/user/user.controller.js.map +1 -0
- package/server/dist/modules/user/user.entity.d.ts +15 -0
- package/server/dist/modules/user/user.entity.js +96 -0
- package/server/dist/modules/user/user.entity.js.map +1 -0
- package/server/dist/modules/user/user.module.d.ts +2 -0
- package/server/dist/modules/user/user.module.js +28 -0
- package/server/dist/modules/user/user.module.js.map +1 -0
- package/server/dist/modules/user/user.service.d.ts +16 -0
- package/server/dist/modules/user/user.service.js +152 -0
- package/server/dist/modules/user/user.service.js.map +1 -0
- package/server/dist/modules/view/view.controller.d.ts +11 -0
- package/server/dist/modules/view/view.controller.js +92 -0
- package/server/dist/modules/view/view.controller.js.map +1 -0
- package/server/dist/modules/view/view.entity.d.ts +14 -0
- package/server/dist/modules/view/view.entity.js +88 -0
- package/server/dist/modules/view/view.entity.js.map +1 -0
- package/server/dist/modules/view/view.module.d.ts +2 -0
- package/server/dist/modules/view/view.module.js +27 -0
- package/server/dist/modules/view/view.module.js.map +1 -0
- package/server/dist/modules/view/view.service.d.ts +11 -0
- package/server/dist/modules/view/view.service.js +89 -0
- package/server/dist/modules/view/view.service.js.map +1 -0
- package/server/dist/modules/webhook/webhook.controller.d.ts +12 -0
- package/server/dist/modules/webhook/webhook.controller.js +63 -0
- package/server/dist/modules/webhook/webhook.controller.js.map +1 -0
- package/server/dist/modules/webhook/webhook.entity.d.ts +9 -0
- package/server/dist/modules/webhook/webhook.entity.js +54 -0
- package/server/dist/modules/webhook/webhook.entity.js.map +1 -0
- package/server/dist/modules/webhook/webhook.module.d.ts +2 -0
- package/server/dist/modules/webhook/webhook.module.js +27 -0
- package/server/dist/modules/webhook/webhook.module.js.map +1 -0
- package/server/dist/modules/webhook/webhook.service.d.ts +16 -0
- package/server/dist/modules/webhook/webhook.service.js +97 -0
- package/server/dist/modules/webhook/webhook.service.js.map +1 -0
- package/server/dist/public/favicon.png +0 -0
- package/server/dist/public/index.html +439 -0
- package/server/dist/public/swagger/custom.css +11 -0
- package/server/dist/starter.d.ts +1 -0
- package/server/dist/starter.js +84 -0
- package/server/dist/starter.js.map +1 -0
- package/server/dist/tsconfig.build.tsbuildinfo +16966 -0
- package/server/dist/utils/date.util.d.ts +1 -0
- package/server/dist/utils/date.util.js +13 -0
- package/server/dist/utils/date.util.js.map +1 -0
- package/server/dist/utils/ip.util.d.ts +2 -0
- package/server/dist/utils/ip.util.js +27 -0
- package/server/dist/utils/ip.util.js.map +1 -0
- package/server/dist/utils/markdown.util.d.ts +4 -0
- package/server/dist/utils/markdown.util.js +42 -0
- package/server/dist/utils/markdown.util.js.map +1 -0
- package/server/dist/utils/oss/aliyun-oss-client.d.ts +6 -0
- package/server/dist/utils/oss/aliyun-oss-client.js +28 -0
- package/server/dist/utils/oss/aliyun-oss-client.js.map +1 -0
- package/server/dist/utils/oss/oss-client.d.ts +6 -0
- package/server/dist/utils/oss/oss-client.js +10 -0
- package/server/dist/utils/oss/oss-client.js.map +1 -0
- package/server/dist/utils/oss.util.d.ts +13 -0
- package/server/dist/utils/oss.util.js +49 -0
- package/server/dist/utils/oss.util.js.map +1 -0
- package/server/dist/utils/ua.util.d.ts +9 -0
- package/server/dist/utils/ua.util.js +36 -0
- package/server/dist/utils/ua.util.js.map +1 -0
- package/server/dist/utils/uniqueid.util.d.ts +1 -0
- package/server/dist/utils/uniqueid.util.js +9 -0
- package/server/dist/utils/uniqueid.util.js.map +1 -0
- package/server/dist/utils/upload.util.d.ts +5 -0
- package/server/dist/utils/upload.util.js +34 -0
- package/server/dist/utils/upload.util.js.map +1 -0
- package/server/dist/utils/user.util.d.ts +1 -0
- package/server/dist/utils/user.util.js +18 -0
- package/server/dist/utils/user.util.js.map +1 -0
- package/server/ecosystem.config.js +18 -0
- package/server/package.json +146 -0
- package/server/public/favicon.png +0 -0
- package/server/public/index.html +439 -0
- package/server/public/swagger/custom.css +11 -0
- package/templates/config.default.json +12 -0
- package/templates/docker-compose.prod.yml +56 -0
- package/templates/docker-compose.yml +27 -0
- package/templates/env.default +11 -0
- package/templates/package.json +10 -0
- package/ui/banner.js +22 -0
- package/ui/interactive.js +168 -0
- package/ui/theme.js +25 -0
- package/CONTRIBUTING.md +0 -122
- package/client/bin/reactpress-client.js +0 -190
- package/scripts/build-packages.js +0 -271
- package/scripts/deploy.sh +0 -25
- package/scripts/dev.js +0 -39
- package/scripts/reactpress-server-old.js +0 -130
- package/scripts/reactpress-server.js +0 -666
package/lib/status.js
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
const fs = require('fs');
|
|
2
|
+
const path = require('path');
|
|
3
|
+
const chalk = require('chalk');
|
|
4
|
+
const {
|
|
5
|
+
loadServerSiteUrl,
|
|
6
|
+
loadClientSiteUrl,
|
|
7
|
+
getHealthUrl,
|
|
8
|
+
checkHealth,
|
|
9
|
+
isHttpResponding,
|
|
10
|
+
} = require('./http');
|
|
11
|
+
const { isUsingMonorepoServer } = require('./paths');
|
|
12
|
+
const { readPid, isProcessRunning } = require('./process');
|
|
13
|
+
const { isDockerRunning } = require('./docker');
|
|
14
|
+
const { ensureOriginalCwd } = require('./root');
|
|
15
|
+
const { t } = require('./i18n');
|
|
16
|
+
|
|
17
|
+
function envFileStatus(projectRoot) {
|
|
18
|
+
const envPath = path.join(projectRoot, '.env');
|
|
19
|
+
const configPath = path.join(projectRoot, '.reactpress', 'config.json');
|
|
20
|
+
return {
|
|
21
|
+
env: fs.existsSync(envPath),
|
|
22
|
+
config: fs.existsSync(configPath),
|
|
23
|
+
envPath,
|
|
24
|
+
configPath,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
async function printUnifiedStatus(projectRoot = ensureOriginalCwd()) {
|
|
29
|
+
const env = envFileStatus(projectRoot);
|
|
30
|
+
const apiUrl = loadServerSiteUrl(projectRoot);
|
|
31
|
+
const clientUrl = loadClientSiteUrl(projectRoot);
|
|
32
|
+
const pid = readPid(projectRoot);
|
|
33
|
+
const healthUrl = getHealthUrl(projectRoot);
|
|
34
|
+
const [apiHttp, clientHttp, health] = await Promise.all([
|
|
35
|
+
isHttpResponding(apiUrl),
|
|
36
|
+
isHttpResponding(clientUrl),
|
|
37
|
+
checkHealth(healthUrl),
|
|
38
|
+
]);
|
|
39
|
+
|
|
40
|
+
const apiSource = isUsingMonorepoServer()
|
|
41
|
+
? t('status.apiSource.monorepo')
|
|
42
|
+
: t('status.apiSource.bundle');
|
|
43
|
+
|
|
44
|
+
console.log('');
|
|
45
|
+
console.log(chalk.bold.cyan(t('status.title')));
|
|
46
|
+
console.log(chalk.gray(' âââââââââââââââââââââââââââââââââââââ'));
|
|
47
|
+
console.log(t('status.dir', { path: projectRoot }));
|
|
48
|
+
console.log(t('status.apiSource', { source: apiSource }));
|
|
49
|
+
console.log(
|
|
50
|
+
` ${chalk.bold('Config')} ${
|
|
51
|
+
env.config
|
|
52
|
+
? chalk.green(t('status.configOk'))
|
|
53
|
+
: chalk.yellow(t('status.configBad'))
|
|
54
|
+
}`,
|
|
55
|
+
);
|
|
56
|
+
console.log(
|
|
57
|
+
` ${chalk.bold('.env')} ${
|
|
58
|
+
env.env ? chalk.green(t('status.envOk')) : chalk.yellow(t('status.envBad'))
|
|
59
|
+
}`,
|
|
60
|
+
);
|
|
61
|
+
console.log(chalk.gray(' âââââââââââââââââââââââââââââââââââââ'));
|
|
62
|
+
console.log(chalk.bold(' API'));
|
|
63
|
+
console.log(` URL ${apiUrl}`);
|
|
64
|
+
console.log(
|
|
65
|
+
` HTTP ${
|
|
66
|
+
apiHttp ? chalk.green(t('status.apiOnline')) : chalk.red(t('status.apiOffline'))
|
|
67
|
+
}`,
|
|
68
|
+
);
|
|
69
|
+
console.log(
|
|
70
|
+
` Health ${
|
|
71
|
+
health.ok
|
|
72
|
+
? chalk.green(`${healthUrl} â`)
|
|
73
|
+
: chalk.gray(t('status.apiUnreachable', { url: healthUrl }))
|
|
74
|
+
}`,
|
|
75
|
+
);
|
|
76
|
+
if (health.ok && health.data?.data) {
|
|
77
|
+
const db = health.data.data.database;
|
|
78
|
+
console.log(
|
|
79
|
+
` Database ${
|
|
80
|
+
db === 'up'
|
|
81
|
+
? chalk.green(t('status.dbUp'))
|
|
82
|
+
: chalk.red(db === 'down' ? t('status.dbDown') : 'â')
|
|
83
|
+
}`,
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
console.log(
|
|
87
|
+
` PID ${pid ?? 'â'} ${
|
|
88
|
+
pid && isProcessRunning(pid) ? chalk.green(t('status.pidRunning')) : ''
|
|
89
|
+
}`,
|
|
90
|
+
);
|
|
91
|
+
console.log(chalk.bold(t('status.frontend')));
|
|
92
|
+
console.log(` URL ${clientUrl}`);
|
|
93
|
+
console.log(
|
|
94
|
+
` HTTP ${
|
|
95
|
+
clientHttp ? chalk.green(t('status.apiOnline')) : chalk.gray(t('status.apiOffline'))
|
|
96
|
+
}`,
|
|
97
|
+
);
|
|
98
|
+
console.log(chalk.gray(' âââââââââââââââââââââââââââââââââââââ'));
|
|
99
|
+
console.log(chalk.bold(t('status.docker')));
|
|
100
|
+
console.log(
|
|
101
|
+
` Engine ${
|
|
102
|
+
isDockerRunning() ? chalk.green(t('status.dockerUp')) : chalk.red(t('status.dockerDown'))
|
|
103
|
+
}`,
|
|
104
|
+
);
|
|
105
|
+
console.log('');
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
module.exports = { printUnifiedStatus, envFileStatus };
|
package/package.json
CHANGED
|
@@ -1,96 +1,58 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fecommunity/reactpress",
|
|
3
|
+
"version": "3.0.0",
|
|
4
|
+
"description": "ReactPress 3.0 â zero-config CMS: one package, one reactpress command",
|
|
3
5
|
"author": "fecommunity",
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/fecommunity/reactpress.git",
|
|
10
|
+
"directory": "cli"
|
|
11
|
+
},
|
|
6
12
|
"keywords": [
|
|
7
13
|
"reactpress",
|
|
8
14
|
"cms",
|
|
9
15
|
"blog",
|
|
10
|
-
"
|
|
11
|
-
"nextjs",
|
|
12
|
-
"nestjs",
|
|
13
|
-
"typescript"
|
|
16
|
+
"cli"
|
|
14
17
|
],
|
|
18
|
+
"engines": {
|
|
19
|
+
"node": ">=18"
|
|
20
|
+
},
|
|
15
21
|
"bin": {
|
|
16
22
|
"reactpress": "./bin/reactpress.js",
|
|
17
|
-
"reactpress-
|
|
18
|
-
"reactpress-client": "./client/bin/reactpress-client.js"
|
|
23
|
+
"reactpress-cli": "./bin/reactpress-cli-shim.js"
|
|
19
24
|
},
|
|
25
|
+
"main": "./bin/reactpress.js",
|
|
20
26
|
"files": [
|
|
21
|
-
"bin
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
27
|
+
"bin",
|
|
28
|
+
"lib",
|
|
29
|
+
"ui",
|
|
30
|
+
"dist",
|
|
31
|
+
"server",
|
|
32
|
+
"templates",
|
|
33
|
+
"scripts/install-bundled-runtime.mjs",
|
|
34
|
+
"README.md",
|
|
35
|
+
"LICENSE"
|
|
26
36
|
],
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
"
|
|
33
|
-
"dev:client": "pnpm run --dir ./client dev",
|
|
34
|
-
"dev:docs": "pnpm run --dir ./docs dev",
|
|
35
|
-
"build": "pnpm build:toolkit && pnpm build:server && pnpm build:client",
|
|
36
|
-
"build:packages": "node scripts/build-packages.js",
|
|
37
|
-
"build:toolkit": "pnpm run --dir ./toolkit build",
|
|
38
|
-
"build:server": "pnpm run --dir ./server build",
|
|
39
|
-
"build:client": "pnpm run --dir ./client build",
|
|
40
|
-
"build:docs": "pnpm run --dir ./docs build",
|
|
41
|
-
"deploy:docs": "pnpm run --dir ./docs deploy:surge",
|
|
42
|
-
"deploy": "sh scripts/deploy.sh",
|
|
43
|
-
"start": "concurrently 'pnpm:start:*'",
|
|
44
|
-
"start:server": "pnpm run --dir ./server start",
|
|
45
|
-
"start:client": "pnpm run --dir ./client start",
|
|
46
|
-
"pm2": "pnpm run pm2:server && pnpm run pm2:client",
|
|
47
|
-
"pm2:server": "pnpm run --dir ./server pm2",
|
|
48
|
-
"pm2:client": "pnpm run --dir ./client pm2",
|
|
49
|
-
"lint": "concurrently 'pnpm:lint:*'",
|
|
50
|
-
"lint:client": "eslint --fix './client/**/*.{ts,tsx,js,jsx}'",
|
|
51
|
-
"lint:server": "eslint --fix './server/./**/*.{ts,js}'",
|
|
52
|
-
"format": "concurrently 'pnpm:format:*'",
|
|
53
|
-
"format:js": "prettier --write --parser typescript './**/*.{ts,tsx,js,jsx}'",
|
|
54
|
-
"prepare": "husky",
|
|
55
|
-
"precommit": "lint-staged",
|
|
56
|
-
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0",
|
|
57
|
-
"publish": "node scripts/publish-packages.js",
|
|
58
|
-
"release": "node scripts/build-packages.js --publish",
|
|
59
|
-
"generate:api-types": "node scripts/generate-api-types.js"
|
|
37
|
+
"publishConfig": {
|
|
38
|
+
"access": "public",
|
|
39
|
+
"registry": "https://registry.npmjs.org/"
|
|
40
|
+
},
|
|
41
|
+
"optionalDependencies": {
|
|
42
|
+
"mysql2": "^3.12.0"
|
|
60
43
|
},
|
|
61
44
|
"dependencies": {
|
|
62
45
|
"chalk": "^4.1.2",
|
|
63
46
|
"commander": "^9.4.1",
|
|
64
47
|
"concurrently": "^7.0.0",
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"express": "^5.1.0",
|
|
68
|
-
"fs-extra": "^10.0.0",
|
|
48
|
+
"cross-spawn": "^7.0.3",
|
|
49
|
+
"fs-extra": "^11.2.0",
|
|
69
50
|
"inquirer": "^8.2.4",
|
|
70
|
-
"mysql2": "^3.12.0",
|
|
71
51
|
"open": "^8.2.1",
|
|
72
|
-
"
|
|
73
|
-
},
|
|
74
|
-
"engines": {
|
|
75
|
-
"node": ">=16.5.0"
|
|
52
|
+
"ora": "^5.4.1"
|
|
76
53
|
},
|
|
77
54
|
"devDependencies": {
|
|
78
|
-
"
|
|
79
|
-
"lint-staged": "^12.4.1",
|
|
80
|
-
"prettier": "^2.3.2",
|
|
81
|
-
"typescript": "~4.1.6"
|
|
82
|
-
},
|
|
83
|
-
"lint-staged": {
|
|
84
|
-
"*.{ts,tsx,js,jsx,.css,.scss}": "prettier --write",
|
|
85
|
-
"./client/**/*.{ts,tsx,js,jsx}": [
|
|
86
|
-
"eslint --fix"
|
|
87
|
-
],
|
|
88
|
-
"./server/src/**/*.{ts,js}": [
|
|
89
|
-
"eslint --fix"
|
|
90
|
-
],
|
|
91
|
-
"./config/**/*.{ts,tsx,js,jsx}": [
|
|
92
|
-
"eslint --fix"
|
|
93
|
-
]
|
|
55
|
+
"@fecommunity/reactpress-cli-core": "npm:@fecommunity/reactpress-cli@0.1.0"
|
|
94
56
|
},
|
|
95
|
-
"
|
|
57
|
+
"scripts": {}
|
|
96
58
|
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { spawnSync } from 'node:child_process';
|
|
3
|
+
import { dirname, join } from 'node:path';
|
|
4
|
+
import { fileURLToPath } from 'node:url';
|
|
5
|
+
|
|
6
|
+
const cliRoot = join(dirname(fileURLToPath(import.meta.url)), '..');
|
|
7
|
+
const serverDir = join(cliRoot, 'server');
|
|
8
|
+
|
|
9
|
+
function npmInstall() {
|
|
10
|
+
console.log('[reactpress-cli] installing bundled server runtime dependenciesâĻ');
|
|
11
|
+
const result = spawnSync(
|
|
12
|
+
'npm',
|
|
13
|
+
['install', '--omit=dev', '--legacy-peer-deps', '--no-bin-links'],
|
|
14
|
+
{
|
|
15
|
+
cwd: serverDir,
|
|
16
|
+
stdio: 'inherit',
|
|
17
|
+
shell: process.platform === 'win32',
|
|
18
|
+
}
|
|
19
|
+
);
|
|
20
|
+
if (result.status !== 0) {
|
|
21
|
+
process.exit(result.status ?? 1);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
if (!existsSync(join(serverDir, 'package.json'))) {
|
|
26
|
+
console.warn('[reactpress-cli] bundled server missing, skip runtime install');
|
|
27
|
+
process.exit(0);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const serverRuntimeModules = [
|
|
31
|
+
['node_modules', '@nestjs', 'core'],
|
|
32
|
+
['node_modules', '@nestjs', 'typeorm'],
|
|
33
|
+
['node_modules', 'typeorm'],
|
|
34
|
+
['node_modules', 'express'],
|
|
35
|
+
['node_modules', '@fecommunity', 'reactpress-toolkit'],
|
|
36
|
+
];
|
|
37
|
+
|
|
38
|
+
const serverReady =
|
|
39
|
+
existsSync(join(serverDir, 'dist', 'main.js')) &&
|
|
40
|
+
serverRuntimeModules.every((parts) => existsSync(join(serverDir, ...parts)));
|
|
41
|
+
|
|
42
|
+
if (serverReady) {
|
|
43
|
+
process.exit(0);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
npmInstall();
|
|
@@ -26,16 +26,16 @@ if (showHelp) {
|
|
|
26
26
|
ReactPress Server - NestJS-based backend API for ReactPress CMS
|
|
27
27
|
|
|
28
28
|
Usage:
|
|
29
|
-
|
|
29
|
+
reactpress-server [options]
|
|
30
|
+
(éå¸¸įą reactpress-cli start č°į¨)
|
|
30
31
|
|
|
31
32
|
Options:
|
|
32
33
|
--pm2 Start server with PM2 process manager
|
|
33
34
|
--help, -h Show this help message
|
|
34
35
|
|
|
35
36
|
Examples:
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
npx @fecommunity/reactpress-server --help # Show this help message
|
|
37
|
+
node bin/reactpress-server.js # Start server normally
|
|
38
|
+
node bin/reactpress-server.js --pm2 # Start server with PM2
|
|
39
39
|
`);
|
|
40
40
|
process.exit(0);
|
|
41
41
|
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.AppModule = void 0;
|
|
10
|
+
const reactpress_toolkit_1 = require("../../toolkit/dist");
|
|
11
|
+
const common_1 = require("@nestjs/common");
|
|
12
|
+
const config_1 = require("@nestjs/config");
|
|
13
|
+
const typeorm_1 = require("@nestjs/typeorm");
|
|
14
|
+
const article_entity_1 = require("./modules/article/article.entity");
|
|
15
|
+
const article_module_1 = require("./modules/article/article.module");
|
|
16
|
+
const auth_module_1 = require("./modules/auth/auth.module");
|
|
17
|
+
const category_entity_1 = require("./modules/category/category.entity");
|
|
18
|
+
const category_module_1 = require("./modules/category/category.module");
|
|
19
|
+
const comment_entity_1 = require("./modules/comment/comment.entity");
|
|
20
|
+
const comment_module_1 = require("./modules/comment/comment.module");
|
|
21
|
+
const file_entity_1 = require("./modules/file/file.entity");
|
|
22
|
+
const file_module_1 = require("./modules/file/file.module");
|
|
23
|
+
const knowledge_entity_1 = require("./modules/knowledge/knowledge.entity");
|
|
24
|
+
const knowledge_module_1 = require("./modules/knowledge/knowledge.module");
|
|
25
|
+
const page_entity_1 = require("./modules/page/page.entity");
|
|
26
|
+
const page_module_1 = require("./modules/page/page.module");
|
|
27
|
+
const search_entity_1 = require("./modules/search/search.entity");
|
|
28
|
+
const search_module_1 = require("./modules/search/search.module");
|
|
29
|
+
const setting_entity_1 = require("./modules/setting/setting.entity");
|
|
30
|
+
const setting_module_1 = require("./modules/setting/setting.module");
|
|
31
|
+
const smtp_entity_1 = require("./modules/smtp/smtp.entity");
|
|
32
|
+
const smtp_module_1 = require("./modules/smtp/smtp.module");
|
|
33
|
+
const tag_entity_1 = require("./modules/tag/tag.entity");
|
|
34
|
+
const tag_module_1 = require("./modules/tag/tag.module");
|
|
35
|
+
const user_entity_1 = require("./modules/user/user.entity");
|
|
36
|
+
const user_module_1 = require("./modules/user/user.module");
|
|
37
|
+
const view_entity_1 = require("./modules/view/view.entity");
|
|
38
|
+
const view_module_1 = require("./modules/view/view.module");
|
|
39
|
+
const api_key_entity_1 = require("./modules/api-key/api-key.entity");
|
|
40
|
+
const api_key_module_1 = require("./modules/api-key/api-key.module");
|
|
41
|
+
const article_revision_entity_1 = require("./modules/article/article-revision.entity");
|
|
42
|
+
const health_module_1 = require("./modules/health/health.module");
|
|
43
|
+
const webhook_entity_1 = require("./modules/webhook/webhook.entity");
|
|
44
|
+
const webhook_module_1 = require("./modules/webhook/webhook.module");
|
|
45
|
+
let AppModule = class AppModule {
|
|
46
|
+
};
|
|
47
|
+
AppModule = __decorate([
|
|
48
|
+
common_1.Module({
|
|
49
|
+
imports: [
|
|
50
|
+
config_1.ConfigModule.forRoot({ isGlobal: true, envFilePath: [reactpress_toolkit_1.config.file] }),
|
|
51
|
+
typeorm_1.TypeOrmModule.forRootAsync({
|
|
52
|
+
imports: [config_1.ConfigModule],
|
|
53
|
+
inject: [config_1.ConfigService],
|
|
54
|
+
useFactory: async (configService) => ({
|
|
55
|
+
type: 'mysql',
|
|
56
|
+
entities: [
|
|
57
|
+
user_entity_1.User,
|
|
58
|
+
file_entity_1.File,
|
|
59
|
+
knowledge_entity_1.Knowledge,
|
|
60
|
+
article_entity_1.Article,
|
|
61
|
+
article_revision_entity_1.ArticleRevision,
|
|
62
|
+
category_entity_1.Category,
|
|
63
|
+
tag_entity_1.Tag,
|
|
64
|
+
comment_entity_1.Comment,
|
|
65
|
+
setting_entity_1.Setting,
|
|
66
|
+
smtp_entity_1.SMTP,
|
|
67
|
+
page_entity_1.Page,
|
|
68
|
+
view_entity_1.View,
|
|
69
|
+
search_entity_1.Search,
|
|
70
|
+
api_key_entity_1.ApiKey,
|
|
71
|
+
webhook_entity_1.Webhook,
|
|
72
|
+
],
|
|
73
|
+
host: configService.get('DB_HOST', '0.0.0.0'),
|
|
74
|
+
port: configService.get('DB_PORT', 3306),
|
|
75
|
+
username: configService.get('DB_USER', 'root'),
|
|
76
|
+
password: configService.get('DB_PASSWD', 'root'),
|
|
77
|
+
database: configService.get('DB_DATABASE', 'reactpress'),
|
|
78
|
+
charset: 'utf8mb4',
|
|
79
|
+
timezone: '+08:00',
|
|
80
|
+
synchronize: true,
|
|
81
|
+
}),
|
|
82
|
+
}),
|
|
83
|
+
user_module_1.UserModule,
|
|
84
|
+
file_module_1.FileModule,
|
|
85
|
+
tag_module_1.TagModule,
|
|
86
|
+
article_module_1.ArticleModule,
|
|
87
|
+
knowledge_module_1.KnowledgeModule,
|
|
88
|
+
category_module_1.CategoryModule,
|
|
89
|
+
comment_module_1.CommentModule,
|
|
90
|
+
setting_module_1.SettingModule,
|
|
91
|
+
smtp_module_1.SMTPModule,
|
|
92
|
+
auth_module_1.AuthModule,
|
|
93
|
+
page_module_1.PageModule,
|
|
94
|
+
view_module_1.ViewModule,
|
|
95
|
+
search_module_1.SearchModule,
|
|
96
|
+
health_module_1.HealthModule,
|
|
97
|
+
api_key_module_1.ApiKeyModule,
|
|
98
|
+
webhook_module_1.WebhookModule,
|
|
99
|
+
],
|
|
100
|
+
controllers: [],
|
|
101
|
+
providers: [],
|
|
102
|
+
})
|
|
103
|
+
], AppModule);
|
|
104
|
+
exports.AppModule = AppModule;
|
|
105
|
+
//# sourceMappingURL=app.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AACA,2DAAyD;AACzD,2CAAwC;AACxC,2CAA6D;AAC7D,6CAAgD;AAEhD,qEAA2D;AAE3D,qEAAiE;AAEjE,4DAAwD;AACxD,wEAA8D;AAE9D,wEAAoE;AACpE,qEAA2D;AAE3D,qEAAiE;AACjE,4DAAkD;AAElD,4DAAwD;AACxD,2EAAiE;AAEjE,2EAAuE;AACvE,4DAAkD;AAElD,4DAAwD;AAExD,kEAAwD;AACxD,kEAA8D;AAC9D,qEAA2D;AAE3D,qEAAiE;AACjE,4DAAkD;AAElD,4DAAwD;AACxD,yDAA+C;AAE/C,yDAAqD;AACrD,4DAAkD;AAElD,4DAAwD;AACxD,4DAAkD;AAElD,4DAAwD;AACxD,qEAA0D;AAC1D,qEAAgE;AAChE,uFAA4E;AAC5E,kEAA8D;AAC9D,qEAA2D;AAC3D,qEAAiE;AAyDjE,IAAa,SAAS,GAAtB,MAAa,SAAS;CAAG,CAAA;AAAZ,SAAS;IAvDrB,eAAM,CAAC;QACN,OAAO,EAAE;YACP,qBAAY,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,2BAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACpE,uBAAa,CAAC,YAAY,CAAC;gBACzB,OAAO,EAAE,CAAC,qBAAY,CAAC;gBACvB,MAAM,EAAE,CAAC,sBAAa,CAAC;gBACvB,UAAU,EAAE,KAAK,EAAE,aAA4B,EAAE,EAAE,CAAC,CAAC;oBACnD,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE;wBACR,kBAAI;wBACJ,kBAAI;wBACJ,4BAAS;wBACT,wBAAO;wBACP,yCAAe;wBACf,0BAAQ;wBACR,gBAAG;wBACH,wBAAO;wBACP,wBAAO;wBACP,kBAAI;wBACJ,kBAAI;wBACJ,kBAAI;wBACJ,sBAAM;wBACN,uBAAM;wBACN,wBAAO;qBACR;oBACD,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC;oBAC7C,IAAI,EAAE,aAAa,CAAC,GAAG,CAAS,SAAS,EAAE,IAAI,CAAC;oBAChD,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC;oBAC9C,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC;oBAChD,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC;oBACxD,OAAO,EAAE,SAAS;oBAClB,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE,IAAI;iBAClB,CAAC;aACH,CAAC;YACF,wBAAU;YACV,wBAAU;YACV,sBAAS;YACT,8BAAa;YACb,kCAAe;YACf,gCAAc;YACd,8BAAa;YACb,8BAAa;YACb,wBAAU;YACV,wBAAU;YACV,wBAAU;YACV,wBAAU;YACV,4BAAY;YACZ,4BAAY;YACZ,6BAAY;YACZ,8BAAa;SACd;QACD,WAAW,EAAE,EAAE;QACf,SAAS,EAAE,EAAE;KACd,CAAC;GACW,SAAS,CAAG;AAAZ,8BAAS"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export declare const ApiMsg: {
|
|
2
|
+
readonly AUTH_FAILED: "Authentication failed";
|
|
3
|
+
readonly MISSING_API_KEY: "Missing API Key";
|
|
4
|
+
readonly INVALID_API_KEY: "Invalid API Key";
|
|
5
|
+
readonly API_KEY_NOT_FOUND: "API Key not found";
|
|
6
|
+
readonly API_KEY_MISSING_READ: "API Key missing read permission";
|
|
7
|
+
readonly MISSING_PARAMS: "Missing required parameters";
|
|
8
|
+
readonly EMAIL_SEND_FAILED: "Failed to send email";
|
|
9
|
+
readonly OSS_CONFIG_INCOMPLETE: "OSS configuration is incomplete";
|
|
10
|
+
readonly WEBHOOK_NOT_FOUND: "Webhook not found";
|
|
11
|
+
readonly USERNAME_PASSWORD_REQUIRED: "Username and password are required";
|
|
12
|
+
readonly USERNAME_INVALID: "Username cannot contain spaces or invalid characters";
|
|
13
|
+
readonly USER_EXISTS: "User already exists";
|
|
14
|
+
readonly INVALID_CREDENTIALS: "Invalid username or password";
|
|
15
|
+
readonly USER_LOCKED: "User is locked and cannot sign in";
|
|
16
|
+
readonly FORBIDDEN: "You do not have permission for this action";
|
|
17
|
+
readonly UNAUTHORIZED: "Unauthorized";
|
|
18
|
+
readonly FORBIDDEN_ACTION: "Forbidden";
|
|
19
|
+
readonly ARTICLE_TITLE_EXISTS: "Article title already exists";
|
|
20
|
+
readonly REVISION_NOT_FOUND: "Revision not found";
|
|
21
|
+
readonly TAG_EXISTS: "Tag already exists";
|
|
22
|
+
readonly CATEGORY_EXISTS: "Category already exists";
|
|
23
|
+
readonly PAGE_EXISTS: "Page already exists";
|
|
24
|
+
readonly KNOWLEDGE_EXISTS: "Knowledge base already exists";
|
|
25
|
+
readonly INVALID_KNOWLEDGE_SECTION: "Invalid knowledge section";
|
|
26
|
+
readonly DELETE_HAS_ARTICLES: "Delete failed: related articles may exist";
|
|
27
|
+
readonly GITHUB_CODE_REQUIRED: "GitHub authorization code is required";
|
|
28
|
+
readonly GITHUB_EMAIL_REQUIRED: "Public email is required for GitHub sign-in";
|
|
29
|
+
readonly EMAIL_NEW_COMMENT: "New comment notification";
|
|
30
|
+
readonly EMAIL_COMMENT_REPLY: "Comment reply notification";
|
|
31
|
+
readonly EMAIL_GITHUB_LOGIN: "GitHub sign-in notification";
|
|
32
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ApiMsg = void 0;
|
|
4
|
+
exports.ApiMsg = {
|
|
5
|
+
AUTH_FAILED: 'Authentication failed',
|
|
6
|
+
MISSING_API_KEY: 'Missing API Key',
|
|
7
|
+
INVALID_API_KEY: 'Invalid API Key',
|
|
8
|
+
API_KEY_NOT_FOUND: 'API Key not found',
|
|
9
|
+
API_KEY_MISSING_READ: 'API Key missing read permission',
|
|
10
|
+
MISSING_PARAMS: 'Missing required parameters',
|
|
11
|
+
EMAIL_SEND_FAILED: 'Failed to send email',
|
|
12
|
+
OSS_CONFIG_INCOMPLETE: 'OSS configuration is incomplete',
|
|
13
|
+
WEBHOOK_NOT_FOUND: 'Webhook not found',
|
|
14
|
+
USERNAME_PASSWORD_REQUIRED: 'Username and password are required',
|
|
15
|
+
USERNAME_INVALID: 'Username cannot contain spaces or invalid characters',
|
|
16
|
+
USER_EXISTS: 'User already exists',
|
|
17
|
+
INVALID_CREDENTIALS: 'Invalid username or password',
|
|
18
|
+
USER_LOCKED: 'User is locked and cannot sign in',
|
|
19
|
+
FORBIDDEN: 'You do not have permission for this action',
|
|
20
|
+
UNAUTHORIZED: 'Unauthorized',
|
|
21
|
+
FORBIDDEN_ACTION: 'Forbidden',
|
|
22
|
+
ARTICLE_TITLE_EXISTS: 'Article title already exists',
|
|
23
|
+
REVISION_NOT_FOUND: 'Revision not found',
|
|
24
|
+
TAG_EXISTS: 'Tag already exists',
|
|
25
|
+
CATEGORY_EXISTS: 'Category already exists',
|
|
26
|
+
PAGE_EXISTS: 'Page already exists',
|
|
27
|
+
KNOWLEDGE_EXISTS: 'Knowledge base already exists',
|
|
28
|
+
INVALID_KNOWLEDGE_SECTION: 'Invalid knowledge section',
|
|
29
|
+
DELETE_HAS_ARTICLES: 'Delete failed: related articles may exist',
|
|
30
|
+
GITHUB_CODE_REQUIRED: 'GitHub authorization code is required',
|
|
31
|
+
GITHUB_EMAIL_REQUIRED: 'Public email is required for GitHub sign-in',
|
|
32
|
+
EMAIL_NEW_COMMENT: 'New comment notification',
|
|
33
|
+
EMAIL_COMMENT_REPLY: 'Comment reply notification',
|
|
34
|
+
EMAIL_GITHUB_LOGIN: 'GitHub sign-in notification',
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=api-messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-messages.js","sourceRoot":"","sources":["../../src/common/api-messages.ts"],"names":[],"mappings":";;;AACa,QAAA,MAAM,GAAG;IACpB,WAAW,EAAE,uBAAuB;IACpC,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;IAClC,iBAAiB,EAAE,mBAAmB;IACtC,oBAAoB,EAAE,iCAAiC;IACvD,cAAc,EAAE,6BAA6B;IAC7C,iBAAiB,EAAE,sBAAsB;IACzC,qBAAqB,EAAE,iCAAiC;IACxD,iBAAiB,EAAE,mBAAmB;IAEtC,0BAA0B,EAAE,oCAAoC;IAChE,gBAAgB,EAAE,sDAAsD;IACxE,WAAW,EAAE,qBAAqB;IAClC,mBAAmB,EAAE,8BAA8B;IACnD,WAAW,EAAE,mCAAmC;IAChD,SAAS,EAAE,4CAA4C;IACvD,YAAY,EAAE,cAAc;IAC5B,gBAAgB,EAAE,WAAW;IAE7B,oBAAoB,EAAE,8BAA8B;IACpD,kBAAkB,EAAE,oBAAoB;IAExC,UAAU,EAAE,oBAAoB;IAChC,eAAe,EAAE,yBAAyB;IAC1C,WAAW,EAAE,qBAAqB;IAClC,gBAAgB,EAAE,+BAA+B;IACjD,yBAAyB,EAAE,2BAA2B;IACtD,mBAAmB,EAAE,2CAA2C;IAEhE,oBAAoB,EAAE,uCAAuC;IAC7D,qBAAqB,EAAE,6CAA6C;IAEpE,iBAAiB,EAAE,0BAA0B;IAC7C,mBAAmB,EAAE,4BAA4B;IACjD,kBAAkB,EAAE,6BAA6B;CACzC,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.HttpExceptionFilter = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
const logger_1 = require("../logger");
|
|
12
|
+
let HttpExceptionFilter = class HttpExceptionFilter {
|
|
13
|
+
catch(exception, host) {
|
|
14
|
+
const ctx = host.switchToHttp();
|
|
15
|
+
const response = ctx.getResponse();
|
|
16
|
+
const request = ctx.getRequest();
|
|
17
|
+
const url = request.originalUrl;
|
|
18
|
+
const status = exception instanceof common_1.HttpException ? exception.getStatus() : common_1.HttpStatus.INTERNAL_SERVER_ERROR;
|
|
19
|
+
const msg = exception.message.message || exception.message;
|
|
20
|
+
const errorResponse = {
|
|
21
|
+
statusCode: status,
|
|
22
|
+
msg,
|
|
23
|
+
success: false,
|
|
24
|
+
data: null,
|
|
25
|
+
};
|
|
26
|
+
response.status(status);
|
|
27
|
+
response.header('Content-Type', 'application/json; charset=utf-8');
|
|
28
|
+
response.send(errorResponse);
|
|
29
|
+
logger_1.errorLogger.error(url, errorResponse);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
HttpExceptionFilter = __decorate([
|
|
33
|
+
common_1.Catch(common_1.HttpException)
|
|
34
|
+
], HttpExceptionFilter);
|
|
35
|
+
exports.HttpExceptionFilter = HttpExceptionFilter;
|
|
36
|
+
//# sourceMappingURL=http-exception.filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-exception.filter.js","sourceRoot":"","sources":["../../src/filters/http-exception.filter.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAkG;AAElG,sCAAwC;AAGxC,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAC9B,KAAK,CAAC,SAAwB,EAAE,IAAmB;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;QAEjC,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC;QAChC,MAAM,MAAM,GAAG,SAAS,YAAY,sBAAa,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,mBAAU,CAAC,qBAAqB,CAAC;QAC7G,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC;QAC3D,MAAM,aAAa,GAAG;YACpB,UAAU,EAAE,MAAM;YAClB,GAAG;YACH,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,IAAI;SACX,CAAC;QAGF,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAC;QACnE,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7B,oBAAW,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IACxC,CAAC;CACF,CAAA;AAtBY,mBAAmB;IAD/B,cAAK,CAAC,sBAAa,CAAC;GACR,mBAAmB,CAsB/B;AAtBY,kDAAmB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@nestjs/core");
|
|
4
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
5
|
+
const fs_1 = require("fs");
|
|
6
|
+
const path_1 = require("path");
|
|
7
|
+
const app_module_1 = require("./app.module");
|
|
8
|
+
async function generateSwaggerJson() {
|
|
9
|
+
let app;
|
|
10
|
+
try {
|
|
11
|
+
console.log('đ Starting Swagger JSON generation...');
|
|
12
|
+
app = await core_1.NestFactory.createApplicationContext(app_module_1.AppModule, {
|
|
13
|
+
logger: ['error', 'warn'],
|
|
14
|
+
});
|
|
15
|
+
const configService = app.get('ConfigService');
|
|
16
|
+
const apiPrefix = configService.get('SERVER_API_PREFIX', '/api');
|
|
17
|
+
console.log('đ Configuring Swagger documentation...');
|
|
18
|
+
const swaggerConfig = new swagger_1.DocumentBuilder()
|
|
19
|
+
.setTitle('ReactPress API Documentation')
|
|
20
|
+
.setDescription('Comprehensive API documentation for ReactPress - A modern content management system built with NestJS')
|
|
21
|
+
.setVersion('2.0')
|
|
22
|
+
.setContact('ReactPress Team', 'https://github.com/fecommunity/reactpress', 'admin@gaoredu.com')
|
|
23
|
+
.setLicense('MIT', 'https://github.com/fecommunity/reactpress/blob/main/LICENSE')
|
|
24
|
+
.addServer(configService.get('SERVER_SITE_URL', 'http://localhost:3002'), 'API Server')
|
|
25
|
+
.build();
|
|
26
|
+
console.log('đ¨ Generating Swagger document...');
|
|
27
|
+
const document = swagger_1.SwaggerModule.createDocument(app, swaggerConfig);
|
|
28
|
+
const outputPath = path_1.join(__dirname, '../public/swagger.json');
|
|
29
|
+
const publicDir = path_1.join(__dirname, '../public');
|
|
30
|
+
if (!fs_1.existsSync(publicDir)) {
|
|
31
|
+
console.log('đ Creating public directory...');
|
|
32
|
+
require('fs').mkdirSync(publicDir, { recursive: true });
|
|
33
|
+
}
|
|
34
|
+
if (fs_1.existsSync(outputPath)) {
|
|
35
|
+
console.log('đī¸ Removing existing swagger.json file...');
|
|
36
|
+
fs_1.unlinkSync(outputPath);
|
|
37
|
+
}
|
|
38
|
+
console.log('đž Writing Swagger JSON to file...');
|
|
39
|
+
fs_1.writeFileSync(outputPath, JSON.stringify(document, null, 2));
|
|
40
|
+
console.log(`â
Success! Swagger JSON generated at: ${outputPath}`);
|
|
41
|
+
console.log('đ Swagger generation process completed successfully');
|
|
42
|
+
process.exit(0);
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
console.error('â Error during Swagger generation:', error.message);
|
|
46
|
+
const existingPath = path_1.join(__dirname, '../public/swagger.json');
|
|
47
|
+
if (fs_1.existsSync(existingPath)) {
|
|
48
|
+
console.log('âšī¸ Using existing swagger.json file');
|
|
49
|
+
console.log('đ Swagger generation process completed successfully');
|
|
50
|
+
process.exit(0);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
console.error('â No existing swagger.json file found');
|
|
54
|
+
process.exit(1);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
finally {
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
generateSwaggerJson().catch(e => {
|
|
61
|
+
console.error('đĨ Unhandled error in generateSwaggerJson:', e.message);
|
|
62
|
+
const existingPath = path_1.join(__dirname, '../public/swagger.json');
|
|
63
|
+
if (fs_1.existsSync(existingPath)) {
|
|
64
|
+
console.log('âšī¸ Using existing swagger.json file');
|
|
65
|
+
console.log('đ Swagger generation process completed successfully');
|
|
66
|
+
process.exit(0);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
console.error('â No existing swagger.json file found');
|
|
70
|
+
process.exit(1);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
//# sourceMappingURL=generate-swagger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-swagger.js","sourceRoot":"","sources":["../src/generate-swagger.ts"],"names":[],"mappings":";;AAAA,uCAA2C;AAC3C,6CAAiE;AACjE,2BAA2D;AAC3D,+BAA4B;AAC5B,6CAAyC;AAEzC,KAAK,UAAU,mBAAmB;IAChC,IAAI,GAAG,CAAC;IACR,IAAI;QACF,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QAGtD,GAAG,GAAG,MAAM,kBAAW,CAAC,wBAAwB,CAAC,sBAAS,EAAE;YAC1D,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;SAC1B,CAAC,CAAC;QAGH,MAAM,aAAa,GAAG,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;QAEjE,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QAGvD,MAAM,aAAa,GAAG,IAAI,yBAAe,EAAE;aACxC,QAAQ,CAAC,8BAA8B,CAAC;aACxC,cAAc,CAAC,uGAAuG,CAAC;aACvH,UAAU,CAAC,KAAK,CAAC;aACjB,UAAU,CAAC,iBAAiB,EAAE,2CAA2C,EAAE,mBAAmB,CAAC;aAC/F,UAAU,CAAC,KAAK,EAAE,6DAA6D,CAAC;aAChF,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,EAAE,YAAY,CAAC;aACtF,KAAK,EAAE,CAAC;QAGX,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,uBAAa,CAAC,cAAc,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAGlE,MAAM,UAAU,GAAG,WAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;QAG7D,MAAM,SAAS,GAAG,WAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,eAAU,CAAC,SAAS,CAAC,EAAE;YAC1B,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;SACzD;QAGD,IAAI,eAAU,CAAC,UAAU,CAAC,EAAE;YAC1B,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAC1D,eAAU,CAAC,UAAU,CAAC,CAAC;SACxB;QAED,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,kBAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAE7D,OAAO,CAAC,GAAG,CAAC,yCAAyC,UAAU,EAAE,CAAC,CAAC;QAGnE,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAEjB;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAGnE,MAAM,YAAY,GAAG,WAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;QAC/D,IAAI,eAAU,CAAC,YAAY,CAAC,EAAE;YAC5B,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;aAAM;YACL,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;KACF;YAAS;KAGT;AACH,CAAC;AAGD,mBAAmB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;IAC9B,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IAGvE,MAAM,YAAY,GAAG,WAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;IAC/D,IAAI,eAAU,CAAC,YAAY,CAAC,EAAE;QAC5B,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;SAAM;QACL,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
interface Response<T> {
|
|
4
|
+
data: T;
|
|
5
|
+
}
|
|
6
|
+
export declare class TransformInterceptor<T> implements NestInterceptor<T, Response<T>> {
|
|
7
|
+
intercept(context: ExecutionContext, next: CallHandler<T>): Observable<Response<T>>;
|
|
8
|
+
}
|
|
9
|
+
export {};
|