@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.
Files changed (243) hide show
  1. package/dist/app.module.js +8 -45
  2. package/dist/app.module.js.map +1 -1
  3. package/dist/common/api-messages.d.ts +9 -0
  4. package/dist/common/api-messages.js +9 -0
  5. package/dist/common/api-messages.js.map +1 -1
  6. package/dist/database/typeorm-options.d.ts +3 -0
  7. package/dist/database/typeorm-options.js +60 -0
  8. package/dist/database/typeorm-options.js.map +1 -0
  9. package/dist/filters/http-exception.filter.js.map +1 -1
  10. package/dist/generate-swagger.d.ts +1 -1
  11. package/dist/generate-swagger.js +2 -1
  12. package/dist/generate-swagger.js.map +1 -1
  13. package/dist/interceptors/transform.interceptor.d.ts +2 -6
  14. package/dist/interceptors/transform.interceptor.js +8 -3
  15. package/dist/interceptors/transform.interceptor.js.map +1 -1
  16. package/dist/logger/index.js +5 -4
  17. package/dist/logger/index.js.map +1 -1
  18. package/dist/main.d.ts +1 -1
  19. package/dist/main.js +41 -19
  20. package/dist/main.js.map +1 -1
  21. package/dist/modules/api-key/api-key.controller.js.map +1 -1
  22. package/dist/modules/api-key/api-key.entity.js.map +1 -1
  23. package/dist/modules/api-key/api-key.guard.js +2 -3
  24. package/dist/modules/api-key/api-key.guard.js.map +1 -1
  25. package/dist/modules/api-key/api-key.module.js.map +1 -1
  26. package/dist/modules/api-key/api-key.service.js +1 -1
  27. package/dist/modules/api-key/api-key.service.js.map +1 -1
  28. package/dist/modules/article/article-revision.entity.js +3 -3
  29. package/dist/modules/article/article-revision.entity.js.map +1 -1
  30. package/dist/modules/article/article-slug.util.d.ts +2 -0
  31. package/dist/modules/article/article-slug.util.js +19 -0
  32. package/dist/modules/article/article-slug.util.js.map +1 -0
  33. package/dist/modules/article/article.controller.d.ts +1 -1
  34. package/dist/modules/article/article.controller.js +6 -4
  35. package/dist/modules/article/article.controller.js.map +1 -1
  36. package/dist/modules/article/article.entity.d.ts +3 -0
  37. package/dist/modules/article/article.entity.js +23 -8
  38. package/dist/modules/article/article.entity.js.map +1 -1
  39. package/dist/modules/article/article.module.js +6 -3
  40. package/dist/modules/article/article.module.js.map +1 -1
  41. package/dist/modules/article/article.service.d.ts +9 -3
  42. package/dist/modules/article/article.service.js +84 -16
  43. package/dist/modules/article/article.service.js.map +1 -1
  44. package/dist/modules/article/scheduled-publish.service.js.map +1 -1
  45. package/dist/modules/auth/auth.controller.js.map +1 -1
  46. package/dist/modules/auth/auth.module.js.map +1 -1
  47. package/dist/modules/auth/auth.service.js +1 -1
  48. package/dist/modules/auth/auth.service.js.map +1 -1
  49. package/dist/modules/auth/jwt-auth.guard.js +1 -1
  50. package/dist/modules/auth/jwt-auth.guard.js.map +1 -1
  51. package/dist/modules/auth/jwt.strategy.js +1 -1
  52. package/dist/modules/auth/jwt.strategy.js.map +1 -1
  53. package/dist/modules/auth/roles.guard.js.map +1 -1
  54. package/dist/modules/bootstrap/bootstrap.constants.d.ts +20 -0
  55. package/dist/modules/bootstrap/bootstrap.constants.js +171 -0
  56. package/dist/modules/bootstrap/bootstrap.constants.js.map +1 -0
  57. package/dist/modules/bootstrap/bootstrap.service.d.ts +22 -0
  58. package/dist/modules/bootstrap/bootstrap.service.js +183 -0
  59. package/dist/modules/bootstrap/bootstrap.service.js.map +1 -0
  60. package/dist/modules/bootstrap/install-locale.d.ts +2 -0
  61. package/dist/modules/bootstrap/install-locale.js +11 -0
  62. package/dist/modules/bootstrap/install-locale.js.map +1 -0
  63. package/dist/modules/category/category.controller.js.map +1 -1
  64. package/dist/modules/category/category.entity.js +1 -1
  65. package/dist/modules/category/category.entity.js.map +1 -1
  66. package/dist/modules/category/category.module.js.map +1 -1
  67. package/dist/modules/category/category.service.js +1 -1
  68. package/dist/modules/category/category.service.js.map +1 -1
  69. package/dist/modules/comment/comment.controller.js.map +1 -1
  70. package/dist/modules/comment/comment.entity.js +3 -3
  71. package/dist/modules/comment/comment.entity.js.map +1 -1
  72. package/dist/modules/comment/comment.module.js +1 -1
  73. package/dist/modules/comment/comment.module.js.map +1 -1
  74. package/dist/modules/comment/comment.service.d.ts +3 -1
  75. package/dist/modules/comment/comment.service.js +20 -4
  76. package/dist/modules/comment/comment.service.js.map +1 -1
  77. package/dist/modules/comment/html.d.ts +1 -1
  78. package/dist/modules/comment/html.js +1 -1
  79. package/dist/modules/comment/html.js.map +1 -1
  80. package/dist/modules/extension/extension.module.d.ts +9 -0
  81. package/dist/modules/extension/extension.module.js +50 -0
  82. package/dist/modules/extension/extension.module.js.map +1 -0
  83. package/dist/modules/extension/plugin-loader.service.d.ts +12 -0
  84. package/dist/modules/extension/plugin-loader.service.js +96 -0
  85. package/dist/modules/extension/plugin-loader.service.js.map +1 -0
  86. package/dist/modules/extension/plugin-registry.bridge.d.ts +3 -0
  87. package/dist/modules/extension/plugin-registry.bridge.js +44 -0
  88. package/dist/modules/extension/plugin-registry.bridge.js.map +1 -0
  89. package/dist/modules/extension/plugin.controller.d.ts +22 -0
  90. package/dist/modules/extension/plugin.controller.js +155 -0
  91. package/dist/modules/extension/plugin.controller.js.map +1 -0
  92. package/dist/modules/extension/plugin.service.d.ts +52 -0
  93. package/dist/modules/extension/plugin.service.js +391 -0
  94. package/dist/modules/extension/plugin.service.js.map +1 -0
  95. package/dist/modules/extension/preview-draft.store.d.ts +13 -0
  96. package/dist/modules/extension/preview-draft.store.js +41 -0
  97. package/dist/modules/extension/preview-draft.store.js.map +1 -0
  98. package/dist/modules/extension/theme-registry.bridge.d.ts +56 -0
  99. package/dist/modules/extension/theme-registry.bridge.js +46 -0
  100. package/dist/modules/extension/theme-registry.bridge.js.map +1 -0
  101. package/dist/modules/extension/theme.controller.d.ts +66 -0
  102. package/dist/modules/extension/theme.controller.js +301 -0
  103. package/dist/modules/extension/theme.controller.js.map +1 -0
  104. package/dist/modules/extension/theme.service.d.ts +140 -0
  105. package/dist/modules/extension/theme.service.js +1039 -0
  106. package/dist/modules/extension/theme.service.js.map +1 -0
  107. package/dist/modules/file/file-optimization.controller.d.ts +12 -0
  108. package/dist/modules/file/file-optimization.controller.js +79 -0
  109. package/dist/modules/file/file-optimization.controller.js.map +1 -0
  110. package/dist/modules/file/file-optimization.service.d.ts +36 -0
  111. package/dist/modules/file/file-optimization.service.js +385 -0
  112. package/dist/modules/file/file-optimization.service.js.map +1 -0
  113. package/dist/modules/file/file-optimization.types.d.ts +66 -0
  114. package/dist/modules/file/file-optimization.types.js +5 -0
  115. package/dist/modules/file/file-optimization.types.js.map +1 -0
  116. package/dist/modules/file/file.controller.d.ts +1 -1
  117. package/dist/modules/file/file.controller.js +5 -4
  118. package/dist/modules/file/file.controller.js.map +1 -1
  119. package/dist/modules/file/file.entity.d.ts +7 -0
  120. package/dist/modules/file/file.entity.js +5 -0
  121. package/dist/modules/file/file.entity.js.map +1 -1
  122. package/dist/modules/file/file.module.js +15 -3
  123. package/dist/modules/file/file.module.js.map +1 -1
  124. package/dist/modules/file/file.service.d.ts +5 -1
  125. package/dist/modules/file/file.service.js +62 -17
  126. package/dist/modules/file/file.service.js.map +1 -1
  127. package/dist/modules/file/image-optimizer-plugin.guard.d.ts +7 -0
  128. package/dist/modules/file/image-optimizer-plugin.guard.js +33 -0
  129. package/dist/modules/file/image-optimizer-plugin.guard.js.map +1 -0
  130. package/dist/modules/health/health.controller.js +2 -4
  131. package/dist/modules/health/health.controller.js.map +1 -1
  132. package/dist/modules/health/health.module.js.map +1 -1
  133. package/dist/modules/hook/hook.module.d.ts +2 -0
  134. package/dist/modules/hook/hook.module.js +22 -0
  135. package/dist/modules/hook/hook.module.js.map +1 -0
  136. package/dist/modules/hook/hook.service.d.ts +26 -0
  137. package/dist/modules/hook/hook.service.js +105 -0
  138. package/dist/modules/hook/hook.service.js.map +1 -0
  139. package/dist/modules/knowledge/knowledge.controller.js.map +1 -1
  140. package/dist/modules/knowledge/knowledge.entity.js +5 -5
  141. package/dist/modules/knowledge/knowledge.entity.js.map +1 -1
  142. package/dist/modules/knowledge/knowledge.module.js.map +1 -1
  143. package/dist/modules/knowledge/knowledge.service.js +1 -1
  144. package/dist/modules/knowledge/knowledge.service.js.map +1 -1
  145. package/dist/modules/page/page.controller.js.map +1 -1
  146. package/dist/modules/page/page.entity.js +5 -5
  147. package/dist/modules/page/page.entity.js.map +1 -1
  148. package/dist/modules/page/page.module.js.map +1 -1
  149. package/dist/modules/page/page.service.js +3 -4
  150. package/dist/modules/page/page.service.js.map +1 -1
  151. package/dist/modules/search/search.controller.js.map +1 -1
  152. package/dist/modules/search/search.entity.js.map +1 -1
  153. package/dist/modules/search/search.module.js.map +1 -1
  154. package/dist/modules/search/search.service.js.map +1 -1
  155. package/dist/modules/setting/setting.constant.d.ts +4 -2
  156. package/dist/modules/setting/setting.constant.js +3 -19
  157. package/dist/modules/setting/setting.constant.js.map +1 -1
  158. package/dist/modules/setting/setting.controller.js.map +1 -1
  159. package/dist/modules/setting/setting.entity.d.ts +3 -0
  160. package/dist/modules/setting/setting.entity.js +15 -0
  161. package/dist/modules/setting/setting.entity.js.map +1 -1
  162. package/dist/modules/setting/setting.module.js.map +1 -1
  163. package/dist/modules/setting/setting.service.d.ts +13 -2
  164. package/dist/modules/setting/setting.service.js +167 -22
  165. package/dist/modules/setting/setting.service.js.map +1 -1
  166. package/dist/modules/smtp/mail.util.d.ts +7 -6
  167. package/dist/modules/smtp/mail.util.js +5 -9
  168. package/dist/modules/smtp/mail.util.js.map +1 -1
  169. package/dist/modules/smtp/smtp.controller.d.ts +3 -0
  170. package/dist/modules/smtp/smtp.controller.js +13 -0
  171. package/dist/modules/smtp/smtp.controller.js.map +1 -1
  172. package/dist/modules/smtp/smtp.entity.js.map +1 -1
  173. package/dist/modules/smtp/smtp.module.js.map +1 -1
  174. package/dist/modules/smtp/smtp.service.d.ts +14 -0
  175. package/dist/modules/smtp/smtp.service.js +37 -10
  176. package/dist/modules/smtp/smtp.service.js.map +1 -1
  177. package/dist/modules/tag/tag.controller.js.map +1 -1
  178. package/dist/modules/tag/tag.entity.js +1 -1
  179. package/dist/modules/tag/tag.entity.js.map +1 -1
  180. package/dist/modules/tag/tag.module.js.map +1 -1
  181. package/dist/modules/tag/tag.service.js +1 -1
  182. package/dist/modules/tag/tag.service.js.map +1 -1
  183. package/dist/modules/user/user.controller.js +9 -1
  184. package/dist/modules/user/user.controller.js.map +1 -1
  185. package/dist/modules/user/user.entity.js +2 -2
  186. package/dist/modules/user/user.entity.js.map +1 -1
  187. package/dist/modules/user/user.module.js.map +1 -1
  188. package/dist/modules/user/user.service.js +4 -1
  189. package/dist/modules/user/user.service.js.map +1 -1
  190. package/dist/modules/view/view.controller.js.map +1 -1
  191. package/dist/modules/view/view.entity.js.map +1 -1
  192. package/dist/modules/view/view.module.js.map +1 -1
  193. package/dist/modules/view/view.service.js.map +1 -1
  194. package/dist/modules/webhook/webhook.controller.js.map +1 -1
  195. package/dist/modules/webhook/webhook.entity.js.map +1 -1
  196. package/dist/modules/webhook/webhook.module.js.map +1 -1
  197. package/dist/modules/webhook/webhook.service.d.ts +1 -1
  198. package/dist/modules/webhook/webhook.service.js +5 -2
  199. package/dist/modules/webhook/webhook.service.js.map +1 -1
  200. package/dist/node-polyfills.d.ts +18 -0
  201. package/dist/node-polyfills.js +24 -0
  202. package/dist/node-polyfills.js.map +1 -0
  203. package/dist/public/uploads/2026-05-30/QR3X4UZQ93ZTUPGXCFA9II..png +0 -0
  204. package/dist/public/uploads/2026-05-31/BXQV3NX9ZVWHGNOSX9AXD8.webp +0 -0
  205. package/dist/public/uploads/2026-05-31/BXQV3NX9ZVWHGNOSX9AXD8_medium.webp +0 -0
  206. package/dist/public/uploads/2026-05-31/BXQV3NX9ZVWHGNOSX9AXD8_thumb.webp +0 -0
  207. package/dist/public/uploads/2026-05-31/I2SZC0ONA7CF31UM46MN56..jpg +0 -0
  208. package/dist/starter.d.ts +3 -1
  209. package/dist/starter.js +185 -11
  210. package/dist/starter.js.map +1 -1
  211. package/dist/tsconfig.build.tsbuildinfo +1 -1
  212. package/dist/tsconfig.tsbuildinfo +1 -0
  213. package/dist/utils/image-processor.util.d.ts +23 -0
  214. package/dist/utils/image-processor.util.js +88 -0
  215. package/dist/utils/image-processor.util.js.map +1 -0
  216. package/dist/utils/local-api-quiet.util.d.ts +1 -0
  217. package/dist/utils/local-api-quiet.util.js +8 -0
  218. package/dist/utils/local-api-quiet.util.js.map +1 -0
  219. package/dist/utils/markdown.util.js +1 -1
  220. package/dist/utils/markdown.util.js.map +1 -1
  221. package/dist/utils/oss/aliyun-oss-client.d.ts +3 -1
  222. package/dist/utils/oss/aliyun-oss-client.js +5 -0
  223. package/dist/utils/oss/aliyun-oss-client.js.map +1 -1
  224. package/dist/utils/oss/oss-client.d.ts +3 -1
  225. package/dist/utils/oss/oss-client.js.map +1 -1
  226. package/dist/utils/oss.util.d.ts +3 -1
  227. package/dist/utils/oss.util.js +5 -1
  228. package/dist/utils/oss.util.js.map +1 -1
  229. package/dist/utils/project-root.util.d.ts +2 -0
  230. package/dist/utils/project-root.util.js +42 -0
  231. package/dist/utils/project-root.util.js.map +1 -0
  232. package/dist/utils/upload.util.d.ts +6 -2
  233. package/dist/utils/upload.util.js +23 -8
  234. package/dist/utils/upload.util.js.map +1 -1
  235. package/dist/utils/user.util.d.ts +1 -0
  236. package/dist/utils/user.util.js +6 -2
  237. package/dist/utils/user.util.js.map +1 -1
  238. package/package.json +9 -10
  239. package/public/uploads/2026-05-30/QR3X4UZQ93ZTUPGXCFA9II..png +0 -0
  240. package/public/uploads/2026-05-31/BXQV3NX9ZVWHGNOSX9AXD8.webp +0 -0
  241. package/public/uploads/2026-05-31/BXQV3NX9ZVWHGNOSX9AXD8_medium.webp +0 -0
  242. package/public/uploads/2026-05-31/BXQV3NX9ZVWHGNOSX9AXD8_thumb.webp +0 -0
  243. package/public/uploads/2026-05-31/I2SZC0ONA7CF31UM46MN56..jpg +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"api-key.module.js","sourceRoot":"","sources":["../../../src/modules/api-key/api-key.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAEhD,qDAAiD;AACjD,6DAAwD;AACxD,qDAA0C;AAC1C,mDAA8C;AAC9C,uDAAkD;AAQlD,IAAa,YAAY,GAAzB,MAAa,YAAY;CAAG,CAAA;AAAf,YAAY;IANxB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,uBAAM,CAAC,CAAC,EAAE,wBAAU,CAAC;QACzD,WAAW,EAAE,CAAC,qCAAgB,CAAC;QAC/B,SAAS,EAAE,CAAC,+BAAa,EAAE,2BAAW,CAAC;QACvC,OAAO,EAAE,CAAC,+BAAa,EAAE,2BAAW,CAAC;KACtC,CAAC;GACW,YAAY,CAAG;AAAf,oCAAY"}
