@fecommunity/reactpress-server 3.7.0 → 4.0.0-beta.1
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/app.module.js +8 -45
- package/dist/app.module.js.map +1 -1
- package/dist/common/api-messages.d.ts +9 -0
- package/dist/common/api-messages.js +9 -0
- package/dist/common/api-messages.js.map +1 -1
- package/dist/database/typeorm-options.d.ts +3 -0
- package/dist/database/typeorm-options.js +60 -0
- package/dist/database/typeorm-options.js.map +1 -0
- package/dist/filters/http-exception.filter.js.map +1 -1
- package/dist/generate-swagger.d.ts +1 -1
- package/dist/generate-swagger.js +2 -1
- package/dist/generate-swagger.js.map +1 -1
- package/dist/interceptors/transform.interceptor.d.ts +2 -6
- package/dist/interceptors/transform.interceptor.js +8 -3
- package/dist/interceptors/transform.interceptor.js.map +1 -1
- package/dist/logger/index.js +5 -4
- package/dist/logger/index.js.map +1 -1
- package/dist/main.d.ts +1 -1
- package/dist/main.js +41 -19
- package/dist/main.js.map +1 -1
- package/dist/modules/api-key/api-key.controller.js.map +1 -1
- package/dist/modules/api-key/api-key.entity.js.map +1 -1
- package/dist/modules/api-key/api-key.guard.js +2 -3
- package/dist/modules/api-key/api-key.guard.js.map +1 -1
- package/dist/modules/api-key/api-key.module.js.map +1 -1
- package/dist/modules/api-key/api-key.service.js +1 -1
- package/dist/modules/api-key/api-key.service.js.map +1 -1
- package/dist/modules/article/article-revision.entity.js +3 -3
- package/dist/modules/article/article-revision.entity.js.map +1 -1
- package/dist/modules/article/article-slug.util.d.ts +2 -0
- package/dist/modules/article/article-slug.util.js +19 -0
- package/dist/modules/article/article-slug.util.js.map +1 -0
- package/dist/modules/article/article.controller.d.ts +1 -1
- package/dist/modules/article/article.controller.js +6 -4
- package/dist/modules/article/article.controller.js.map +1 -1
- package/dist/modules/article/article.entity.d.ts +3 -0
- package/dist/modules/article/article.entity.js +23 -8
- package/dist/modules/article/article.entity.js.map +1 -1
- package/dist/modules/article/article.module.js +6 -3
- package/dist/modules/article/article.module.js.map +1 -1
- package/dist/modules/article/article.service.d.ts +9 -3
- package/dist/modules/article/article.service.js +84 -16
- package/dist/modules/article/article.service.js.map +1 -1
- package/dist/modules/article/scheduled-publish.service.js.map +1 -1
- package/dist/modules/auth/auth.controller.js.map +1 -1
- package/dist/modules/auth/auth.module.js.map +1 -1
- package/dist/modules/auth/auth.service.js +1 -1
- package/dist/modules/auth/auth.service.js.map +1 -1
- package/dist/modules/auth/jwt-auth.guard.js +1 -1
- package/dist/modules/auth/jwt-auth.guard.js.map +1 -1
- package/dist/modules/auth/jwt.strategy.js +1 -1
- package/dist/modules/auth/jwt.strategy.js.map +1 -1
- package/dist/modules/auth/roles.guard.js.map +1 -1
- package/dist/modules/bootstrap/bootstrap.constants.d.ts +20 -0
- package/dist/modules/bootstrap/bootstrap.constants.js +171 -0
- package/dist/modules/bootstrap/bootstrap.constants.js.map +1 -0
- package/dist/modules/bootstrap/bootstrap.service.d.ts +22 -0
- package/dist/modules/bootstrap/bootstrap.service.js +183 -0
- package/dist/modules/bootstrap/bootstrap.service.js.map +1 -0
- package/dist/modules/bootstrap/install-locale.d.ts +2 -0
- package/dist/modules/bootstrap/install-locale.js +11 -0
- package/dist/modules/bootstrap/install-locale.js.map +1 -0
- package/dist/modules/category/category.controller.js.map +1 -1
- package/dist/modules/category/category.entity.js +1 -1
- package/dist/modules/category/category.entity.js.map +1 -1
- package/dist/modules/category/category.module.js.map +1 -1
- package/dist/modules/category/category.service.js +1 -1
- package/dist/modules/category/category.service.js.map +1 -1
- package/dist/modules/comment/comment.controller.js.map +1 -1
- package/dist/modules/comment/comment.entity.js +3 -3
- package/dist/modules/comment/comment.entity.js.map +1 -1
- package/dist/modules/comment/comment.module.js +1 -1
- package/dist/modules/comment/comment.module.js.map +1 -1
- package/dist/modules/comment/comment.service.d.ts +3 -1
- package/dist/modules/comment/comment.service.js +20 -4
- package/dist/modules/comment/comment.service.js.map +1 -1
- package/dist/modules/comment/html.d.ts +1 -1
- package/dist/modules/comment/html.js +1 -1
- package/dist/modules/comment/html.js.map +1 -1
- package/dist/modules/extension/extension.module.d.ts +9 -0
- package/dist/modules/extension/extension.module.js +50 -0
- package/dist/modules/extension/extension.module.js.map +1 -0
- package/dist/modules/extension/plugin-loader.service.d.ts +12 -0
- package/dist/modules/extension/plugin-loader.service.js +96 -0
- package/dist/modules/extension/plugin-loader.service.js.map +1 -0
- package/dist/modules/extension/plugin-registry.bridge.d.ts +3 -0
- package/dist/modules/extension/plugin-registry.bridge.js +44 -0
- package/dist/modules/extension/plugin-registry.bridge.js.map +1 -0
- package/dist/modules/extension/plugin.controller.d.ts +22 -0
- package/dist/modules/extension/plugin.controller.js +155 -0
- package/dist/modules/extension/plugin.controller.js.map +1 -0
- package/dist/modules/extension/plugin.service.d.ts +52 -0
- package/dist/modules/extension/plugin.service.js +391 -0
- package/dist/modules/extension/plugin.service.js.map +1 -0
- package/dist/modules/extension/preview-draft.store.d.ts +13 -0
- package/dist/modules/extension/preview-draft.store.js +41 -0
- package/dist/modules/extension/preview-draft.store.js.map +1 -0
- package/dist/modules/extension/theme-registry.bridge.d.ts +56 -0
- package/dist/modules/extension/theme-registry.bridge.js +46 -0
- package/dist/modules/extension/theme-registry.bridge.js.map +1 -0
- package/dist/modules/extension/theme.controller.d.ts +66 -0
- package/dist/modules/extension/theme.controller.js +301 -0
- package/dist/modules/extension/theme.controller.js.map +1 -0
- package/dist/modules/extension/theme.service.d.ts +140 -0
- package/dist/modules/extension/theme.service.js +1039 -0
- package/dist/modules/extension/theme.service.js.map +1 -0
- package/dist/modules/file/file-optimization.controller.d.ts +12 -0
- package/dist/modules/file/file-optimization.controller.js +79 -0
- package/dist/modules/file/file-optimization.controller.js.map +1 -0
- package/dist/modules/file/file-optimization.service.d.ts +36 -0
- package/dist/modules/file/file-optimization.service.js +385 -0
- package/dist/modules/file/file-optimization.service.js.map +1 -0
- package/dist/modules/file/file-optimization.types.d.ts +66 -0
- package/dist/modules/file/file-optimization.types.js +5 -0
- package/dist/modules/file/file-optimization.types.js.map +1 -0
- package/dist/modules/file/file.controller.d.ts +1 -1
- package/dist/modules/file/file.controller.js +5 -4
- package/dist/modules/file/file.controller.js.map +1 -1
- package/dist/modules/file/file.entity.d.ts +7 -0
- package/dist/modules/file/file.entity.js +5 -0
- package/dist/modules/file/file.entity.js.map +1 -1
- package/dist/modules/file/file.module.js +15 -3
- package/dist/modules/file/file.module.js.map +1 -1
- package/dist/modules/file/file.service.d.ts +5 -1
- package/dist/modules/file/file.service.js +62 -17
- package/dist/modules/file/file.service.js.map +1 -1
- package/dist/modules/file/image-optimizer-plugin.guard.d.ts +7 -0
- package/dist/modules/file/image-optimizer-plugin.guard.js +33 -0
- package/dist/modules/file/image-optimizer-plugin.guard.js.map +1 -0
- package/dist/modules/health/health.controller.js +2 -4
- package/dist/modules/health/health.controller.js.map +1 -1
- package/dist/modules/health/health.module.js.map +1 -1
- package/dist/modules/hook/hook.module.d.ts +2 -0
- package/dist/modules/hook/hook.module.js +22 -0
- package/dist/modules/hook/hook.module.js.map +1 -0
- package/dist/modules/hook/hook.service.d.ts +26 -0
- package/dist/modules/hook/hook.service.js +105 -0
- package/dist/modules/hook/hook.service.js.map +1 -0
- package/dist/modules/knowledge/knowledge.controller.js.map +1 -1
- package/dist/modules/knowledge/knowledge.entity.js +5 -5
- package/dist/modules/knowledge/knowledge.entity.js.map +1 -1
- package/dist/modules/knowledge/knowledge.module.js.map +1 -1
- package/dist/modules/knowledge/knowledge.service.js +1 -1
- package/dist/modules/knowledge/knowledge.service.js.map +1 -1
- package/dist/modules/page/page.controller.js.map +1 -1
- package/dist/modules/page/page.entity.js +5 -5
- package/dist/modules/page/page.entity.js.map +1 -1
- package/dist/modules/page/page.module.js.map +1 -1
- package/dist/modules/page/page.service.js +3 -4
- package/dist/modules/page/page.service.js.map +1 -1
- package/dist/modules/search/search.controller.js.map +1 -1
- package/dist/modules/search/search.entity.js.map +1 -1
- package/dist/modules/search/search.module.js.map +1 -1
- package/dist/modules/search/search.service.js.map +1 -1
- package/dist/modules/setting/setting.constant.d.ts +4 -2
- package/dist/modules/setting/setting.constant.js +3 -19
- package/dist/modules/setting/setting.constant.js.map +1 -1
- package/dist/modules/setting/setting.controller.js.map +1 -1
- package/dist/modules/setting/setting.entity.d.ts +3 -0
- package/dist/modules/setting/setting.entity.js +15 -0
- package/dist/modules/setting/setting.entity.js.map +1 -1
- package/dist/modules/setting/setting.module.js.map +1 -1
- package/dist/modules/setting/setting.service.d.ts +13 -2
- package/dist/modules/setting/setting.service.js +167 -22
- package/dist/modules/setting/setting.service.js.map +1 -1
- package/dist/modules/smtp/mail.util.d.ts +7 -6
- package/dist/modules/smtp/mail.util.js +5 -9
- package/dist/modules/smtp/mail.util.js.map +1 -1
- package/dist/modules/smtp/smtp.controller.d.ts +3 -0
- package/dist/modules/smtp/smtp.controller.js +13 -0
- package/dist/modules/smtp/smtp.controller.js.map +1 -1
- package/dist/modules/smtp/smtp.entity.js.map +1 -1
- package/dist/modules/smtp/smtp.module.js.map +1 -1
- package/dist/modules/smtp/smtp.service.d.ts +14 -0
- package/dist/modules/smtp/smtp.service.js +37 -10
- package/dist/modules/smtp/smtp.service.js.map +1 -1
- package/dist/modules/tag/tag.controller.js.map +1 -1
- package/dist/modules/tag/tag.entity.js +1 -1
- package/dist/modules/tag/tag.entity.js.map +1 -1
- package/dist/modules/tag/tag.module.js.map +1 -1
- package/dist/modules/tag/tag.service.js +1 -1
- package/dist/modules/tag/tag.service.js.map +1 -1
- package/dist/modules/user/user.controller.js +9 -1
- package/dist/modules/user/user.controller.js.map +1 -1
- package/dist/modules/user/user.entity.js +2 -2
- package/dist/modules/user/user.entity.js.map +1 -1
- package/dist/modules/user/user.module.js.map +1 -1
- package/dist/modules/user/user.service.js +4 -1
- package/dist/modules/user/user.service.js.map +1 -1
- package/dist/modules/view/view.controller.js.map +1 -1
- package/dist/modules/view/view.entity.js.map +1 -1
- package/dist/modules/view/view.module.js.map +1 -1
- package/dist/modules/view/view.service.js.map +1 -1
- package/dist/modules/webhook/webhook.controller.js.map +1 -1
- package/dist/modules/webhook/webhook.entity.js.map +1 -1
- package/dist/modules/webhook/webhook.module.js.map +1 -1
- package/dist/modules/webhook/webhook.service.d.ts +1 -1
- package/dist/modules/webhook/webhook.service.js +5 -2
- package/dist/modules/webhook/webhook.service.js.map +1 -1
- package/dist/node-polyfills.d.ts +18 -0
- package/dist/node-polyfills.js +24 -0
- package/dist/node-polyfills.js.map +1 -0
- package/dist/public/uploads/2026-05-30/QR3X4UZQ93ZTUPGXCFA9II..png +0 -0
- package/dist/public/uploads/2026-05-31/BXQV3NX9ZVWHGNOSX9AXD8.webp +0 -0
- package/dist/public/uploads/2026-05-31/BXQV3NX9ZVWHGNOSX9AXD8_medium.webp +0 -0
- package/dist/public/uploads/2026-05-31/BXQV3NX9ZVWHGNOSX9AXD8_thumb.webp +0 -0
- package/dist/public/uploads/2026-05-31/I2SZC0ONA7CF31UM46MN56..jpg +0 -0
- package/dist/starter.d.ts +3 -1
- package/dist/starter.js +185 -11
- package/dist/starter.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/utils/image-processor.util.d.ts +23 -0
- package/dist/utils/image-processor.util.js +88 -0
- package/dist/utils/image-processor.util.js.map +1 -0
- package/dist/utils/local-api-quiet.util.d.ts +1 -0
- package/dist/utils/local-api-quiet.util.js +8 -0
- package/dist/utils/local-api-quiet.util.js.map +1 -0
- package/dist/utils/markdown.util.js +1 -1
- package/dist/utils/markdown.util.js.map +1 -1
- package/dist/utils/oss/aliyun-oss-client.d.ts +3 -1
- package/dist/utils/oss/aliyun-oss-client.js +5 -0
- package/dist/utils/oss/aliyun-oss-client.js.map +1 -1
- package/dist/utils/oss/oss-client.d.ts +3 -1
- package/dist/utils/oss/oss-client.js.map +1 -1
- package/dist/utils/oss.util.d.ts +3 -1
- package/dist/utils/oss.util.js +5 -1
- package/dist/utils/oss.util.js.map +1 -1
- package/dist/utils/project-root.util.d.ts +2 -0
- package/dist/utils/project-root.util.js +42 -0
- package/dist/utils/project-root.util.js.map +1 -0
- package/dist/utils/upload.util.d.ts +6 -2
- package/dist/utils/upload.util.js +23 -8
- package/dist/utils/upload.util.js.map +1 -1
- package/dist/utils/user.util.d.ts +1 -0
- package/dist/utils/user.util.js +6 -2
- package/dist/utils/user.util.js.map +1 -1
- package/package.json +9 -10
- package/public/uploads/2026-05-30/QR3X4UZQ93ZTUPGXCFA9II..png +0 -0
- package/public/uploads/2026-05-31/BXQV3NX9ZVWHGNOSX9AXD8.webp +0 -0
- package/public/uploads/2026-05-31/BXQV3NX9ZVWHGNOSX9AXD8_medium.webp +0 -0
- package/public/uploads/2026-05-31/BXQV3NX9ZVWHGNOSX9AXD8_thumb.webp +0 -0
- package/public/uploads/2026-05-31/I2SZC0ONA7CF31UM46MN56..jpg +0 -0
|
@@ -52,12 +52,12 @@ __decorate([
|
|
|
52
52
|
], User.prototype, "email", void 0);
|
|
53
53
|
__decorate([
|
|
54
54
|
(0, swagger_1.ApiProperty)(),
|
|
55
|
-
(0, typeorm_1.Column)('simple-enum',
|
|
55
|
+
(0, typeorm_1.Column)({ type: 'simple-enum', enum: ['admin', 'visitor'], default: 'visitor' }),
|
|
56
56
|
__metadata("design:type", String)
|
|
57
57
|
], User.prototype, "role", void 0);
|
|
58
58
|
__decorate([
|
|
59
59
|
(0, swagger_1.ApiProperty)(),
|
|
60
|
-
(0, typeorm_1.Column)('simple-enum',
|
|
60
|
+
(0, typeorm_1.Column)({ type: 'simple-enum', enum: ['locked', 'active'], default: 'active' }),
|
|
61
61
|
__metadata("design:type", String)
|
|
62
62
|
], User.prototype, "status", void 0);
|
|
63
63
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../../src/modules/user/user.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,mCAAmC;AACnC,yDAA4C;AAC5C,qCAAmH;
|
|
1
|
+
{"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../../src/modules/user/user.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,mCAAmC;AACnC,yDAA4C;AAC5C,qCAAmH;AAG5G,IAAM,IAAI,GAAV,MAAM,IAAI;IAMf,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS;QACzC,OAAO,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,QAAQ;QAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;IAsDD,OAAO;QACL,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;CACF,CAAA;AAvDC;IAAC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;gCACpB;AAEX;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;kCACX;AAEb;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,2BAAO,GAAE;IACT,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;sCACP;AAEjB;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;oCACxB;AAEf;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;mCACzB;AAEd;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;;kCACnE;AAEb;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;;oCAChE;AAEf;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;;kCACjB;AAEb;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,0BAAgB,EAAC;QAChB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,WAAW;KAClB,CAAC;8BACQ,IAAI;sCAAC;AAEf;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,0BAAgB,EAAC;QAChB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,WAAW;KAClB,CAAC;8BACQ,IAAI;sCAAC;AAKf;IAAC,IAAA,sBAAY,GAAE;;;;mCAGd;AApEU,IAAI;IADhB,IAAA,gBAAM,GAAE;GACI,IAAI,CAqEhB;AArEY,oBAAI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.module.js","sourceRoot":"","sources":["../../../src/modules/user/user.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,2CAA8C;AAC9C,6CAAgD;AAEhD,qDAAiD;AACjD,uDAAmD;AACnD,+CAAqC;AACrC,iDAA6C;
|
|
1
|
+
{"version":3,"file":"user.module.js","sourceRoot":"","sources":["../../../src/modules/user/user.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,2CAA8C;AAC9C,6CAAgD;AAEhD,qDAAiD;AACjD,uDAAmD;AACnD,+CAAqC;AACrC,iDAA6C;AAQtC,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,UAAU;IANtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,kBAAI,CAAC,CAAC,EAAE,qBAAY,EAAE,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC,CAAC;QACvF,SAAS,EAAE,CAAC,0BAAW,CAAC;QACxB,OAAO,EAAE,CAAC,0BAAW,CAAC;QACtB,WAAW,EAAE,CAAC,gCAAc,CAAC;KAC9B,CAAC;GACW,UAAU,CAAG;AAAb,gCAAU"}
|
|
@@ -24,11 +24,11 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.UserService = void 0;
|
|
27
|
-
const api_messages_1 = require("../../common/api-messages");
|
|
28
27
|
const common_1 = require("@nestjs/common");
|
|
29
28
|
const config_1 = require("@nestjs/config");
|
|
30
29
|
const typeorm_1 = require("@nestjs/typeorm");
|
|
31
30
|
const typeorm_2 = require("typeorm");
|
|
31
|
+
const api_messages_1 = require("../../common/api-messages");
|
|
32
32
|
const user_util_1 = require("../../utils/user.util");
|
|
33
33
|
const user_entity_1 = require("./user.entity");
|
|
34
34
|
let UserService = class UserService {
|
|
@@ -96,6 +96,9 @@ let UserService = class UserService {
|
|
|
96
96
|
if (existUser.status === 'locked') {
|
|
97
97
|
throw new common_1.HttpException(api_messages_1.ApiMsg.USER_LOCKED, common_1.HttpStatus.BAD_REQUEST);
|
|
98
98
|
}
|
|
99
|
+
if (existUser.role !== 'admin') {
|
|
100
|
+
throw new common_1.HttpException(api_messages_1.ApiMsg.ADMIN_CONSOLE_ACCESS_REQUIRED, common_1.HttpStatus.FORBIDDEN);
|
|
101
|
+
}
|
|
99
102
|
delete existUser.password;
|
|
100
103
|
return existUser;
|
|
101
104
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../../src/modules/user/user.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../../src/modules/user/user.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.controller.js","sourceRoot":"","sources":["../../../src/modules/view/view.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAuG;AACvG,6CAAuD;AAEvD,iDAAkD;AAClD,2DAAsD;AACtD,qDAAwD;AACxD,+CAAqC;AACrC,iDAA6C;
|
|
1
|
+
{"version":3,"file":"view.controller.js","sourceRoot":"","sources":["../../../src/modules/view/view.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAuG;AACvG,6CAAuD;AAEvD,iDAAkD;AAClD,2DAAsD;AACtD,qDAAwD;AACxD,+CAAqC;AACrC,iDAA6C;AAKtC,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YAA6B,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IAQzD,MAAM,CAAY,GAAG,EAAU,IAAI;QACjC,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAA,qBAAW,EAAC,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IACnE,CAAC;IAOD,OAAO,CAAU,UAAU;QACzB,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAOD,SAAS,CAAe,GAAG;QACzB,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAQD,QAAQ,CAAc,EAAE;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IASD,UAAU,CAAc,EAAE;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;CACF,CAAA;AA9CC;IAAC,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,kBAAI,CAAC,EAAE,CAAC;IACnE,IAAA,aAAI,GAAE;IACC,WAAA,IAAA,gBAAO,GAAE,CAAA;IAAO,WAAA,IAAA,aAAI,GAAE,CAAA;;;;4CAI7B;AAKD;IAAC,IAAA,YAAG,GAAE;IACL,IAAA,kBAAS,EAAC,6BAAY,CAAC;IACf,WAAA,IAAA,cAAK,GAAE,CAAA;;;;6CAEf;AAMD;IAAC,IAAA,YAAG,EAAC,MAAM,CAAC;IACD,WAAA,IAAA,cAAK,EAAC,KAAK,CAAC,CAAA;;;;+CAEtB;AAMD;IAAC,IAAA,YAAG,EAAC,KAAK,CAAC;IACV,IAAA,kBAAS,EAAC,6BAAY,CAAC;IACd,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;;;;8CAEpB;AAMD;IAAC,IAAA,eAAM,EAAC,KAAK,CAAC;IACb,IAAA,mBAAK,EAAC,OAAO,CAAC;IACd,IAAA,kBAAS,EAAC,6BAAY,CAAC;IACZ,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;;;;gDAEtB;AApDU,cAAc;IAH1B,IAAA,iBAAO,EAAC,MAAM,CAAC;IACf,IAAA,mBAAU,EAAC,MAAM,CAAC;IAClB,IAAA,kBAAS,EAAC,wBAAU,CAAC;qCAEsB,0BAAW;GAD1C,cAAc,CAqD1B;AArDY,wCAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.entity.js","sourceRoot":"","sources":["../../../src/modules/view/view.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,qCAAqG;
|
|
1
|
+
{"version":3,"file":"view.entity.js","sourceRoot":"","sources":["../../../src/modules/view/view.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,qCAAqG;AAG9F,IAAM,IAAI,GAAV,MAAM,IAAI;CAuDhB,CAAA;AAtDC;IAAC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;gCACpB;AAEX;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,GAAE;;gCACE;AAEX;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;uCACtB;AAElB;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;iCAC5B;AAEZ;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;mCACT;AAEd;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;qCACxB;AAEhB;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;qCACxB;AAEhB;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;oCACzB;AAEf;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;gCAC7B;AAEX;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;oCACzB;AAEf;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,0BAAgB,EAAC;QAChB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,WAAW;KAClB,CAAC;8BACQ,IAAI;sCAAC;AAEf;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,0BAAgB,EAAC;QAChB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,WAAW;KAClB,CAAC;8BACQ,IAAI;sCAAC;AAtDJ,IAAI;IADhB,IAAA,gBAAM,GAAE;GACI,IAAI,CAuDhB;AAvDY,oBAAI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.module.js","sourceRoot":"","sources":["../../../src/modules/view/view.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAEhD,qDAAiD;AACjD,uDAAmD;AACnD,+CAAqC;AACrC,iDAA6C;
|
|
1
|
+
{"version":3,"file":"view.module.js","sourceRoot":"","sources":["../../../src/modules/view/view.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAEhD,qDAAiD;AACjD,uDAAmD;AACnD,+CAAqC;AACrC,iDAA6C;AAQtC,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,UAAU;IANtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,kBAAI,CAAC,CAAC,EAAE,wBAAU,CAAC;QACvD,OAAO,EAAE,CAAC,0BAAW,CAAC;QACtB,SAAS,EAAE,CAAC,0BAAW,CAAC;QACxB,WAAW,EAAE,CAAC,gCAAc,CAAC;KAC9B,CAAC;GACW,UAAU,CAAG;AAAb,gCAAU"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.service.js","sourceRoot":"","sources":["../../../src/modules/view/view.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAmD;AACnD,qCAAqC;AAErC,iDAA8C;AAC9C,iDAAqD;AACrD,+CAAqC;
|
|
1
|
+
{"version":3,"file":"view.service.js","sourceRoot":"","sources":["../../../src/modules/view/view.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook.controller.js","sourceRoot":"","sources":["../../../src/modules/webhook/webhook.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAuF;AACvF,6CAA0C;AAE1C,2DAAsD;AACtD,qDAAwD;AACxD,uDAAmD;
|
|
1
|
+
{"version":3,"file":"webhook.controller.js","sourceRoot":"","sources":["../../../src/modules/webhook/webhook.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAuF;AACvF,6CAA0C;AAE1C,2DAAsD;AACtD,qDAAwD;AACxD,uDAAmD;AAM5C,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC5B,YAA6B,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;IAAG,CAAC;IAG/D,IAAI;QACF,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;IACvC,CAAC;IAGD,MAAM,CAAS,IAAsD;QACnE,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAGD,MAAM,CAAc,EAAU;QAC5B,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC;CACF,CAAA;AAdC;IAAC,IAAA,YAAG,GAAE;;;;6CAGL;AAED;IAAC,IAAA,aAAI,GAAE;IACC,WAAA,IAAA,aAAI,GAAE,CAAA;;;;+CAEb;AAED;IAAC,IAAA,eAAM,EAAC,KAAK,CAAC;IACN,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;;;;+CAElB;AAhBU,iBAAiB;IAJ7B,IAAA,iBAAO,EAAC,SAAS,CAAC;IAClB,IAAA,mBAAU,EAAC,SAAS,CAAC;IACrB,IAAA,kBAAS,EAAC,wBAAU,EAAE,6BAAY,CAAC;IACnC,IAAA,mBAAK,EAAC,OAAO,CAAC;qCAEgC,gCAAc;GADhD,iBAAiB,CAiB7B;AAjBY,8CAAiB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook.entity.js","sourceRoot":"","sources":["../../../src/modules/webhook/webhook.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,qCAAqG;
|
|
1
|
+
{"version":3,"file":"webhook.entity.js","sourceRoot":"","sources":["../../../src/modules/webhook/webhook.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,qCAAqG;AAG9F,IAAM,OAAO,GAAb,MAAM,OAAO;CA0BnB,CAAA;AAzBC;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gCAAsB,EAAC,MAAM,CAAC;;mCACpB;AAEX;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,GAAE;;oCACG;AAEZ;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;uCACX;AAEf;IAAC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,qDAAqD,EAAE,CAAC;IACnF,IAAA,gBAAM,GAAE;;uCACM;AAEf;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;wCACT;AAEjB;IAAC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;8BAC9B,IAAI;yCAAC;AAEf;IAAC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;8BAC9B,IAAI;yCAAC;AAzBJ,OAAO;IADnB,IAAA,gBAAM,EAAC,UAAU,CAAC;GACN,OAAO,CA0BnB;AA1BY,0BAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook.module.js","sourceRoot":"","sources":["../../../src/modules/webhook/webhook.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAEhD,qDAAiD;AACjD,6DAAyD;AACzD,qDAA2C;AAC3C,uDAAmD;
|
|
1
|
+
{"version":3,"file":"webhook.module.js","sourceRoot":"","sources":["../../../src/modules/webhook/webhook.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAEhD,qDAAiD;AACjD,6DAAyD;AACzD,qDAA2C;AAC3C,uDAAmD;AAQ5C,IAAM,aAAa,GAAnB,MAAM,aAAa;CAAG,CAAA;AAAhB,aAAa;IANzB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,wBAAO,CAAC,CAAC,EAAE,wBAAU,CAAC;QAC1D,WAAW,EAAE,CAAC,sCAAiB,CAAC;QAChC,SAAS,EAAE,CAAC,gCAAc,CAAC;QAC3B,OAAO,EAAE,CAAC,gCAAc,CAAC;KAC1B,CAAC;GACW,aAAa,CAAG;AAAhB,sCAAa"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Repository } from 'typeorm';
|
|
2
2
|
import { Webhook } from './webhook.entity';
|
|
3
|
-
export
|
|
3
|
+
export type WebhookEvent = 'article.published' | 'comment.created';
|
|
4
4
|
export declare class WebhookService {
|
|
5
5
|
private readonly webhookRepository;
|
|
6
6
|
constructor(webhookRepository: Repository<Webhook>);
|
|
@@ -13,12 +13,12 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.WebhookService = void 0;
|
|
16
|
-
const api_messages_1 = require("../../common/api-messages");
|
|
17
16
|
const common_1 = require("@nestjs/common");
|
|
18
17
|
const typeorm_1 = require("@nestjs/typeorm");
|
|
19
18
|
const axios_1 = require("axios");
|
|
20
19
|
const crypto = require("crypto");
|
|
21
20
|
const typeorm_2 = require("typeorm");
|
|
21
|
+
const api_messages_1 = require("../../common/api-messages");
|
|
22
22
|
const webhook_entity_1 = require("./webhook.entity");
|
|
23
23
|
let WebhookService = class WebhookService {
|
|
24
24
|
constructor(webhookRepository) {
|
|
@@ -40,7 +40,10 @@ let WebhookService = class WebhookService {
|
|
|
40
40
|
return this.webhookRepository.remove(hook);
|
|
41
41
|
}
|
|
42
42
|
signPayload(secret, body) {
|
|
43
|
-
return crypto
|
|
43
|
+
return crypto
|
|
44
|
+
.createHmac('sha256', secret)
|
|
45
|
+
.update(body)
|
|
46
|
+
.digest('hex');
|
|
44
47
|
}
|
|
45
48
|
async deliverOnce(webhook, event, payload) {
|
|
46
49
|
const body = JSON.stringify({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook.service.js","sourceRoot":"","sources":["../../../src/modules/webhook/webhook.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"webhook.service.js","sourceRoot":"","sources":["../../../src/modules/webhook/webhook.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
declare const util: Record<string, unknown> & {
|
|
2
|
+
isArray?: (value: unknown) => boolean;
|
|
3
|
+
isBoolean?: (value: unknown) => boolean;
|
|
4
|
+
isBuffer?: (value: unknown) => boolean;
|
|
5
|
+
isDate?: (value: unknown) => boolean;
|
|
6
|
+
isError?: (value: unknown) => boolean;
|
|
7
|
+
isFunction?: (value: unknown) => boolean;
|
|
8
|
+
isNull?: (value: unknown) => boolean;
|
|
9
|
+
isNullOrUndefined?: (value: unknown) => boolean;
|
|
10
|
+
isNumber?: (value: unknown) => boolean;
|
|
11
|
+
isObject?: (value: unknown) => boolean;
|
|
12
|
+
isPrimitive?: (value: unknown) => boolean;
|
|
13
|
+
isRegExp?: (value: unknown) => boolean;
|
|
14
|
+
isString?: (value: unknown) => boolean;
|
|
15
|
+
isSymbol?: (value: unknown) => boolean;
|
|
16
|
+
isUndefined?: (value: unknown) => boolean;
|
|
17
|
+
};
|
|
18
|
+
declare const polyfills: Record<string, (value: unknown) => boolean>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
const util = require('util');
|
|
2
|
+
const polyfills = {
|
|
3
|
+
isArray: (value) => Array.isArray(value),
|
|
4
|
+
isBoolean: (value) => typeof value === 'boolean',
|
|
5
|
+
isBuffer: (value) => Buffer.isBuffer(value),
|
|
6
|
+
isDate: (value) => value instanceof Date,
|
|
7
|
+
isError: (value) => value instanceof Error,
|
|
8
|
+
isFunction: (value) => typeof value === 'function',
|
|
9
|
+
isNull: (value) => value === null,
|
|
10
|
+
isNullOrUndefined: (value) => value === null || value === undefined,
|
|
11
|
+
isNumber: (value) => typeof value === 'number',
|
|
12
|
+
isObject: (value) => value !== null && typeof value === 'object',
|
|
13
|
+
isPrimitive: (value) => value === null || (typeof value !== 'object' && typeof value !== 'function'),
|
|
14
|
+
isRegExp: (value) => value instanceof RegExp,
|
|
15
|
+
isString: (value) => typeof value === 'string',
|
|
16
|
+
isSymbol: (value) => typeof value === 'symbol',
|
|
17
|
+
isUndefined: (value) => typeof value === 'undefined',
|
|
18
|
+
};
|
|
19
|
+
for (const [name, fn] of Object.entries(polyfills)) {
|
|
20
|
+
if (typeof util[name] !== 'function') {
|
|
21
|
+
util[name] = fn;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=node-polyfills.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-polyfills.js","sourceRoot":"","sources":["../src/node-polyfills.ts"],"names":[],"mappings":"AAKA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAgB1B,CAAC;AAEF,MAAM,SAAS,GAAgD;IAC7D,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;IACxC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,SAAS;IAChD,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC3C,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,YAAY,IAAI;IACxC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,YAAY,KAAK;IAC1C,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,UAAU;IAClD,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI;IACjC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;IACnE,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ;IAC9C,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;IAChE,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC;IACpG,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,YAAY,MAAM;IAC5C,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ;IAC9C,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ;IAC9C,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,WAAW;CACrD,CAAC;AAEF,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;IAClD,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE;QACpC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;KACjB;CACF"}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/dist/starter.d.ts
CHANGED
package/dist/starter.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.bootstrap = void 0;
|
|
4
|
+
require("./node-polyfills");
|
|
4
5
|
const core_1 = require("@nestjs/core");
|
|
5
6
|
const swagger_1 = require("@nestjs/swagger");
|
|
6
7
|
const bodyParser = require("body-parser");
|
|
@@ -8,23 +9,160 @@ const compression = require("compression");
|
|
|
8
9
|
const express = require("express");
|
|
9
10
|
const rateLimit = require("express-rate-limit");
|
|
10
11
|
const helmet = require("helmet");
|
|
12
|
+
const http = require("http");
|
|
13
|
+
const net = require("net");
|
|
14
|
+
const fs_1 = require("fs");
|
|
11
15
|
const path_1 = require("path");
|
|
12
16
|
const swagger_themes_1 = require("swagger-themes");
|
|
13
17
|
const app_module_1 = require("./app.module");
|
|
18
|
+
const api_messages_1 = require("./common/api-messages");
|
|
14
19
|
const http_exception_filter_1 = require("./filters/http-exception.filter");
|
|
15
20
|
const transform_interceptor_1 = require("./interceptors/transform.interceptor");
|
|
21
|
+
const project_root_util_1 = require("./utils/project-root.util");
|
|
22
|
+
const local_api_quiet_util_1 = require("./utils/local-api-quiet.util");
|
|
23
|
+
let nestApp = null;
|
|
24
|
+
function isPortOpen(port) {
|
|
25
|
+
return new Promise((resolve) => {
|
|
26
|
+
const socket = net.createConnection({ port, host: '127.0.0.1' }, () => {
|
|
27
|
+
socket.destroy();
|
|
28
|
+
resolve(true);
|
|
29
|
+
});
|
|
30
|
+
socket.on('error', () => resolve(false));
|
|
31
|
+
socket.setTimeout(800, () => {
|
|
32
|
+
socket.destroy();
|
|
33
|
+
resolve(false);
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
function normalizeHealthPayload(raw) {
|
|
38
|
+
if (!raw || typeof raw !== 'object')
|
|
39
|
+
return null;
|
|
40
|
+
const body = raw;
|
|
41
|
+
const nested = body.data;
|
|
42
|
+
if (nested && typeof nested === 'object' && ('status' in nested || 'database' in nested)) {
|
|
43
|
+
return nested;
|
|
44
|
+
}
|
|
45
|
+
return body;
|
|
46
|
+
}
|
|
47
|
+
function isHealthPayloadReady(payload) {
|
|
48
|
+
if (!payload)
|
|
49
|
+
return false;
|
|
50
|
+
if (Object.prototype.hasOwnProperty.call(payload, 'database')) {
|
|
51
|
+
return payload.status === 'ok' && payload.database === 'up';
|
|
52
|
+
}
|
|
53
|
+
return payload.status === 'ok' || payload.status === 'OK';
|
|
54
|
+
}
|
|
55
|
+
function probeApiHealth(port, prefix = '/api') {
|
|
56
|
+
return new Promise((resolve) => {
|
|
57
|
+
const req = http.request({
|
|
58
|
+
hostname: '127.0.0.1',
|
|
59
|
+
port,
|
|
60
|
+
path: `${prefix.replace(/\/$/, '')}/health`,
|
|
61
|
+
method: 'GET',
|
|
62
|
+
timeout: 2000,
|
|
63
|
+
}, (res) => {
|
|
64
|
+
let body = '';
|
|
65
|
+
res.on('data', (c) => {
|
|
66
|
+
body += c;
|
|
67
|
+
});
|
|
68
|
+
res.on('end', () => {
|
|
69
|
+
if (res.statusCode !== 200) {
|
|
70
|
+
resolve(false);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
try {
|
|
74
|
+
const payload = normalizeHealthPayload(JSON.parse(body));
|
|
75
|
+
resolve(isHealthPayloadReady(payload));
|
|
76
|
+
}
|
|
77
|
+
catch (_a) {
|
|
78
|
+
resolve(false);
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
req.on('error', () => resolve(false));
|
|
83
|
+
req.on('timeout', () => {
|
|
84
|
+
req.destroy();
|
|
85
|
+
resolve(false);
|
|
86
|
+
});
|
|
87
|
+
req.end();
|
|
88
|
+
});
|
|
89
|
+
}
|
|
16
90
|
async function bootstrap() {
|
|
91
|
+
var _a;
|
|
92
|
+
(0, project_root_util_1.resolveProjectRoot)();
|
|
93
|
+
const configuredPort = Number(process.env.SERVER_PORT || 3002);
|
|
94
|
+
const apiPrefix = String(process.env.SERVER_API_PREFIX || '/api');
|
|
95
|
+
if (process.env.REACTPRESS_API_ENTRY === 'starter' &&
|
|
96
|
+
(await isPortOpen(configuredPort)) &&
|
|
97
|
+
(await probeApiHealth(configuredPort, apiPrefix))) {
|
|
98
|
+
console.log(`[ReactPress] API already healthy on :${configuredPort} (nest watch reload — skip bootstrap)`);
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
17
101
|
try {
|
|
18
|
-
|
|
102
|
+
if (nestApp) {
|
|
103
|
+
await nestApp.close();
|
|
104
|
+
nestApp = null;
|
|
105
|
+
}
|
|
106
|
+
const app = await core_1.NestFactory.create(app_module_1.AppModule, {
|
|
107
|
+
logger: (0, local_api_quiet_util_1.isLocalApiQuiet)() ? ['error', 'warn'] : undefined,
|
|
108
|
+
});
|
|
19
109
|
const configService = app.get('ConfigService');
|
|
110
|
+
const listenPort = Number(configService.get('SERVER_PORT', configuredPort));
|
|
111
|
+
app.use((req, res, next) => {
|
|
112
|
+
const { shouldRedirectDevPortToNginx, buildDevPortRedirectUrl } = require('@fecommunity/reactpress-toolkit/plugin/dev');
|
|
113
|
+
if (!shouldRedirectDevPortToNginx({
|
|
114
|
+
host: req.headers.host,
|
|
115
|
+
method: req.method,
|
|
116
|
+
accept: req.headers.accept,
|
|
117
|
+
directPort: listenPort,
|
|
118
|
+
pathname: req.path,
|
|
119
|
+
skipPathPrefixes: ['/public'],
|
|
120
|
+
})) {
|
|
121
|
+
next();
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
res.redirect(302, buildDevPortRedirectUrl({
|
|
125
|
+
directPort: listenPort,
|
|
126
|
+
pathname: req.path,
|
|
127
|
+
search: req.url.includes('?') ? req.url.slice(req.url.indexOf('?')) : '',
|
|
128
|
+
}));
|
|
129
|
+
});
|
|
20
130
|
app.enableCors();
|
|
21
|
-
|
|
131
|
+
const apiPrefix = String(configService.get('SERVER_API_PREFIX', '/api')).replace(/\/$/, '');
|
|
132
|
+
app.setGlobalPrefix(apiPrefix);
|
|
22
133
|
app.use(rateLimit({
|
|
23
134
|
windowMs: 60 * 1000,
|
|
24
135
|
max: 10000,
|
|
25
136
|
}));
|
|
137
|
+
app.use(`${apiPrefix}/auth/login`, rateLimit({
|
|
138
|
+
windowMs: 15 * 60 * 1000,
|
|
139
|
+
max: 5,
|
|
140
|
+
skipSuccessfulRequests: true,
|
|
141
|
+
standardHeaders: true,
|
|
142
|
+
legacyHeaders: false,
|
|
143
|
+
handler(_req, res) {
|
|
144
|
+
res.status(429).json({
|
|
145
|
+
statusCode: 429,
|
|
146
|
+
msg: api_messages_1.ApiMsg.TOO_MANY_LOGIN_ATTEMPTS,
|
|
147
|
+
success: false,
|
|
148
|
+
data: null,
|
|
149
|
+
});
|
|
150
|
+
},
|
|
151
|
+
}));
|
|
26
152
|
const rootDir = (0, path_1.join)(__dirname, '../public');
|
|
153
|
+
const uploadDir = (_a = process.env.REACTPRESS_UPLOAD_DIR) === null || _a === void 0 ? void 0 : _a.trim();
|
|
154
|
+
if (uploadDir && (0, fs_1.existsSync)(uploadDir)) {
|
|
155
|
+
app.use('/public/uploads', express.static(uploadDir));
|
|
156
|
+
}
|
|
27
157
|
app.use('/public', express.static(rootDir));
|
|
158
|
+
for (const name of ['logo.png', 'favicon.png', 'favicon.ico']) {
|
|
159
|
+
const filePath = (0, path_1.join)(rootDir, name);
|
|
160
|
+
if ((0, fs_1.existsSync)(filePath)) {
|
|
161
|
+
app.use(`/${name}`, (_req, res) => {
|
|
162
|
+
res.sendFile(filePath);
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
}
|
|
28
166
|
app.use(compression());
|
|
29
167
|
app.use(helmet({
|
|
30
168
|
contentSecurityPolicy: {
|
|
@@ -58,7 +196,7 @@ async function bootstrap() {
|
|
|
58
196
|
const options = {
|
|
59
197
|
customCss: theme.getBuffer(swagger_themes_1.SwaggerThemeNameEnum.MATERIAL),
|
|
60
198
|
customSiteTitle: 'ReactPress API Documentation',
|
|
61
|
-
customfavIcon: '/public/favicon.
|
|
199
|
+
customfavIcon: '/public/favicon.ico',
|
|
62
200
|
swaggerOptions: {
|
|
63
201
|
docExpansion: 'list',
|
|
64
202
|
filter: true,
|
|
@@ -71,15 +209,35 @@ async function bootstrap() {
|
|
|
71
209
|
customCssUrl: '/public/swagger/custom.css',
|
|
72
210
|
};
|
|
73
211
|
swagger_1.SwaggerModule.setup('api', app, document, options);
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
212
|
+
const listenPrefix = String(configService.get('SERVER_API_PREFIX', apiPrefix));
|
|
213
|
+
if (process.env.REACTPRESS_API_ENTRY === 'starter' &&
|
|
214
|
+
(await isPortOpen(listenPort)) &&
|
|
215
|
+
(await probeApiHealth(listenPort, listenPrefix))) {
|
|
216
|
+
console.log(`[ReactPress] API already healthy on :${listenPort} (nest watch reload — skip duplicate listen)`);
|
|
217
|
+
await app.close();
|
|
218
|
+
return null;
|
|
219
|
+
}
|
|
220
|
+
await app.listen(listenPort);
|
|
221
|
+
nestApp = app;
|
|
222
|
+
if ((0, local_api_quiet_util_1.isLocalApiQuiet)()) {
|
|
223
|
+
const dbType = String(configService.get('DB_TYPE') || 'mysql').toLowerCase();
|
|
224
|
+
console.log(`[ReactPress] Local API ready · ${dbType === 'sqlite' ? 'SQLite' : dbType} · http://127.0.0.1:${listenPort}${listenPrefix}/health`);
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
console.log(`[ReactPress] Application started on http://localhost:${listenPort}`);
|
|
228
|
+
console.log(`[ReactPress] API Documentation available at http://localhost:${listenPort}/api`);
|
|
229
|
+
}
|
|
78
230
|
return app;
|
|
79
231
|
}
|
|
80
232
|
catch (error) {
|
|
81
233
|
console.error('[ReactPress] Failed to start application:', error);
|
|
82
234
|
if (error.code === 'EADDRINUSE') {
|
|
235
|
+
const port = Number(process.env.SERVER_PORT || 3002);
|
|
236
|
+
const prefix = process.env.SERVER_API_PREFIX || '/api';
|
|
237
|
+
if (process.env.REACTPRESS_API_ENTRY === 'starter' && (await probeApiHealth(port, prefix))) {
|
|
238
|
+
console.log(`[ReactPress] Port :${port} in use but API healthy — treating watch reload as success`);
|
|
239
|
+
return null;
|
|
240
|
+
}
|
|
83
241
|
console.error('[ReactPress] Port is already in use. Please check for other running instances.');
|
|
84
242
|
console.error('[ReactPress] You can change the port in your .env file or terminate the conflicting process.');
|
|
85
243
|
}
|
|
@@ -87,12 +245,28 @@ async function bootstrap() {
|
|
|
87
245
|
}
|
|
88
246
|
}
|
|
89
247
|
exports.bootstrap = bootstrap;
|
|
90
|
-
|
|
91
|
-
console.log(
|
|
248
|
+
async function shutdownNest(signal) {
|
|
249
|
+
console.log(`\n[ReactPress] Received ${signal}, shutting down…`);
|
|
250
|
+
if (nestApp) {
|
|
251
|
+
try {
|
|
252
|
+
await nestApp.close();
|
|
253
|
+
}
|
|
254
|
+
catch (_a) {
|
|
255
|
+
}
|
|
256
|
+
nestApp = null;
|
|
257
|
+
}
|
|
92
258
|
process.exit(0);
|
|
259
|
+
}
|
|
260
|
+
process.on('SIGINT', () => {
|
|
261
|
+
void shutdownNest('SIGINT');
|
|
93
262
|
});
|
|
94
263
|
process.on('SIGTERM', () => {
|
|
95
|
-
|
|
96
|
-
process.exit(0);
|
|
264
|
+
void shutdownNest('SIGTERM');
|
|
97
265
|
});
|
|
266
|
+
if (require.main === module) {
|
|
267
|
+
bootstrap().catch((err) => {
|
|
268
|
+
console.error('[ReactPress] Failed to start:', err);
|
|
269
|
+
process.exit(1);
|
|
270
|
+
});
|
|
271
|
+
}
|
|
98
272
|
//# sourceMappingURL=starter.js.map
|
package/dist/starter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"starter.js","sourceRoot":"","sources":["../src/starter.ts"],"names":[],"mappings":";;;AAAA,uCAA2C;AAC3C,6CAAiE;AACjE,0CAA0C;AAC1C,2CAA2C;AAC3C,mCAAmC;AACnC,gDAAgD;AAChD,iCAAiC;AACjC,+BAA4B;AAC5B,mDAAoE;AAEpE,6CAAyC;AACzC,2EAAsE;AACtE,gFAA4E;
|
|
1
|
+
{"version":3,"file":"starter.js","sourceRoot":"","sources":["../src/starter.ts"],"names":[],"mappings":"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"}
|