1
+ {"version":3,"file":"api-key.module.js","sourceRoot":"","sources":["../../../src/modules/api-key/api-key.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAEhD,qDAAiD;AACjD,6DAAwD;AACxD,qDAA0C;AAC1C,mDAA8C;AAC9C,uDAAkD;AAQ3C,IAAM,YAAY,GAAlB,MAAM,YAAY;CAAG,CAAA;AAAf,YAAY;IANxB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,uBAAM,CAAC,CAAC,EAAE,wBAAU,CAAC;QACzD,WAAW,EAAE,CAAC,qCAAgB,CAAC;QAC/B,SAAS,EAAE,CAAC,+BAAa,EAAE,2BAAW,CAAC;QACvC,OAAO,EAAE,CAAC,+BAAa,EAAE,2BAAW,CAAC;KACtC,CAAC;GACW,YAAY,CAAG;AAAf,oCAAY"}
@@ -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.ApiKeyService = 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 bcrypt = require("bcryptjs");
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 api_key_entity_1 = require("./api-key.entity");
23
23
  let ApiKeyService = class ApiKeyService {
24
24
  constructor(apiKeyRepository) {
@@ -1 +1 @@
1
- {"version":3,"file":"api-key.service.js","sourceRoot":"","sources":["../../../src/modules/api-key/api-key.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-key.service.js","sourceRoot":"","sources":["../../../src/modules/api-key/api-key.service.ts"],"names":[],"mappings":"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"}
@@ -31,15 +31,15 @@ __decorate([
31
31
  __metadata("design:type", String)
32
32
  ], ArticleRevision.prototype, "title", void 0);
33
33
  __decorate([
34
- (0, typeorm_1.Column)({ type: 'mediumtext', nullable: true }),
34
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
35
35
  __metadata("design:type", String)
36
36
  ], ArticleRevision.prototype, "content", void 0);
37
37
  __decorate([
38
- (0, typeorm_1.Column)({ type: 'mediumtext', nullable: true }),
38
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
39
39
  __metadata("design:type", String)
40
40
  ], ArticleRevision.prototype, "html", void 0);
41
41
  __decorate([
42
- (0, typeorm_1.Column)('simple-enum', { enum: ['draft', 'publish'] }),
42
+ (0, typeorm_1.Column)({ type: 'simple-enum', enum: ['draft', 'publish'] }),
43
43
  __metadata("design:type", String)
44
44
  ], ArticleRevision.prototype, "status", void 0);
45
45
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"article-revision.entity.js","sourceRoot":"","sources":["../../../src/modules/article/article-revision.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAA8F;AAE9F,qDAA2C;AAG3C,IAAa,eAAe,GAA5B,MAAa,eAAe;CAwB3B,CAAA;AAtBC;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;2CACpB;AAGX;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,wBAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;8BACzC,wBAAO;gDAAC;AAGjB;IADC,IAAA,gBAAM,GAAE;;kDACS;AAGlB;IADC,IAAA,gBAAM,GAAE;;8CACK;AAGd;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDAC/B;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CAClC;AAGb;IADC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;;+CACvC;AAGf;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;8BAC9B,IAAI;iDAAC;AAvBJ,eAAe;IAD3B,IAAA,gBAAM,EAAC,mBAAmB,CAAC;GACf,eAAe,CAwB3B;AAxBY,0CAAe"}
1
+ {"version":3,"file":"article-revision.entity.js","sourceRoot":"","sources":["../../../src/modules/article/article-revision.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAA8F;AAE9F,qDAA2C;AAGpC,IAAM,eAAe,GAArB,MAAM,eAAe;CAwB3B,CAAA;AAvBC;IAAC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;2CACpB;AAEX;IAAC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,wBAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;8BACzC,wBAAO;gDAAC;AAEjB;IAAC,IAAA,gBAAM,GAAE;;kDACS;AAElB;IAAC,IAAA,gBAAM,GAAE;;8CACK;AAEd;IAAC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACzB;AAEhB;IAAC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CAC5B;AAEb;IAAC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;;+CAC7C;AAEf;IAAC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;8BAC9B,IAAI;iDAAC;AAvBJ,eAAe;IAD3B,IAAA,gBAAM,EAAC,mBAAmB,CAAC;GACf,eAAe,CAwB3B;AAxBY,0CAAe"}
@@ -0,0 +1,2 @@
1
+ export declare function slugifyArticle(value: string): string;
2
+ export declare function normalizeArticleSlug(value: unknown): string | null;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeArticleSlug = exports.slugifyArticle = void 0;
4
+ function slugifyArticle(value) {
5
+ return String(value || '')
6
+ .trim()
7
+ .toLowerCase()
8
+ .replace(/\s+/g, '-')
9
+ .replace(/[^\w\u4e00-\u9fff-]/g, '')
10
+ .replace(/-+/g, '-')
11
+ .replace(/^-|-$/g, '');
12
+ }
13
+ exports.slugifyArticle = slugifyArticle;
14
+ function normalizeArticleSlug(value) {
15
+ const slug = slugifyArticle(String(value !== null && value !== void 0 ? value : ''));
16
+ return slug || null;
17
+ }
18
+ exports.normalizeArticleSlug = normalizeArticleSlug;
19
+ //# sourceMappingURL=article-slug.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"article-slug.util.js","sourceRoot":"","sources":["../../../src/modules/article/article-slug.util.ts"],"names":[],"mappings":";;;AACA,SAAgB,cAAc,CAAC,KAAa;IAC1C,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;SACvB,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC;SACnC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC3B,CAAC;AARD,wCAQC;AAED,SAAgB,oBAAoB,CAAC,KAAc;IACjD,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,CAAC,CAAC;IACjD,OAAO,IAAI,IAAI,IAAI,CAAC;AACtB,CAAC;AAHD,oDAGC"}
@@ -20,7 +20,7 @@ export declare class ArticleController {
20
20
  getArchives(): Promise<{
21
21
  [key: string]: Article[];
22
22
  }>;
23
- recommend(articleId: any): Promise<Article[]>;
23
+ recommend(articleId: any, pageSize?: string): Promise<Article[]>;
24
24
  findById(req: any, id: any, status: any): Promise<Article>;
25
25
  checkPassword(id: any, article: any): Promise<{
26
26
  pass: boolean;
@@ -13,10 +13,10 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.ArticleController = void 0;
16
- const api_messages_1 = require("../../common/api-messages");
17
16
  const common_1 = require("@nestjs/common");
18
17
  const jwt_1 = require("@nestjs/jwt");
19
18
  const swagger_1 = require("@nestjs/swagger");
19
+ const api_messages_1 = require("../../common/api-messages");
20
20
  const api_key_guard_1 = require("../api-key/api-key.guard");
21
21
  const api_key_service_1 = require("../api-key/api-key.service");
22
22
  const jwt_auth_guard_1 = require("../auth/jwt-auth.guard");
@@ -61,8 +61,9 @@ let ArticleController = class ArticleController {
61
61
  getArchives() {
62
62
  return this.articleService.getArchives();
63
63
  }
64
- recommend(articleId) {
65
- return this.articleService.recommend(articleId);
64
+ recommend(articleId, pageSize) {
65
+ const size = Math.min(Math.max(parseInt(pageSize !== null && pageSize !== void 0 ? pageSize : '6', 10) || 6, 1), 30);
66
+ return this.articleService.recommend(articleId, size);
66
67
  }
67
68
  async findById(req, id, status) {
68
69
  let token = req.headers.authorization;
@@ -179,8 +180,9 @@ __decorate([
179
180
  (0, common_1.Get)('/recommend'),
180
181
  (0, common_1.HttpCode)(common_1.HttpStatus.OK),
181
182
  __param(0, (0, common_1.Query)('articleId')),
183
+ __param(1, (0, common_1.Query)('pageSize')),
182
184
  __metadata("design:type", Function),
183
- __metadata("design:paramtypes", [Object]),
185
+ __metadata("design:paramtypes", [Object, String]),
184
186
  __metadata("design:returntype", void 0)
185
187
  ], ArticleController.prototype, "recommend", null);
186
188
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"article.controller.js","sourceRoot":"","sources":["../../../src/modules/article/article.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"article.controller.js","sourceRoot":"","sources":["../../../src/modules/article/article.controller.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,9 @@ export declare class Article {
5
5
  title: string;
6
6
  cover: string;
7
7
  summary: string;
8
+ slug: string;
9
+ seoKeywords: string;
10
+ seoDescription: string;
8
11
  content: string;
9
12
  html: string;
10
13
  toc: string;
@@ -36,36 +36,51 @@ __decorate([
36
36
  (0, typeorm_1.Column)({ type: 'text', default: null }),
37
37
  __metadata("design:type", String)
38
38
  ], Article.prototype, "summary", void 0);
39
+ __decorate([
40
+ (0, swagger_1.ApiProperty)({ description: 'URL 别名(slug)' }),
41
+ (0, typeorm_1.Column)({ type: 'varchar', length: 191, default: null, unique: true }),
42
+ __metadata("design:type", String)
43
+ ], Article.prototype, "slug", void 0);
44
+ __decorate([
45
+ (0, swagger_1.ApiProperty)({ description: 'SEO 关键词,逗号分隔' }),
46
+ (0, typeorm_1.Column)({ type: 'text', default: null }),
47
+ __metadata("design:type", String)
48
+ ], Article.prototype, "seoKeywords", void 0);
49
+ __decorate([
50
+ (0, swagger_1.ApiProperty)({ description: 'SEO 描述(meta description)' }),
51
+ (0, typeorm_1.Column)({ type: 'text', default: null }),
52
+ __metadata("design:type", String)
53
+ ], Article.prototype, "seoDescription", void 0);
39
54
  __decorate([
40
55
  (0, swagger_1.ApiProperty)(),
41
- (0, typeorm_1.Column)({ type: 'mediumtext', default: null, charset: 'utf8mb4' }),
56
+ (0, typeorm_1.Column)({ type: 'text', default: null }),
42
57
  __metadata("design:type", String)
43
58
  ], Article.prototype, "content", void 0);
44
59
  __decorate([
45
60
  (0, swagger_1.ApiProperty)(),
46
- (0, typeorm_1.Column)({ type: 'mediumtext', default: null, charset: 'utf8mb4' }),
61
+ (0, typeorm_1.Column)({ type: 'text', default: null }),
47
62
  __metadata("design:type", String)
48
63
  ], Article.prototype, "html", void 0);
49
64
  __decorate([
50
65
  (0, swagger_1.ApiProperty)(),
51
- (0, typeorm_1.Column)({ type: 'mediumtext', default: null }),
66
+ (0, typeorm_1.Column)({ type: 'text', default: null }),
52
67
  __metadata("design:type", String)
53
68
  ], Article.prototype, "toc", void 0);
54
69
  __decorate([
55
- (0, swagger_1.ApiProperty)(),
70
+ (0, swagger_1.ApiProperty)({ type: () => category_entity_1.Category }),
56
71
  (0, typeorm_1.ManyToOne)(() => category_entity_1.Category, (category) => category.articles, { cascade: true }),
57
72
  (0, typeorm_1.JoinTable)(),
58
73
  __metadata("design:type", category_entity_1.Category)
59
74
  ], Article.prototype, "category", void 0);
60
75
  __decorate([
61
- (0, swagger_1.ApiProperty)(),
76
+ (0, swagger_1.ApiProperty)({ type: () => tag_entity_1.Tag, isArray: true }),
62
77
  (0, typeorm_1.ManyToMany)(() => tag_entity_1.Tag, (tag) => tag.articles, { cascade: true }),
63
78
  (0, typeorm_1.JoinTable)(),
64
79
  __metadata("design:type", Array)
65
80
  ], Article.prototype, "tags", void 0);
66
81
  __decorate([
67
82
  (0, swagger_1.ApiProperty)(),
68
- (0, typeorm_1.Column)('simple-enum', { enum: ['draft', 'publish'] }),
83
+ (0, typeorm_1.Column)({ type: 'simple-enum', enum: ['draft', 'publish'] }),
69
84
  __metadata("design:type", String)
70
85
  ], Article.prototype, "status", void 0);
71
86
  __decorate([
@@ -100,12 +115,12 @@ __decorate([
100
115
  ], Article.prototype, "isCommentable", void 0);
101
116
  __decorate([
102
117
  (0, swagger_1.ApiProperty)(),
103
- (0, typeorm_1.Column)({ type: 'timestamp', default: () => 'CURRENT_TIMESTAMP' }),
118
+ (0, typeorm_1.Column)({ type: 'datetime', default: () => 'CURRENT_TIMESTAMP' }),
104
119
  __metadata("design:type", Date)
105
120
  ], Article.prototype, "publishAt", void 0);
106
121
  __decorate([
107
122
  (0, swagger_1.ApiProperty)({ description: '定时发布时间(草稿状态下生效)' }),
108
- (0, typeorm_1.Column)({ type: 'timestamp', nullable: true }),
123
+ (0, typeorm_1.Column)({ type: 'datetime', nullable: true }),
109
124
  __metadata("design:type", Date)
110
125
  ], Article.prototype, "scheduledPublishAt", void 0);
111
126
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"article.entity.js","sourceRoot":"","sources":["../../../src/modules/article/article.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,qCASiB;AAEjB,iEAAuD;AACvD,kDAAwC;AAGxC,IAAa,OAAO,GAApB,MAAa,OAAO;CA0FnB,CAAA;AAvFC;IAFC,IAAA,qBAAW,GAAE;IACb,IAAA,gCAAsB,EAAC,MAAM,CAAC;;mCACpB;AAIX;IAFC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,GAAE;;sCACK;AAId;IAFC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;sCACZ;AAId;IAFC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;wCACxB;AAIhB;IAFC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;;wCAClD;AAIhB;IAFC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;;qCACrD;AAIb;IAFC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;oCAClC;AAKZ;IAHC,IAAA,qBAAW,GAAE;IACb,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,0BAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7E,IAAA,mBAAS,GAAE;8BACF,0BAAQ;yCAAC;AAKnB;IAHC,IAAA,qBAAW,GAAE;IACb,IAAA,oBAAU,EAAC,GAAG,EAAE,CAAC,gBAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC/D,IAAA,mBAAS,GAAE;8BACN,KAAK;qCAAM;AAIjB;IAFC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;;uCACvC;AAIf;IAFC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;sCACtB;AAId;IAFC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;sCACtB;AAId;IAFC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;8CACrB;AAIvB;IAFC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;yCACtC;AAIjB;IAFC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;6CACtB;AAItB;IAFC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;8CACpB;AAIvB;IAFC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAAC;8BACvD,IAAI;0CAAC;AAIhB;IAFC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;IAC/C,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAC1B,IAAI;mDAAC;AAQzB;IANC,IAAA,qBAAW,GAAE;IACb,IAAA,0BAAgB,EAAC;QAChB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,WAAW;KAClB,CAAC;8BACQ,IAAI;yCAAC;AAQf;IANC,IAAA,qBAAW,GAAE;IACb,IAAA,0BAAgB,EAAC;QAChB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,WAAW;KAClB,CAAC;8BACQ,IAAI;yCAAC;AAzFJ,OAAO;IADnB,IAAA,gBAAM,GAAE;GACI,OAAO,CA0FnB;AA1FY,0BAAO"}
1
+ {"version":3,"file":"article.entity.js","sourceRoot":"","sources":["../../../src/modules/article/article.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,qCASiB;AAEjB,iEAAuD;AACvD,kDAAwC;AAGjC,IAAM,OAAO,GAAb,MAAM,OAAO;CA8GnB,CAAA;AA7GC;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gCAAsB,EAAC,MAAM,CAAC;;mCACpB;AAEX;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,GAAE;;sCACK;AAEd;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;sCACZ;AAEd;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;wCACxB;AAEhB;IAAC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;IAC5C,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;qCACzD;AAEb;IAAC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;IAC5C,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;4CACpB;AAEpB;IAAC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;IACxD,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;+CACjB;AAEvB;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;wCACxB;AAEhB;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;qCAC3B;AAEb;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;oCAC5B;AAEZ;IAAC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,0BAAQ,EAAE,CAAC;IACrC,IAAA,mBAAS,EACR,GAAG,EAAE,CAAC,0BAAQ,EACd,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAC/B,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB;IACA,IAAA,mBAAS,GAAE;8BACF,0BAAQ;yCAAC;AAEnB;IAAC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,gBAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC/C,IAAA,oBAAU,EACT,GAAG,EAAE,CAAC,gBAAG,EACT,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EACrB,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB;IACA,IAAA,mBAAS,GAAE;8BACN,KAAK;qCAAM;AAEjB;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;;uCAC7C;AAEf;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;sCACtB;AAEd;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;sCACtB;AAEd;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;8CACrB;AAEvB;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;yCACtC;AAEjB;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;6CACtB;AAEtB;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;8CACpB;AAEvB;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAAC;8BACtD,IAAI;0CAAC;AAEhB;IAAC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;IAC/C,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACzB,IAAI;mDAAC;AAEzB;IAAC,IAAA,qBAAW,GAAE;IACb,IAAA,0BAAgB,EAAC;QAChB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,WAAW;KAClB,CAAC;8BACQ,IAAI;yCAAC;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;yCAAC;AA7GJ,OAAO;IADnB,IAAA,gBAAM,GAAE;GACI,OAAO,CA8GnB;AA9GY,0BAAO"}
@@ -11,21 +11,24 @@ const common_1 = require("@nestjs/common");
11
11
  const typeorm_1 = require("@nestjs/typeorm");
12
12
  const api_key_module_1 = require("../api-key/api-key.module");
13
13
  const auth_module_1 = require("../auth/auth.module");
14
+ const category_entity_1 = require("../category/category.entity");
14
15
  const category_module_1 = require("../category/category.module");
16
+ const tag_entity_1 = require("../tag/tag.entity");
15
17
  const tag_module_1 = require("../tag/tag.module");
16
18
  const user_module_1 = require("../user/user.module");
17
19
  const webhook_module_1 = require("../webhook/webhook.module");
18
- const article_revision_entity_1 = require("./article-revision.entity");
20
+ const bootstrap_service_1 = require("../bootstrap/bootstrap.service");
19
21
  const article_controller_1 = require("./article.controller");
20
22
  const article_entity_1 = require("./article.entity");
21
23
  const article_service_1 = require("./article.service");
24
+ const article_revision_entity_1 = require("./article-revision.entity");
22
25
  const scheduled_publish_service_1 = require("./scheduled-publish.service");
23
26
  let ArticleModule = class ArticleModule {
24
27
  };
25
28
  ArticleModule = __decorate([
26
29
  (0, common_1.Module)({
27
30
  imports: [
28
- typeorm_1.TypeOrmModule.forFeature([article_entity_1.Article, article_revision_entity_1.ArticleRevision]),
31
+ typeorm_1.TypeOrmModule.forFeature([article_entity_1.Article, article_revision_entity_1.ArticleRevision, category_entity_1.Category, tag_entity_1.Tag]),
29
32
  category_module_1.CategoryModule,
30
33
  tag_module_1.TagModule,
31
34
  user_module_1.UserModule,
@@ -34,7 +37,7 @@ ArticleModule = __decorate([
34
37
  webhook_module_1.WebhookModule,
35
38
  ],
36
39
  exports: [article_service_1.ArticleService],
37
- providers: [article_service_1.ArticleService, scheduled_publish_service_1.ScheduledPublishService],
40
+ providers: [article_service_1.ArticleService, scheduled_publish_service_1.ScheduledPublishService, bootstrap_service_1.BootstrapService],
38
41
  controllers: [article_controller_1.ArticleController],
39
42
  })
40
43
  ], ArticleModule);
@@ -1 +1 @@
1
- {"version":3,"file":"article.module.js","sourceRoot":"","sources":["../../../src/modules/article/article.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAEhD,8DAAyD;AACzD,qDAAiD;AACjD,iEAA6D;AAC7D,kDAA8C;AAC9C,qDAAiD;AACjD,8DAA0D;AAC1D,uEAA4D;AAC5D,6DAAyD;AACzD,qDAA2C;AAC3C,uDAAmD;AACnD,2EAAsE;AAgBtE,IAAa,aAAa,GAA1B,MAAa,aAAa;CAAG,CAAA;AAAhB,aAAa;IAdzB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC,CAAC,wBAAO,EAAE,yCAAe,CAAC,CAAC;YACpD,gCAAc;YACd,sBAAS;YACT,wBAAU;YACV,wBAAU;YACV,6BAAY;YACZ,8BAAa;SACd;QACD,OAAO,EAAE,CAAC,gCAAc,CAAC;QACzB,SAAS,EAAE,CAAC,gCAAc,EAAE,mDAAuB,CAAC;QACpD,WAAW,EAAE,CAAC,sCAAiB,CAAC;KACjC,CAAC;GACW,aAAa,CAAG;AAAhB,sCAAa"}
1
+ {"version":3,"file":"article.module.js","sourceRoot":"","sources":["../../../src/modules/article/article.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAEhD,8DAAyD;AACzD,qDAAiD;AACjD,iEAAuD;AACvD,iEAA6D;AAC7D,kDAAwC;AACxC,kDAA8C;AAC9C,qDAAiD;AACjD,8DAA0D;AAC1D,sEAAkE;AAClE,6DAAyD;AACzD,qDAA2C;AAC3C,uDAAmD;AACnD,uEAA4D;AAC5D,2EAAsE;AAgB/D,IAAM,aAAa,GAAnB,MAAM,aAAa;CAAG,CAAA;AAAhB,aAAa;IAdzB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC,CAAC,wBAAO,EAAE,yCAAe,EAAE,0BAAQ,EAAE,gBAAG,CAAC,CAAC;YACnE,gCAAc;YACd,sBAAS;YACT,wBAAU;YACV,wBAAU;YACV,6BAAY;YACZ,8BAAa;SACd;QACD,OAAO,EAAE,CAAC,gCAAc,CAAC;QACzB,SAAS,EAAE,CAAC,gCAAc,EAAE,mDAAuB,EAAE,oCAAgB,CAAC;QACtE,WAAW,EAAE,CAAC,sCAAiB,CAAC;KACjC,CAAC;GACW,aAAa,CAAG;AAAhB,sCAAa"}
@@ -1,18 +1,24 @@
1
1
  import { Repository } from 'typeorm';
2
2
  import { CategoryService } from '../category/category.service';
3
+ import { HookService } from '../hook/hook.service';
3
4
  import { TagService } from '../tag/tag.service';
4
5
  import { WebhookService } from '../webhook/webhook.service';
5
- import { ArticleRevision } from './article-revision.entity';
6
6
  import { Article } from './article.entity';
7
+ import { ArticleRevision } from './article-revision.entity';
7
8
  export declare class ArticleService {
8
9
  private readonly articleRepository;
9
10
  private readonly revisionRepository;
10
11
  private readonly tagService;
11
12
  private readonly categoryService;
12
13
  private readonly webhookService;
13
- constructor(articleRepository: Repository<Article>, revisionRepository: Repository<ArticleRevision>, tagService: TagService, categoryService: CategoryService, webhookService: WebhookService);
14
+ private readonly hookService;
15
+ constructor(articleRepository: Repository<Article>, revisionRepository: Repository<ArticleRevision>, tagService: TagService, categoryService: CategoryService, webhookService: WebhookService, hookService: HookService);
14
16
  private saveRevision;
15
17
  private notifyPublished;
18
+ private applyPublishFilters;
19
+ private normalizeSeoPayload;
20
+ private applyPublishFilterPatch;
21
+ private assertSlugAvailable;
16
22
  create(article: Partial<Article>): Promise<Article>;
17
23
  findAll(queryParams: any): Promise<[Article[], number]>;
18
24
  findArticlesByCategory(category: any, queryParams: any): Promise<(number | Article[])[]>;
@@ -34,5 +40,5 @@ export declare class ArticleService {
34
40
  updateLikesById(id: any, type: any): Promise<Article>;
35
41
  deleteById(id: any): Promise<Article>;
36
42
  search(keyword: any): Promise<Article[]>;
37
- recommend(articleId?: any): Promise<Article[]>;
43
+ recommend(articleId?: any, pageSize?: number): Promise<Article[]>;
38
44
  }
@@ -24,28 +24,31 @@ var __rest = (this && this.__rest) || function (s, e) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.ArticleService = void 0;
27
- const api_messages_1 = require("../../common/api-messages");
28
27
  const common_1 = require("@nestjs/common");
29
28
  const typeorm_1 = require("@nestjs/typeorm");
30
29
  const typeorm_2 = require("typeorm");
30
+ const api_messages_1 = require("../../common/api-messages");
31
31
  const date_util_1 = require("../../utils/date.util");
32
32
  const query_whitelist_util_1 = require("../../utils/query-whitelist.util");
33
33
  const category_service_1 = require("../category/category.service");
34
+ const hook_service_1 = require("../hook/hook.service");
34
35
  const tag_service_1 = require("../tag/tag.service");
35
36
  const webhook_service_1 = require("../webhook/webhook.service");
36
- const article_revision_entity_1 = require("./article-revision.entity");
37
37
  const article_entity_1 = require("./article.entity");
38
+ const article_revision_entity_1 = require("./article-revision.entity");
39
+ const article_slug_util_1 = require("./article-slug.util");
38
40
  const article_util_1 = require("./article.util");
39
41
  const Segment = require('segment');
40
42
  const segment = new Segment();
41
43
  segment.useDefault();
42
44
  let ArticleService = class ArticleService {
43
- constructor(articleRepository, revisionRepository, tagService, categoryService, webhookService) {
45
+ constructor(articleRepository, revisionRepository, tagService, categoryService, webhookService, hookService) {
44
46
  this.articleRepository = articleRepository;
45
47
  this.revisionRepository = revisionRepository;
46
48
  this.tagService = tagService;
47
49
  this.categoryService = categoryService;
48
50
  this.webhookService = webhookService;
51
+ this.hookService = hookService;
49
52
  }
50
53
  async saveRevision(article) {
51
54
  const revision = this.revisionRepository.create({
@@ -63,22 +66,72 @@ let ArticleService = class ArticleService {
63
66
  return;
64
67
  await this.webhookService.dispatch('article.published', Object.assign({ id: article.id, title: article.title, status: article.status, publishAt: article.publishAt }, extra));
65
68
  }
69
+ async applyPublishFilters(article) {
70
+ return this.hookService.applyFilters('article.beforePublish', Object.assign({}, article));
71
+ }
72
+ normalizeSeoPayload(payload) {
73
+ const next = Object.assign({}, payload);
74
+ if ('slug' in next) {
75
+ next.slug = (0, article_slug_util_1.normalizeArticleSlug)(next.slug);
76
+ }
77
+ if (typeof next.seoKeywords === 'string') {
78
+ next.seoKeywords = next.seoKeywords.trim() || null;
79
+ }
80
+ if (typeof next.seoDescription === 'string') {
81
+ next.seoDescription = next.seoDescription.trim() || null;
82
+ }
83
+ return next;
84
+ }
85
+ applyPublishFilterPatch(patch, filtered) {
86
+ const next = Object.assign({}, patch);
87
+ for (const key of ['summary', 'slug', 'seoKeywords', 'seoDescription']) {
88
+ if (filtered[key] !== undefined && filtered[key] !== null) {
89
+ next[key] = filtered[key];
90
+ }
91
+ }
92
+ return next;
93
+ }
94
+ async assertSlugAvailable(slug, excludeId) {
95
+ if (!slug)
96
+ return;
97
+ const query = this.articleRepository
98
+ .createQueryBuilder('article')
99
+ .where('article.slug = :slug', { slug })
100
+ .take(1);
101
+ if (excludeId) {
102
+ query.andWhere('article.id != :excludeId', { excludeId });
103
+ }
104
+ const exist = await query.getOne();
105
+ if (exist) {
106
+ throw new common_1.HttpException(api_messages_1.ApiMsg.ARTICLE_SLUG_EXISTS, common_1.HttpStatus.BAD_REQUEST);
107
+ }
108
+ }
66
109
  async create(article) {
67
- const { title } = article;
110
+ let payload = this.normalizeSeoPayload(await this.hookService.applyFilters('article.beforeCreate', Object.assign({}, article)));
111
+ const { title } = payload;
68
112
  const exist = await this.articleRepository.findOne({ where: { title } });
69
113
  if (exist) {
70
114
  throw new common_1.HttpException(api_messages_1.ApiMsg.ARTICLE_TITLE_EXISTS, common_1.HttpStatus.BAD_REQUEST);
71
115
  }
72
- let { tags, category, status } = article;
116
+ await this.assertSlugAvailable(payload.slug);
117
+ let { tags, category, status } = payload;
73
118
  if (status === 'publish') {
74
- Object.assign(article, {
119
+ payload = this.normalizeSeoPayload(await this.applyPublishFilters(payload));
120
+ await this.assertSlugAvailable(payload.slug);
121
+ Object.assign(payload, {
75
122
  publishAt: (0, date_util_1.dateFormat)(),
76
123
  });
77
124
  }
78
125
  tags = await this.tagService.findByIds(('' + tags).split(','));
79
126
  const existCategory = await this.categoryService.findById(category);
80
- const newArticle = await this.articleRepository.create(Object.assign(Object.assign({}, article), { category: existCategory, tags, needPassword: !!article.password }));
127
+ const newArticle = await this.articleRepository.create(Object.assign(Object.assign({}, payload), { category: existCategory, tags, needPassword: !!payload.password }));
81
128
  await this.articleRepository.save(newArticle);
129
+ if (newArticle.status === 'publish') {
130
+ await this.hookService.doAction('article.afterPublish', {
131
+ article: newArticle,
132
+ isNew: true,
133
+ });
134
+ }
82
135
  await this.notifyPublished(newArticle);
83
136
  return newArticle;
84
137
  }
@@ -208,8 +261,10 @@ let ArticleService = class ArticleService {
208
261
  .leftJoinAndSelect('article.tags', 'tags')
209
262
  .where('article.id=:id')
210
263
  .orWhere('article.title=:title')
264
+ .orWhere('article.slug=:slug')
211
265
  .setParameter('id', id)
212
- .setParameter('title', id);
266
+ .setParameter('title', id)
267
+ .setParameter('slug', id);
213
268
  if (status) {
214
269
  query.andWhere('article.status=:status').setParameter('status', status);
215
270
  }
@@ -224,18 +279,30 @@ let ArticleService = class ArticleService {
224
279
  const oldArticle = await this.articleRepository.findOne(id);
225
280
  await this.saveRevision(oldArticle);
226
281
  let { tags, category, status } = article;
282
+ let patch = this.normalizeSeoPayload(Object.assign(Object.assign({}, article), { views: oldArticle.views, needPassword: !!article.password }));
283
+ await this.assertSlugAvailable(patch.slug, id);
227
284
  if (tags) {
228
285
  tags = await this.tagService.findByIds(('' + tags).split(','));
229
286
  }
230
287
  const existCategory = await this.categoryService.findById(category);
231
288
  const becomingPublish = oldArticle.status === 'draft' && status === 'publish';
232
- const newArticle = Object.assign(Object.assign({}, article), { views: oldArticle.views, category: existCategory, needPassword: !!article.password, publishAt: becomingPublish ? (0, date_util_1.dateFormat)() : oldArticle.publishAt, scheduledPublishAt: status === 'publish' ? null : (_a = article.scheduledPublishAt) !== null && _a !== void 0 ? _a : oldArticle.scheduledPublishAt });
289
+ patch = Object.assign(Object.assign({}, patch), { category: existCategory, publishAt: becomingPublish ? (0, date_util_1.dateFormat)() : oldArticle.publishAt, scheduledPublishAt: status === 'publish' ? null : (_a = article.scheduledPublishAt) !== null && _a !== void 0 ? _a : oldArticle.scheduledPublishAt });
233
290
  if (tags) {
234
- Object.assign(newArticle, { tags });
291
+ Object.assign(patch, { tags });
292
+ }
293
+ if (status === 'publish' || becomingPublish) {
294
+ const filtered = this.normalizeSeoPayload(await this.applyPublishFilters(Object.assign(Object.assign({}, oldArticle), patch)));
295
+ patch = this.applyPublishFilterPatch(patch, filtered);
296
+ await this.assertSlugAvailable(patch.slug, id);
297
+ patch.publishAt = becomingPublish ? (0, date_util_1.dateFormat)() : oldArticle.publishAt;
235
298
  }
236
- const updatedArticle = await this.articleRepository.merge(oldArticle, newArticle);
299
+ const updatedArticle = await this.articleRepository.merge(oldArticle, patch);
237
300
  const saved = await this.articleRepository.save(updatedArticle);
238
301
  if (becomingPublish) {
302
+ await this.hookService.doAction('article.afterPublish', {
303
+ article: saved,
304
+ isNew: false,
305
+ });
239
306
  await this.notifyPublished(saved);
240
307
  }
241
308
  return saved;
@@ -288,7 +355,7 @@ let ArticleService = class ArticleService {
288
355
  .getMany();
289
356
  return res;
290
357
  }
291
- async recommend(articleId = null) {
358
+ async recommend(articleId = null, pageSize = 6) {
292
359
  const query = this.articleRepository
293
360
  .createQueryBuilder('article')
294
361
  .orderBy('article.publishAt', 'DESC')
@@ -296,7 +363,7 @@ let ArticleService = class ArticleService {
296
363
  .leftJoinAndSelect('article.tags', 'tags');
297
364
  if (!articleId) {
298
365
  query.where('article.status=:status').setParameter('status', 'publish');
299
- return query.take(6).getMany();
366
+ return query.take(pageSize).getMany();
300
367
  }
301
368
  const sub = this.articleRepository
302
369
  .createQueryBuilder('article')
@@ -307,7 +374,7 @@ let ArticleService = class ArticleService {
307
374
  .setParameter('id', articleId);
308
375
  const exist = await sub.getOne();
309
376
  if (!exist) {
310
- return query.take(6).getMany();
377
+ return query.take(pageSize).getMany();
311
378
  }
312
379
  const { title, summary } = exist;
313
380
  try {
@@ -340,7 +407,7 @@ let ArticleService = class ArticleService {
340
407
  }
341
408
  catch (e) { }
342
409
  const data = await query.getMany();
343
- return data.filter((d) => d.id !== articleId && d.status === 'publish');
410
+ return data.filter((d) => d.id !== articleId && d.status === 'publish').slice(0, pageSize);
344
411
  }
345
412
  };
346
413
  ArticleService = __decorate([
@@ -351,7 +418,8 @@ ArticleService = __decorate([
351
418
  typeorm_2.Repository,
352
419
  tag_service_1.TagService,
353
420
  category_service_1.CategoryService,
354
- webhook_service_1.WebhookService])
421
+ webhook_service_1.WebhookService,
422
+ hook_service_1.HookService])
355
423
  ], ArticleService);
356
424
  exports.ArticleService = ArticleService;
357
425
  //# sourceMappingURL=article.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"article.service.js","sourceRoot":"","sources":["../../../src/modules/article/article.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"article.service.js","sourceRoot":"","sources":["../../../src/modules/article/article.service.ts"],"names":[],"mappings":"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"}