strapi-plugin-comments 2.3.2 → 3.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (525) hide show
  1. package/LICENSE.md +7 -0
  2. package/README.md +21 -19
  3. package/dist/_chunks/en-D1Rj1A_i.js +195 -0
  4. package/{admin/src/translations/en.json → dist/_chunks/en-DZljqkLz.mjs} +17 -14
  5. package/dist/_chunks/fr-DbxNAr65.js +146 -0
  6. package/{admin/src/translations/fr.json → dist/_chunks/fr-oAh2cU0E.mjs} +15 -11
  7. package/dist/_chunks/index-B6Q4U8YQ.js +51665 -0
  8. package/dist/_chunks/index-BQERo8pN.mjs +8340 -0
  9. package/dist/_chunks/index-BVj8EXjI.js +8356 -0
  10. package/dist/_chunks/index-Bpbf7RON.mjs +51643 -0
  11. package/dist/_chunks/index-CTjupB9v.js +375 -0
  12. package/dist/_chunks/index-fAgatqD0.js +50888 -0
  13. package/dist/_chunks/index-fSb-gYwg.mjs +373 -0
  14. package/dist/_chunks/index-h-TB6Qu2.mjs +50873 -0
  15. package/{admin/src/translations/pl.json → dist/_chunks/pl-BUVUFx9r.mjs} +14 -11
  16. package/dist/_chunks/pl-CuTgrHph.js +195 -0
  17. package/dist/_chunks/pt-BR-2Z9CtgSm.js +145 -0
  18. package/{admin/src/translations/pt-BR.json → dist/_chunks/pt-BR-Bchhsf7B.mjs} +14 -11
  19. package/{admin/src/translations/ru.json → dist/_chunks/ru-BQ54P0xr.mjs} +17 -14
  20. package/dist/_chunks/ru-gtnRlbuP.js +195 -0
  21. package/{admin/src/translations/tr.json → dist/_chunks/tr-CkGcBRUv.mjs} +14 -11
  22. package/dist/_chunks/tr-Ucl3IKMX.js +193 -0
  23. package/{admin/src/translations/zh-Hans.json → dist/_chunks/zh-Hans-Buh0iPWA.mjs} +17 -14
  24. package/dist/_chunks/zh-Hans-Dhk3gIYb.js +195 -0
  25. package/dist/admin/index.js +4 -0
  26. package/dist/admin/index.mjs +5 -0
  27. package/dist/admin/src/api/client.d.ts +413 -0
  28. package/dist/admin/src/api/index.d.ts +1 -0
  29. package/dist/admin/src/api/schemas.d.ts +3463 -0
  30. package/dist/admin/src/components/ActionButton/index.d.ts +4 -0
  31. package/dist/admin/src/components/ApproveFlow/index.d.ts +7 -0
  32. package/dist/admin/src/components/CommentReportStatusBadge/index.d.ts +4 -0
  33. package/dist/admin/src/components/CommentRow/index.d.ts +7 -0
  34. package/dist/admin/src/components/CommentStatusBadge/index.d.ts +7 -0
  35. package/dist/admin/src/components/ConfirmationDialog/index.d.ts +14 -0
  36. package/dist/admin/src/components/DiscussionThreadItem/DiscussionThreadItemActions.d.ts +3 -0
  37. package/dist/admin/src/components/DiscussionThreadItem/DiscussionThreadItemFooter.d.ts +4 -0
  38. package/dist/admin/src/components/DiscussionThreadItem/index.d.ts +6 -0
  39. package/dist/admin/src/components/DiscussionThreadItem/props.d.ts +12 -0
  40. package/dist/admin/src/components/IconButtonGroup/index.d.ts +5 -0
  41. package/dist/admin/src/components/LoadingIndicatorOverlay/index.d.ts +1 -0
  42. package/dist/admin/src/components/ModeratorResponseModal/index.d.ts +9 -0
  43. package/dist/admin/src/components/PluginIcon/index.d.ts +7 -0
  44. package/dist/admin/src/components/RenderIf/index.d.ts +7 -0
  45. package/dist/admin/src/components/ReportReasonBadge/index.d.ts +3 -0
  46. package/dist/admin/src/components/ReportStatusBadge/index.d.ts +5 -0
  47. package/dist/admin/src/components/ReportsTableRow/BlockMenu.d.ts +8 -0
  48. package/dist/admin/src/components/ReportsTableRow/CommentReviewModal.d.ts +7 -0
  49. package/dist/admin/src/components/ReportsTableRow/ReportsActions.d.ts +7 -0
  50. package/dist/admin/src/components/ReportsTableRow/index.d.ts +9 -0
  51. package/dist/admin/src/components/ReviewFlow/ReportReviewTable.d.ts +13 -0
  52. package/dist/admin/src/components/ReviewFlow/index.d.ts +7 -0
  53. package/dist/admin/src/components/SideNav/index.d.ts +1 -0
  54. package/dist/admin/src/components/StatusBadge/index.d.ts +3 -0
  55. package/dist/admin/src/components/UserAvatar/AdminAvatar.d.ts +2 -0
  56. package/dist/admin/src/components/UserAvatar/index.d.ts +8 -0
  57. package/{admin → dist/admin}/src/components/Wysiwyg/Editor.d.ts +2 -14
  58. package/dist/admin/src/components/Wysiwyg/EditorLayout.d.ts +12 -0
  59. package/{admin → dist/admin}/src/components/Wysiwyg/PreviewWysiwyg.d.ts +1 -2
  60. package/dist/admin/src/components/Wysiwyg/WysiwygFooter.d.ts +6 -0
  61. package/{admin → dist/admin}/src/components/Wysiwyg/WysiwygNav.d.ts +4 -3
  62. package/dist/admin/src/components/Wysiwyg/WysiwygStyles.d.ts +5 -0
  63. package/dist/admin/src/components/Wysiwyg/index.d.ts +13 -0
  64. package/{admin → dist/admin}/src/components/Wysiwyg/utils/continueList.d.ts +1 -4
  65. package/{admin → dist/admin}/src/components/Wysiwyg/utils/mdRenderer.d.ts +0 -1
  66. package/dist/admin/src/components/Wysiwyg/utils/urls.d.ts +2 -0
  67. package/{admin → dist/admin}/src/components/Wysiwyg/utils/utils.d.ts +0 -1
  68. package/{admin → dist/admin}/src/components/icons/comments.d.ts +1 -2
  69. package/dist/admin/src/components/icons/index.d.ts +2 -0
  70. package/dist/admin/src/components/icons/lock.d.ts +8 -0
  71. package/dist/admin/src/components/icons/review.d.ts +7 -0
  72. package/dist/admin/src/components/icons/strapiIcons.d.ts +1 -0
  73. package/dist/admin/src/components/icons/unlock.d.ts +8 -0
  74. package/dist/admin/src/contexts/UserContext.d.ts +23 -0
  75. package/dist/admin/src/hooks/useAPI.d.ts +430 -0
  76. package/dist/admin/src/hooks/useCommentMutations.d.ts +72 -0
  77. package/dist/admin/src/hooks/useCommentsAll.d.ts +59 -0
  78. package/dist/admin/src/hooks/useConfig.d.ts +28 -0
  79. package/dist/admin/src/hooks/useElementOnScreen.d.ts +2 -0
  80. package/dist/admin/src/hooks/usePermissions.d.ts +9 -0
  81. package/dist/admin/src/hooks/useReports.d.ts +60 -0
  82. package/dist/admin/src/hooks/useResizeObserver.d.ts +2 -0
  83. package/dist/admin/src/hooks/useUserContext.d.ts +21 -0
  84. package/dist/admin/src/index.d.ts +10 -0
  85. package/dist/admin/src/pages/App/index.d.ts +2 -0
  86. package/dist/admin/src/pages/Details/DetailsEntry.d.ts +11 -0
  87. package/dist/admin/src/pages/Details/DiscussionThread.d.ts +11 -0
  88. package/dist/admin/src/pages/Details/ModeratorResponse.d.ts +7 -0
  89. package/dist/admin/src/pages/Details/index.d.ts +5 -0
  90. package/dist/admin/src/pages/Discover/index.d.ts +5 -0
  91. package/dist/admin/src/pages/Reports/index.d.ts +5 -0
  92. package/dist/admin/src/pages/Settings/hooks/useSettingsAPI.d.ts +70 -0
  93. package/dist/admin/src/pages/Settings/index.d.ts +2 -0
  94. package/{admin → dist/admin}/src/permissions.d.ts +0 -1
  95. package/{admin → dist/admin}/src/pluginId.d.ts +0 -1
  96. package/dist/admin/src/providers/CommonProviders/index.d.ts +4 -0
  97. package/dist/admin/src/store/settings.store.d.ts +7 -0
  98. package/dist/admin/src/translations/en.d.ts +194 -0
  99. package/dist/admin/src/translations/fr.d.ts +143 -0
  100. package/dist/admin/src/translations/index.d.ts +11 -0
  101. package/dist/admin/src/translations/pl.d.ts +193 -0
  102. package/dist/admin/src/translations/pt-BR.d.ts +143 -0
  103. package/dist/admin/src/translations/ru.d.ts +193 -0
  104. package/dist/admin/src/translations/tr.d.ts +191 -0
  105. package/dist/admin/src/translations/zh-Hans.d.ts +193 -0
  106. package/dist/admin/src/types/index.d.ts +5 -0
  107. package/dist/admin/src/utils/constants.d.ts +28 -0
  108. package/{admin → dist/admin}/src/utils/errors.d.ts +0 -1
  109. package/{admin → dist/admin}/src/utils/functions.d.ts +0 -1
  110. package/{admin → dist/admin}/src/utils/getApiUrl.d.ts +0 -1
  111. package/dist/admin/src/utils/getMessage.d.ts +2 -0
  112. package/{admin → dist/admin}/src/utils/getRelatedGroups.d.ts +0 -1
  113. package/{admin → dist/admin}/src/utils/getUrl.d.ts +0 -1
  114. package/dist/admin/src/utils/handleAPIError.d.ts +2 -0
  115. package/{admin → dist/admin}/src/utils/index.d.ts +0 -2
  116. package/{admin → dist/admin}/src/utils/parseRegExp.d.ts +0 -1
  117. package/dist/admin/src/utils/renderEntryTitle.d.ts +2 -0
  118. package/{admin → dist/admin}/src/utils/renderInitials.d.ts +0 -1
  119. package/dist/admin/src/utils/resolveCommentStatus.d.ts +7 -0
  120. package/dist/admin/src/utils/resolveCommentStatusColor.d.ts +3 -0
  121. package/dist/admin/src/utils/resolveReportStatus.d.ts +4 -0
  122. package/dist/admin/src/utils/resolveReportStatusColor.d.ts +3 -0
  123. package/dist/assets/configuration.png +0 -0
  124. package/dist/assets/logo.png +0 -0
  125. package/dist/assets/marketplace.png +0 -0
  126. package/dist/assets/preview.png +0 -0
  127. package/dist/server/index.js +8121 -0
  128. package/dist/server/index.mjs +8122 -0
  129. package/dist/server/src/@types-v5/controllers.d.ts +17 -0
  130. package/dist/server/src/@types-v5/index.d.ts +5 -0
  131. package/dist/server/src/@types-v5/repositories.d.ts +28 -0
  132. package/dist/server/src/@types-v5/routes.d.ts +18 -0
  133. package/{types/contentTypes.d.ts → dist/server/src/@types-v5/utils.d.ts} +23 -6
  134. package/dist/server/src/bootstrap.d.ts +3 -0
  135. package/dist/server/src/config/index.d.ts +101 -0
  136. package/dist/server/src/const/REGEX.d.ts +19 -0
  137. package/dist/server/src/const/REPORT_REASON.d.ts +5 -0
  138. package/dist/server/src/const/index.d.ts +3 -0
  139. package/dist/server/src/content-types/comments/index.d.ts +98 -0
  140. package/{content-types/comment.d.ts → dist/server/src/content-types/comments/schema.d.ts} +3 -1
  141. package/{content-types → dist/server/src/content-types}/index.d.ts +14 -8
  142. package/dist/server/src/content-types/report/index.d.ts +50 -0
  143. package/{content-types/report.d.ts → dist/server/src/content-types/report/schema.d.ts} +4 -3
  144. package/dist/server/src/controllers/admin.controller.d.ts +964 -0
  145. package/dist/server/src/controllers/client.controller.d.ts +839 -0
  146. package/dist/server/src/controllers/index.d.ts +2641 -0
  147. package/dist/server/src/controllers/settings.controller.d.ts +123 -0
  148. package/dist/server/src/controllers/utils/parsers.d.ts +1 -0
  149. package/dist/server/src/index.d.ts +9448 -0
  150. package/{permissions.d.ts → dist/server/src/permissions.d.ts} +2 -4
  151. package/{server → dist/server/src}/register/custom-fields/comments.d.ts +0 -1
  152. package/dist/server/src/register/custom-fields/index.d.ts +2 -0
  153. package/{server → dist/server/src}/register/index.d.ts +1 -2
  154. package/dist/server/src/repositories/comment.repository.d.ts +13 -0
  155. package/dist/server/src/repositories/index.d.ts +5 -0
  156. package/dist/server/src/repositories/report.comment.repository.d.ts +41 -0
  157. package/dist/server/src/repositories/store.repository.d.ts +106 -0
  158. package/dist/server/src/repositories/utils.d.ts +11 -0
  159. package/dist/server/src/routes/admin.routes.d.ts +3 -0
  160. package/dist/server/src/routes/client.routes.d.ts +3 -0
  161. package/dist/server/src/routes/index.d.ts +11 -0
  162. package/dist/server/src/services/admin/admin.service.d.ts +2570 -0
  163. package/dist/server/src/services/admin/utils.d.ts +72 -0
  164. package/dist/server/src/services/client.service.d.ts +2056 -0
  165. package/dist/server/src/services/common.service.d.ts +523 -0
  166. package/dist/server/src/services/index.d.ts +6606 -0
  167. package/dist/server/src/services/settings.service.d.ts +93 -0
  168. package/dist/server/src/services/utils/functions.d.ts +12 -0
  169. package/dist/server/src/utils/Either.d.ts +16 -0
  170. package/dist/server/src/utils/PluginError.d.ts +11 -0
  171. package/dist/server/src/utils/constants.d.ts +25 -0
  172. package/{server → dist/server/src}/utils/error.d.ts +0 -1
  173. package/dist/server/src/utils/getConfig.d.ts +3 -0
  174. package/dist/server/src/utils/getPluginService.d.ts +3 -0
  175. package/dist/server/src/utils/throwError.d.ts +3 -0
  176. package/dist/server/src/utils/tryCatch.d.ts +1 -0
  177. package/{server → dist/server/src}/utils/types.d.ts +3 -5
  178. package/dist/server/src/validators/api/controllers/admin.controller.validator.d.ts +119 -0
  179. package/dist/server/src/validators/api/controllers/client.controller.validator.d.ts +586 -0
  180. package/dist/server/src/validators/api/controllers/index.d.ts +3 -0
  181. package/dist/server/src/validators/api/controllers/settings.controller.validator.d.ts +18 -0
  182. package/dist/server/src/validators/api/index.d.ts +1 -0
  183. package/dist/server/src/validators/repositories/comment.schema.d.ts +62 -0
  184. package/dist/server/src/validators/repositories/comment.validator.d.ts +2944 -0
  185. package/dist/server/src/validators/repositories/index.d.ts +2 -0
  186. package/dist/server/src/validators/repositories/reports.validator.d.ts +1045 -0
  187. package/dist/server/src/validators/repositories/utils.d.ts +20 -0
  188. package/dist/server/src/validators/utils.d.ts +776 -0
  189. package/dist/style.css +84 -0
  190. package/package.json +81 -18
  191. package/admin/src/components/ActionButton/styles.d.ts +0 -2
  192. package/admin/src/components/ActionButton/styles.js +0 -15
  193. package/admin/src/components/AdminAvatar/index.d.ts +0 -4
  194. package/admin/src/components/AdminAvatar/index.js +0 -17
  195. package/admin/src/components/AdminAvatar/styles.d.ts +0 -3
  196. package/admin/src/components/AdminAvatar/styles.js +0 -25
  197. package/admin/src/components/Avatar/index.d.ts +0 -10
  198. package/admin/src/components/Avatar/index.js +0 -22
  199. package/admin/src/components/CommentReviewModal/index.d.ts +0 -10
  200. package/admin/src/components/CommentReviewModal/index.js +0 -19
  201. package/admin/src/components/ConfirmationDialog/index.d.ts +0 -27
  202. package/admin/src/components/ConfirmationDialog/index.js +0 -37
  203. package/admin/src/components/DiscussionStatus/index.d.ts +0 -9
  204. package/admin/src/components/DiscussionStatus/index.js +0 -24
  205. package/admin/src/components/DiscussionThread/index.d.ts +0 -21
  206. package/admin/src/components/DiscussionThread/index.js +0 -45
  207. package/admin/src/components/DiscussionThreadItem/index.d.ts +0 -3
  208. package/admin/src/components/DiscussionThreadItem/index.js +0 -51
  209. package/admin/src/components/DiscussionThreadItem/styles.d.ts +0 -5
  210. package/admin/src/components/DiscussionThreadItem/styles.js +0 -31
  211. package/admin/src/components/DiscussionThreadItemActions/index.d.ts +0 -22
  212. package/admin/src/components/DiscussionThreadItemActions/index.js +0 -222
  213. package/admin/src/components/DiscussionThreadItemActions/styles.d.ts +0 -2
  214. package/admin/src/components/DiscussionThreadItemActions/styles.js +0 -13
  215. package/admin/src/components/DiscussionThreadItemApprovalFlowActions/index.d.ts +0 -19
  216. package/admin/src/components/DiscussionThreadItemApprovalFlowActions/index.js +0 -67
  217. package/admin/src/components/DiscussionThreadItemApprovalFlowActions/styles.d.ts +0 -2
  218. package/admin/src/components/DiscussionThreadItemApprovalFlowActions/styles.js +0 -12
  219. package/admin/src/components/DiscussionThreadItemFooter/index.d.ts +0 -23
  220. package/admin/src/components/DiscussionThreadItemFooter/index.js +0 -40
  221. package/admin/src/components/DiscussionThreadItemFooter/styles.d.ts +0 -3
  222. package/admin/src/components/DiscussionThreadItemFooter/styles.js +0 -18
  223. package/admin/src/components/DiscussionThreadItemReviewAction/index.d.ts +0 -25
  224. package/admin/src/components/DiscussionThreadItemReviewAction/index.js +0 -174
  225. package/admin/src/components/FormSwitch/index.d.ts +0 -7
  226. package/admin/src/components/FormSwitch/index.js +0 -15
  227. package/admin/src/components/FormSwitch/styles.d.ts +0 -2
  228. package/admin/src/components/FormSwitch/styles.js +0 -14
  229. package/admin/src/components/Hint/index.d.ts +0 -14
  230. package/admin/src/components/Hint/index.js +0 -22
  231. package/admin/src/components/IconButton/styles.d.ts +0 -2
  232. package/admin/src/components/IconButton/styles.js +0 -21
  233. package/admin/src/components/Initializer/index.d.ts +0 -5
  234. package/admin/src/components/Initializer/index.js +0 -14
  235. package/admin/src/components/LoadingIndicatorOverlay/index.d.ts +0 -3
  236. package/admin/src/components/LoadingIndicatorOverlay/index.js +0 -12
  237. package/admin/src/components/LoadingIndicatorOverlay/styles.d.ts +0 -3
  238. package/admin/src/components/LoadingIndicatorOverlay/styles.js +0 -25
  239. package/admin/src/components/ModeratorResponse/index.d.ts +0 -8
  240. package/admin/src/components/ModeratorResponse/index.js +0 -106
  241. package/admin/src/components/ModeratorResponse/styles.d.ts +0 -2
  242. package/admin/src/components/ModeratorResponse/styles.js +0 -12
  243. package/admin/src/components/ModeratorResponseModal/ModeratorResponseModal.d.ts +0 -11
  244. package/admin/src/components/ModeratorResponseModal/ModeratorResponseModal.js +0 -95
  245. package/admin/src/components/Nav/index.d.ts +0 -7
  246. package/admin/src/components/Nav/index.js +0 -23
  247. package/admin/src/components/PluginIcon/index.d.ts +0 -3
  248. package/admin/src/components/PluginIcon/index.js +0 -6
  249. package/admin/src/components/PreviewWysiwyg/Wrapper.d.ts +0 -3
  250. package/admin/src/components/PreviewWysiwyg/Wrapper.js +0 -162
  251. package/admin/src/components/PreviewWysiwyg/index.d.ts +0 -7
  252. package/admin/src/components/PreviewWysiwyg/index.js +0 -39
  253. package/admin/src/components/PreviewWysiwyg/utils/mdRenderer.d.ts +0 -3
  254. package/admin/src/components/PreviewWysiwyg/utils/mdRenderer.js +0 -88
  255. package/admin/src/components/PreviewWysiwyg/utils/satinizeHtml.d.ts +0 -20
  256. package/admin/src/components/PreviewWysiwyg/utils/satinizeHtml.js +0 -18
  257. package/admin/src/components/ReportsActions/components/BlockMenu/index.d.ts +0 -15
  258. package/admin/src/components/ReportsActions/components/BlockMenu/index.js +0 -51
  259. package/admin/src/components/ReportsActions/index.d.ts +0 -11
  260. package/admin/src/components/ReportsActions/index.js +0 -31
  261. package/admin/src/components/ReportsReviewModal/index.d.ts +0 -26
  262. package/admin/src/components/ReportsReviewModal/index.js +0 -33
  263. package/admin/src/components/ReportsReviewTable/index.d.ts +0 -15
  264. package/admin/src/components/ReportsReviewTable/index.js +0 -141
  265. package/admin/src/components/StatusBadge/index.d.ts +0 -7
  266. package/admin/src/components/StatusBadge/index.js +0 -12
  267. package/admin/src/components/StatusBadge/styles.d.ts +0 -2
  268. package/admin/src/components/StatusBadge/styles.js +0 -23
  269. package/admin/src/components/TableFilters/index.d.ts +0 -19
  270. package/admin/src/components/TableFilters/index.js +0 -56
  271. package/admin/src/components/TablePagination/index.d.ts +0 -23
  272. package/admin/src/components/TablePagination/index.js +0 -33
  273. package/admin/src/components/Wysiwyg/Editor.js +0 -439
  274. package/admin/src/components/Wysiwyg/EditorLayout.d.ts +0 -13
  275. package/admin/src/components/Wysiwyg/EditorLayout.js +0 -85
  276. package/admin/src/components/Wysiwyg/Field.d.ts +0 -15
  277. package/admin/src/components/Wysiwyg/Field.js +0 -135
  278. package/admin/src/components/Wysiwyg/PreviewWysiwyg.js +0 -191
  279. package/admin/src/components/Wysiwyg/WysiwygFooter.d.ts +0 -8
  280. package/admin/src/components/Wysiwyg/WysiwygFooter.js +0 -44
  281. package/admin/src/components/Wysiwyg/WysiwygNav.js +0 -114
  282. package/admin/src/components/Wysiwyg/WysiwygStyles.d.ts +0 -7
  283. package/admin/src/components/Wysiwyg/WysiwygStyles.js +0 -54
  284. package/admin/src/components/Wysiwyg/utils/continueList.js +0 -83
  285. package/admin/src/components/Wysiwyg/utils/mdRenderer.js +0 -63
  286. package/admin/src/components/Wysiwyg/utils/utils.js +0 -250
  287. package/admin/src/components/icons/comments.js +0 -12
  288. package/admin/src/components/icons/index.d.ts +0 -3
  289. package/admin/src/components/icons/index.js +0 -29
  290. package/admin/src/components/icons/lock.d.ts +0 -7
  291. package/admin/src/components/icons/lock.js +0 -12
  292. package/admin/src/components/icons/review.d.ts +0 -7
  293. package/admin/src/components/icons/review.js +0 -12
  294. package/admin/src/components/icons/strapiIcons.d.ts +0 -26
  295. package/admin/src/components/icons/strapiIcons.js +0 -38
  296. package/admin/src/components/icons/unlock.d.ts +0 -7
  297. package/admin/src/components/icons/unlock.js +0 -12
  298. package/admin/src/custom-fields/comments/components/icon.d.ts +0 -2
  299. package/admin/src/custom-fields/comments/components/icon.js +0 -14
  300. package/admin/src/custom-fields/comments/components/index.d.ts +0 -3
  301. package/admin/src/custom-fields/comments/components/index.js +0 -19
  302. package/admin/src/custom-fields/comments/components/input/consts.d.ts +0 -3
  303. package/admin/src/custom-fields/comments/components/input/consts.js +0 -9
  304. package/admin/src/custom-fields/comments/components/input/index.d.ts +0 -3
  305. package/admin/src/custom-fields/comments/components/input/index.js +0 -5
  306. package/admin/src/custom-fields/comments/components/input/input.d.ts +0 -4
  307. package/admin/src/custom-fields/comments/components/input/input.js +0 -98
  308. package/admin/src/custom-fields/comments/components/input/types.d.ts +0 -10
  309. package/admin/src/custom-fields/comments/components/input/types.js +0 -3
  310. package/admin/src/custom-fields/comments/components/input/utils.d.ts +0 -26
  311. package/admin/src/custom-fields/comments/components/input/utils.js +0 -141
  312. package/admin/src/custom-fields/comments/index.d.ts +0 -3
  313. package/admin/src/custom-fields/comments/index.js +0 -53
  314. package/admin/src/custom-fields/index.d.ts +0 -3
  315. package/admin/src/custom-fields/index.js +0 -13
  316. package/admin/src/hooks/useConfig.d.ts +0 -8
  317. package/admin/src/hooks/useConfig.js +0 -41
  318. package/admin/src/hooks/useReportsActionsHandlers.d.ts +0 -19
  319. package/admin/src/hooks/useReportsActionsHandlers.js +0 -70
  320. package/admin/src/index.d.ts +0 -15
  321. package/admin/src/index.js +0 -97
  322. package/admin/src/pages/App/index.d.ts +0 -15
  323. package/admin/src/pages/App/index.js +0 -47
  324. package/admin/src/pages/App/reducer/actions.d.ts +0 -8
  325. package/admin/src/pages/App/reducer/actions.js +0 -12
  326. package/admin/src/pages/App/reducer/constants.d.ts +0 -4
  327. package/admin/src/pages/App/reducer/constants.js +0 -7
  328. package/admin/src/pages/App/reducer/index.d.ts +0 -9
  329. package/admin/src/pages/App/reducer/index.js +0 -28
  330. package/admin/src/pages/App/reducer/init.d.ts +0 -3
  331. package/admin/src/pages/App/reducer/init.js +0 -9
  332. package/admin/src/pages/App/reducer/selectors.d.ts +0 -10
  333. package/admin/src/pages/App/reducer/selectors.js +0 -18
  334. package/admin/src/pages/App/utils/api.d.ts +0 -2
  335. package/admin/src/pages/App/utils/api.js +0 -15
  336. package/admin/src/pages/ComingSoonPage/index.d.ts +0 -4
  337. package/admin/src/pages/ComingSoonPage/index.js +0 -43
  338. package/admin/src/pages/Details/components/DetailsEntity/index.d.ts +0 -19
  339. package/admin/src/pages/Details/components/DetailsEntity/index.js +0 -56
  340. package/admin/src/pages/Details/components/DetailsFilters/index.d.ts +0 -13
  341. package/admin/src/pages/Details/components/DetailsFilters/index.js +0 -28
  342. package/admin/src/pages/Details/components/DetailsFilters/styles.d.ts +0 -2
  343. package/admin/src/pages/Details/components/DetailsFilters/styles.js +0 -14
  344. package/admin/src/pages/Details/index.d.ts +0 -11
  345. package/admin/src/pages/Details/index.js +0 -100
  346. package/admin/src/pages/Discover/components/DiscoverTableRow/index.d.ts +0 -25
  347. package/admin/src/pages/Discover/components/DiscoverTableRow/index.js +0 -125
  348. package/admin/src/pages/Discover/components/DiscoverTableRow/styles.d.ts +0 -2
  349. package/admin/src/pages/Discover/components/DiscoverTableRow/styles.js +0 -14
  350. package/admin/src/pages/Discover/index.d.ts +0 -11
  351. package/admin/src/pages/Discover/index.js +0 -132
  352. package/admin/src/pages/Discover/utils/api.d.ts +0 -2
  353. package/admin/src/pages/Discover/utils/api.js +0 -16
  354. package/admin/src/pages/Discover/utils/filtersSchema.d.ts +0 -26
  355. package/admin/src/pages/Discover/utils/filtersSchema.js +0 -39
  356. package/admin/src/pages/NoAccessPage/index.d.ts +0 -3
  357. package/admin/src/pages/NoAccessPage/index.js +0 -31
  358. package/admin/src/pages/Reports/components/ReportsTableRow/index.d.ts +0 -15
  359. package/admin/src/pages/Reports/components/ReportsTableRow/index.js +0 -91
  360. package/admin/src/pages/Reports/components/ReportsTableRow/styles.d.ts +0 -2
  361. package/admin/src/pages/Reports/components/ReportsTableRow/styles.js +0 -14
  362. package/admin/src/pages/Reports/index.d.ts +0 -11
  363. package/admin/src/pages/Reports/index.js +0 -196
  364. package/admin/src/pages/Reports/utils/api.d.ts +0 -2
  365. package/admin/src/pages/Reports/utils/api.js +0 -16
  366. package/admin/src/pages/Reports/utils/filtersSchema.d.ts +0 -26
  367. package/admin/src/pages/Reports/utils/filtersSchema.js +0 -32
  368. package/admin/src/pages/Settings/components/RestartAlert/styles.d.ts +0 -2
  369. package/admin/src/pages/Settings/components/RestartAlert/styles.js +0 -14
  370. package/admin/src/pages/Settings/index.d.ts +0 -3
  371. package/admin/src/pages/Settings/index.js +0 -244
  372. package/admin/src/pages/Settings/utils/api.d.ts +0 -7
  373. package/admin/src/pages/Settings/utils/api.js +0 -65
  374. package/admin/src/pages/utils/api.d.ts +0 -23
  375. package/admin/src/pages/utils/api.js +0 -85
  376. package/admin/src/permissions.js +0 -32
  377. package/admin/src/pluginId.js +0 -29
  378. package/admin/src/reducers.d.ts +0 -7
  379. package/admin/src/reducers.js +0 -12
  380. package/admin/src/translations/index.d.ts +0 -8
  381. package/admin/src/translations/index.js +0 -23
  382. package/admin/src/utils/axiosInstance.d.ts +0 -3
  383. package/admin/src/utils/axiosInstance.js +0 -29
  384. package/admin/src/utils/constants.d.ts +0 -29
  385. package/admin/src/utils/constants.js +0 -28
  386. package/admin/src/utils/errors.js +0 -10
  387. package/admin/src/utils/functions.js +0 -10
  388. package/admin/src/utils/getApiUrl.js +0 -6
  389. package/admin/src/utils/getMessage.d.ts +0 -4
  390. package/admin/src/utils/getMessage.js +0 -20
  391. package/admin/src/utils/getRelatedGroups.js +0 -5
  392. package/admin/src/utils/getUrl.js +0 -6
  393. package/admin/src/utils/handleAPIError.d.ts +0 -4
  394. package/admin/src/utils/handleAPIError.js +0 -17
  395. package/admin/src/utils/index.js +0 -40
  396. package/admin/src/utils/parseRegExp.js +0 -11
  397. package/admin/src/utils/renderEntryTitle.d.ts +0 -4
  398. package/admin/src/utils/renderEntryTitle.js +0 -13
  399. package/admin/src/utils/renderInitials.js +0 -11
  400. package/admin/src/utils/resolveCommentStatus.d.ts +0 -10
  401. package/admin/src/utils/resolveCommentStatus.js +0 -26
  402. package/admin/src/utils/resolveCommentStatusColor.d.ts +0 -4
  403. package/admin/src/utils/resolveCommentStatusColor.js +0 -22
  404. package/admin/src/utils/resolveReportStatus.d.ts +0 -4
  405. package/admin/src/utils/resolveReportStatus.js +0 -23
  406. package/admin/src/utils/resolveReportStatusColor.d.ts +0 -4
  407. package/admin/src/utils/resolveReportStatusColor.js +0 -17
  408. package/content-types/comment.js +0 -96
  409. package/content-types/index.js +0 -23
  410. package/content-types/report.js +0 -49
  411. package/permissions.js +0 -18
  412. package/server/bootstrap.d.ts +0 -4
  413. package/server/bootstrap.js +0 -59
  414. package/server/config/index.d.ts +0 -4
  415. package/server/config/index.js +0 -20
  416. package/server/controllers/admin.d.ts +0 -4
  417. package/server/controllers/admin.js +0 -212
  418. package/server/controllers/client.d.ts +0 -4
  419. package/server/controllers/client.js +0 -143
  420. package/server/controllers/index.d.ts +0 -6
  421. package/server/controllers/index.js +0 -13
  422. package/server/controllers/utils/functions.d.ts +0 -7
  423. package/server/controllers/utils/functions.js +0 -24
  424. package/server/controllers/utils/parsers.d.ts +0 -11
  425. package/server/controllers/utils/parsers.js +0 -72
  426. package/server/destroy.d.ts +0 -3
  427. package/server/destroy.js +0 -4
  428. package/server/graphql/index.d.ts +0 -4
  429. package/server/graphql/index.js +0 -27
  430. package/server/graphql/mutations/createAbuseReport.d.ts +0 -11
  431. package/server/graphql/mutations/createAbuseReport.js +0 -23
  432. package/server/graphql/mutations/createComment.d.ts +0 -14
  433. package/server/graphql/mutations/createComment.js +0 -23
  434. package/server/graphql/mutations/index.d.ts +0 -4
  435. package/server/graphql/mutations/index.js +0 -26
  436. package/server/graphql/mutations/removeComment.d.ts +0 -11
  437. package/server/graphql/mutations/removeComment.js +0 -23
  438. package/server/graphql/mutations/updateComment.d.ts +0 -11
  439. package/server/graphql/mutations/updateComment.js +0 -23
  440. package/server/graphql/queries/findAllFlat.d.ts +0 -19
  441. package/server/graphql/queries/findAllFlat.js +0 -37
  442. package/server/graphql/queries/findAllInHierarchy.d.ts +0 -18
  443. package/server/graphql/queries/findAllInHierarchy.js +0 -33
  444. package/server/graphql/queries/findAllPerAuthor.d.ts +0 -21
  445. package/server/graphql/queries/findAllPerAuthor.js +0 -40
  446. package/server/graphql/queries/index.d.ts +0 -4
  447. package/server/graphql/queries/index.js +0 -24
  448. package/server/graphql/resolvers-config.d.ts +0 -23
  449. package/server/graphql/resolvers-config.js +0 -13
  450. package/server/graphql/types/comment-author-type.d.ts +0 -4
  451. package/server/graphql/types/comment-author-type.js +0 -8
  452. package/server/graphql/types/comment-author.d.ts +0 -4
  453. package/server/graphql/types/comment-author.js +0 -11
  454. package/server/graphql/types/comment-nested.d.ts +0 -4
  455. package/server/graphql/types/comment-nested.js +0 -18
  456. package/server/graphql/types/comment.d.ts +0 -4
  457. package/server/graphql/types/comment.js +0 -17
  458. package/server/graphql/types/create-comment-author.d.ts +0 -4
  459. package/server/graphql/types/create-comment-author.js +0 -11
  460. package/server/graphql/types/create-comment.d.ts +0 -4
  461. package/server/graphql/types/create-comment.js +0 -11
  462. package/server/graphql/types/create-report.d.ts +0 -4
  463. package/server/graphql/types/create-report.js +0 -11
  464. package/server/graphql/types/id.d.ts +0 -4
  465. package/server/graphql/types/id.js +0 -25
  466. package/server/graphql/types/identify-comment-author.d.ts +0 -4
  467. package/server/graphql/types/identify-comment-author.js +0 -8
  468. package/server/graphql/types/index.d.ts +0 -4
  469. package/server/graphql/types/index.js +0 -42
  470. package/server/graphql/types/remove-comment.d.ts +0 -4
  471. package/server/graphql/types/remove-comment.js +0 -10
  472. package/server/graphql/types/report-reason.d.ts +0 -4
  473. package/server/graphql/types/report-reason.js +0 -12
  474. package/server/graphql/types/report.d.ts +0 -4
  475. package/server/graphql/types/report.js +0 -13
  476. package/server/graphql/types/response-find-all-per-author.d.ts +0 -4
  477. package/server/graphql/types/response-find-all-per-author.js +0 -9
  478. package/server/graphql/types/response-find-all.d.ts +0 -4
  479. package/server/graphql/types/response-find-all.js +0 -9
  480. package/server/graphql/types/response-meta.d.ts +0 -4
  481. package/server/graphql/types/response-meta.js +0 -8
  482. package/server/graphql/types/response-pagination.d.ts +0 -4
  483. package/server/graphql/types/response-pagination.js +0 -13
  484. package/server/graphql/types/update-comment.d.ts +0 -4
  485. package/server/graphql/types/update-comment.js +0 -11
  486. package/server/index.d.ts +0 -26
  487. package/server/index.js +0 -25
  488. package/server/register/custom-fields/comments.js +0 -9
  489. package/server/register/custom-fields/index.d.ts +0 -3
  490. package/server/register/custom-fields/index.js +0 -14
  491. package/server/register/index.js +0 -8
  492. package/server/routes/admin.d.ts +0 -4
  493. package/server/routes/admin.js +0 -182
  494. package/server/routes/client.d.ts +0 -4
  495. package/server/routes/client.js +0 -118
  496. package/server/routes/index.d.ts +0 -11
  497. package/server/routes/index.js +0 -19
  498. package/server/services/admin.d.ts +0 -5
  499. package/server/services/admin.js +0 -506
  500. package/server/services/client.d.ts +0 -5
  501. package/server/services/client.js +0 -321
  502. package/server/services/common.d.ts +0 -5
  503. package/server/services/common.js +0 -296
  504. package/server/services/graphql.d.ts +0 -5
  505. package/server/services/graphql.js +0 -150
  506. package/server/services/index.d.ts +0 -8
  507. package/server/services/index.js +0 -16
  508. package/server/services/utils/functions.d.ts +0 -14
  509. package/server/services/utils/functions.js +0 -118
  510. package/server/services/utils/parsers.d.ts +0 -6
  511. package/server/services/utils/parsers.js +0 -63
  512. package/server/utils/constants.d.ts +0 -15
  513. package/server/utils/constants.js +0 -47
  514. package/server/utils/error.js +0 -29
  515. package/server/utils/functions.d.ts +0 -10
  516. package/server/utils/functions.js +0 -53
  517. package/server/utils/types.js +0 -3
  518. package/strapi-admin.d.ts +0 -3
  519. package/strapi-admin.js +0 -8
  520. package/strapi-server.d.ts +0 -186
  521. package/strapi-server.js +0 -46
  522. package/tsconfig.tsbuildinfo +0 -1
  523. package/types/contentTypes.js +0 -3
  524. package/types/utils.d.ts +0 -5
  525. package/types/utils.js +0 -9
@@ -1,321 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- const functions_1 = require("./../utils/functions");
6
- const lodash_1 = require("lodash");
7
- const error_1 = __importDefault(require("./../utils/error"));
8
- const functions_2 = require("./utils/functions");
9
- const constants_1 = require("./../utils/constants");
10
- module.exports = ({ strapi }) => ({
11
- getCommonService() {
12
- return (0, functions_1.getPluginService)("common");
13
- },
14
- async create(relation, data, user) {
15
- const { content, threadOf } = data;
16
- const singleRelationFulfilled = relation && constants_1.REGEX.relatedUid.test(relation);
17
- if (!singleRelationFulfilled) {
18
- throw new error_1.default(400, `Field "related" got incorrect format, use format like "api::<collection name>.<content type name>:<entity id>"`);
19
- }
20
- const [uid, relatedId] = await this.getCommonService().parseRelationString(relation);
21
- const enabledCollections = await this.getCommonService().getConfig(constants_1.CONFIG_PARAMS.ENABLED_COLLECTIONS, []);
22
- const isEnabledCollection = await this.getCommonService().isEnabledCollection(uid);
23
- if (enabledCollections.length > 0 && !isEnabledCollection) {
24
- throw new error_1.default(400, `Field "related" refer to not enabled collection. Please amend the plugin settings and try again`);
25
- }
26
- const relatedEntity = await strapi.db
27
- .query(uid)
28
- .findOne({ where: { id: relatedId } });
29
- if (!relatedEntity) {
30
- throw new error_1.default(400, `Relation for field "related" does not exist. Check your payload please.`);
31
- }
32
- const approvalFlow = await this.getCommonService().getConfig(constants_1.CONFIG_PARAMS.APPROVAL_FLOW, []);
33
- const isApprovalFlowEnabled = approvalFlow.includes(uid) || relatedEntity.requireCommentsApproval;
34
- const doNotPopulateAuthor = await this.getCommonService().getConfig(constants_1.CONFIG_PARAMS.AUTHOR_BLOCKED_PROPS, []);
35
- let linkToThread;
36
- try {
37
- linkToThread = !(0, lodash_1.isNil)(threadOf)
38
- ? await this.getCommonService().findOne({
39
- id: threadOf,
40
- related: relation,
41
- })
42
- : null;
43
- }
44
- catch (e) {
45
- throw new error_1.default(400, "Thread does not exist");
46
- }
47
- const validContext = this.getCommonService().isValidUserContext(user);
48
- if (!validContext) {
49
- throw (0, functions_2.resolveUserContextError)(user);
50
- }
51
- if ((await this.getCommonService().checkBadWords(content)) &&
52
- singleRelationFulfilled) {
53
- const { author, ...rest } = data;
54
- let authorData = {};
55
- if (validContext && user) {
56
- authorData = {
57
- authorUser: user?.id,
58
- };
59
- }
60
- else if (author) {
61
- if (author.email && !constants_1.REGEX.email.test(author.email)) {
62
- throw new error_1.default(400, 'Field: "author.email". Author e-mail is not valid value. Check your payload');
63
- }
64
- authorData = {
65
- authorId: author.id,
66
- authorName: author.name,
67
- authorEmail: author.email,
68
- authorAvatar: (0, lodash_1.isString)(author.avatar) ? author.avatar : undefined,
69
- };
70
- }
71
- const authorNotProperlyProvided = !(0, lodash_1.isEmpty)(authorData) && !(authorData.authorId || authorData.authorUser);
72
- if ((0, lodash_1.isEmpty)(authorData) || authorNotProperlyProvided) {
73
- throw new error_1.default(400, `Not able to recognise author of a comment. Make sure you've provided "author" property in a payload or authenticated your request properly.`);
74
- }
75
- if (isApprovalFlowEnabled &&
76
- !(0, lodash_1.isNil)(data.approvalStatus) &&
77
- data.approvalStatus !== constants_1.APPROVAL_STATUS.PENDING) {
78
- throw new error_1.default(400, "Invalid approval status");
79
- }
80
- const entity = await strapi.db
81
- .query((0, functions_2.getModelUid)("comment"))
82
- .create({
83
- data: {
84
- ...rest,
85
- ...authorData,
86
- related: relation,
87
- approvalStatus: isApprovalFlowEnabled
88
- ? constants_1.APPROVAL_STATUS.PENDING
89
- : null,
90
- },
91
- populate: {
92
- authorUser: true,
93
- },
94
- });
95
- const sanitizedEntity = this.getCommonService().sanitizeCommentEntity({
96
- ...entity,
97
- threadOf: linkToThread,
98
- }, doNotPopulateAuthor);
99
- try {
100
- await this.sendResponseNotification(sanitizedEntity);
101
- }
102
- catch (e) {
103
- console.error(e);
104
- }
105
- return sanitizedEntity;
106
- }
107
- throw new error_1.default(400, "No content received");
108
- },
109
- async update(id, relation, data, user) {
110
- const { content } = data;
111
- const singleRelationFulfilled = relation && constants_1.REGEX.relatedUid.test(relation);
112
- if (!singleRelationFulfilled) {
113
- throw new error_1.default(400, `Request property "relation" got incorrect format, use format like "api::<collection name>.<content type name>:<entity id>"`);
114
- }
115
- await this.getCommonService().parseRelationString(relation);
116
- const existingEntity = await this.getCommonService().findOne({
117
- id,
118
- related: relation,
119
- });
120
- const validContext = this.getCommonService().isValidUserContext(user);
121
- if (!validContext) {
122
- throw (0, functions_2.resolveUserContextError)(user);
123
- }
124
- if ((0, functions_2.isEqualEntity)(existingEntity, data, user) && content) {
125
- if (await this.getCommonService().checkBadWords(content)) {
126
- const blockedAuthorProps = await this.getCommonService().getConfig(constants_1.CONFIG_PARAMS.AUTHOR_BLOCKED_PROPS, []);
127
- const entity = await strapi.db
128
- .query((0, functions_2.getModelUid)("comment"))
129
- .update({
130
- where: { id },
131
- data: { content },
132
- populate: { threadOf: true, authorUser: true },
133
- });
134
- return this.getCommonService().sanitizeCommentEntity(entity, blockedAuthorProps);
135
- }
136
- }
137
- throw new error_1.default(403, `You're not allowed to take an action on that entity. Make sure you've provided "author" property in a payload or authenticated your request properly.`);
138
- },
139
- async reportAbuse(id, relation, payload, user) {
140
- if (!this.getCommonService().isValidUserContext(user)) {
141
- throw (0, functions_2.resolveUserContextError)(user);
142
- }
143
- await this.getCommonService().parseRelationString(relation);
144
- try {
145
- const reportAgainstEntity = await this.getCommonService().findOne({
146
- id,
147
- related: relation,
148
- });
149
- if (reportAgainstEntity.isAdminComment) {
150
- throw new error_1.default(403, `You're not allowed to take an action on that entity. This in a admin comment.`);
151
- }
152
- if (reportAgainstEntity) {
153
- const entity = await strapi.db
154
- .query((0, functions_2.getModelUid)("comment-report"))
155
- .create({
156
- data: {
157
- ...payload,
158
- resolved: false,
159
- related: id,
160
- },
161
- });
162
- if (entity) {
163
- const response = {
164
- ...entity,
165
- related: reportAgainstEntity,
166
- };
167
- try {
168
- await this.sendAbuseReportEmail(entity.reason, entity.content);
169
- return response;
170
- }
171
- catch (err) {
172
- return response;
173
- }
174
- }
175
- else {
176
- throw new error_1.default(500, "Report cannot be created");
177
- }
178
- }
179
- throw new error_1.default(403, `You're not allowed to take an action on that entity. Make sure that comment exist or you've authenticated your request properly.`);
180
- }
181
- catch (e) {
182
- throw e;
183
- }
184
- },
185
- async markAsRemoved(id, relation, authorId, user) {
186
- if (!this.getCommonService().isValidUserContext(user)) {
187
- throw (0, functions_2.resolveUserContextError)(user);
188
- }
189
- const author = user?.id || authorId;
190
- if (!author) {
191
- throw new error_1.default(403, `You're not allowed to take an action on that entity. Make sure that you've provided proper "authorId" or authenticated your request properly.`);
192
- }
193
- await this.getCommonService().parseRelationString(relation);
194
- try {
195
- const byAuthor = user?.id
196
- ? {
197
- authorUser: author,
198
- }
199
- : {
200
- authorId: author,
201
- };
202
- const entity = await this.getCommonService().findOne({
203
- id,
204
- related: relation,
205
- ...byAuthor,
206
- });
207
- if (entity) {
208
- const removedEntity = await strapi.db
209
- .query((0, functions_2.getModelUid)("comment"))
210
- .update({
211
- where: {
212
- id,
213
- related: relation,
214
- },
215
- data: { removed: true },
216
- populate: { threadOf: true, authorUser: true },
217
- });
218
- await this.markAsRemovedNested(id, true);
219
- const doNotPopulateAuthor = await this.getCommonService().getConfig(constants_1.CONFIG_PARAMS.AUTHOR_BLOCKED_PROPS, []);
220
- return this.getCommonService().sanitizeCommentEntity(removedEntity, doNotPopulateAuthor);
221
- }
222
- else {
223
- throw new error_1.default(404, `Entity does not exist or you're not allowed to take an action on it`);
224
- }
225
- }
226
- catch (e) {
227
- throw new error_1.default(404, `Entity does not exist or you're not allowed to take an action on it`);
228
- }
229
- },
230
- async sendAbuseReportEmail(reason, content) {
231
- const rolesToBeNotified = (await this.getCommonService().getConfig(constants_1.CONFIG_PARAMS.MODERATOR_ROLES)) || ["strapi-super-admin"];
232
- const adminUserModel = strapi.db.query("admin::user");
233
- const emails = await adminUserModel
234
- .findMany({
235
- where: {
236
- roles: { code: rolesToBeNotified },
237
- },
238
- })
239
- .then((items) => items.map((_) => _.email));
240
- const superAdmin = await strapi.db
241
- .query("admin::user")
242
- .findOne({
243
- where: {
244
- roles: { code: "strapi-super-admin" },
245
- },
246
- });
247
- if (emails.length > 0) {
248
- try {
249
- await strapi
250
- .plugin("email")
251
- .service("email")
252
- .send({
253
- to: emails,
254
- from: superAdmin.email,
255
- subject: "New abuse report on comment",
256
- text: `
257
- There was a new abuse report on your app.
258
- Reason: ${reason}
259
- Message: ${content}
260
- `,
261
- });
262
- }
263
- catch (err) {
264
- strapi.log.error(err);
265
- throw err;
266
- }
267
- }
268
- },
269
- async markAsRemovedNested(id, status) {
270
- return this.getCommonService().modifiedNestedNestedComments(id, "removed", status);
271
- },
272
- async sendResponseNotification(entity) {
273
- if (entity.threadOf) {
274
- const thread = (0, lodash_1.isObject)(entity.threadOf) ? entity.threadOf : await this.getCommonService().findOne({ id: entity.threadOf });
275
- let emailRecipient = thread?.author?.email;
276
- if (thread.authorUser && !emailRecipient) {
277
- const strapiUser = (0, lodash_1.isObject)(thread.authorUser) ? thread.authorUser : await strapi.db.query("api::user").findOne({
278
- where: { id: thread.authorUser }
279
- });
280
- emailRecipient = strapiUser?.email;
281
- }
282
- if (emailRecipient) {
283
- const superAdmin = await strapi.db
284
- .query("admin::user")
285
- .findOne({
286
- where: {
287
- roles: { code: "strapi-super-admin" },
288
- },
289
- });
290
- const emailSender = await this.getCommonService().getConfig('client.contactEmail', superAdmin.email);
291
- const clientAppUrl = await this.getCommonService().getConfig('client.url', 'our site');
292
- try {
293
- await strapi
294
- .plugin("email")
295
- .service("email")
296
- .send({
297
- to: [emailRecipient],
298
- from: emailSender,
299
- subject: "You've got a new response to your comment",
300
- text: `Hello ${thread?.author?.name || emailRecipient}!
301
- You've got a new response to your comment by ${entity?.author?.name || entity?.author?.email}.
302
-
303
- ------
304
-
305
- "${entity.content}"
306
-
307
- ------
308
-
309
- Visit ${clientAppUrl} and continue the discussion.
310
- `,
311
- });
312
- }
313
- catch (err) {
314
- strapi.log.error(err);
315
- throw err;
316
- }
317
- }
318
- }
319
- },
320
- });
321
- //# sourceMappingURL=client.js.map
@@ -1,5 +0,0 @@
1
- import { StrapiContext } from "strapi-typed";
2
- import { IServiceCommon } from "../../types";
3
- declare const _default: ({ strapi }: StrapiContext) => IServiceCommon;
4
- export = _default;
5
- //# sourceMappingURL=common.d.ts.map
@@ -1,296 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- const no_profanity_1 = require("no-profanity");
6
- const lodash_1 = require("lodash");
7
- const constants_1 = require("../utils/constants");
8
- const error_1 = __importDefault(require("./../utils/error"));
9
- const functions_1 = require("./utils/functions");
10
- const parsers_1 = require("./utils/parsers");
11
- const PAGE_SIZE = 10;
12
- const REQUIRED_FIELDS = ["id"];
13
- const lifecycleHookListeners = {
14
- comment: {},
15
- "comment-report": {}
16
- };
17
- module.exports = ({ strapi }) => ({
18
- async getConfig(prop, defaultValue, useLocal = false) {
19
- const queryProp = (0, functions_1.buildConfigQueryProp)(prop);
20
- const pluginStore = await this.getPluginStore();
21
- const config = await pluginStore.get({
22
- key: "config",
23
- });
24
- let result;
25
- if (config && !useLocal) {
26
- result = queryProp ? (0, lodash_1.get)(config, queryProp, defaultValue) : config;
27
- }
28
- else {
29
- result = this.getLocalConfig(queryProp, defaultValue);
30
- }
31
- return (0, lodash_1.isNil)(result) ? defaultValue : result;
32
- },
33
- async getPluginStore() {
34
- return strapi.store({ type: "plugin", name: "comments" });
35
- },
36
- getLocalConfig(prop, defaultValue) {
37
- const queryProp = (0, functions_1.buildConfigQueryProp)(prop);
38
- const result = strapi.config.get(`plugin.comments${queryProp ? "." + queryProp : ""}`);
39
- return (0, lodash_1.isNil)(result) ? defaultValue : result;
40
- },
41
- async findAllFlat({ query = {}, populate = {}, sort, pagination, fields, isAdmin = false, omit: baseOmit = [], }, relatedEntity = null) {
42
- const omit = baseOmit.filter((field) => !REQUIRED_FIELDS.includes(field));
43
- const defaultSelect = ["id", "related"].filter((field) => !omit.includes(field));
44
- const populateClause = {
45
- authorUser: true,
46
- ...((0, lodash_1.isObject)(populate) ? populate : {}),
47
- };
48
- const doNotPopulateAuthor = isAdmin
49
- ? []
50
- : await this.getConfig(constants_1.CONFIG_PARAMS.AUTHOR_BLOCKED_PROPS, []);
51
- const sortQuery = (0, parsers_1.parseSortQuery)(sort);
52
- const fieldsQuery = (0, parsers_1.parseFieldsQuery)(fields, sortQuery, defaultSelect);
53
- let [meta, queryExtension = {}] = (0, parsers_1.parsePaginationsQuery)(pagination, fieldsQuery, { PAGE_SIZE });
54
- const entries = await strapi.db
55
- .query((0, functions_1.getModelUid)("comment"))
56
- .findMany({
57
- where: {
58
- ...query,
59
- },
60
- populate: {
61
- ...populateClause,
62
- },
63
- ...queryExtension,
64
- });
65
- if (pagination?.withCount &&
66
- (pagination.withCount === "true" || pagination.withCount === true)) {
67
- const total = await strapi.db
68
- .query((0, functions_1.getModelUid)("comment"))
69
- .count({
70
- where: {
71
- ...query,
72
- },
73
- });
74
- const pageSize = meta.pagination.pageSize || PAGE_SIZE;
75
- const pageCount = Math.floor(total / pageSize);
76
- meta = {
77
- ...meta,
78
- pagination: {
79
- ...meta.pagination,
80
- pageCount: !(0, lodash_1.isNil)(meta.pagination.page)
81
- ? total % pageSize === 0
82
- ? pageCount
83
- : pageCount + 1
84
- : undefined,
85
- total,
86
- },
87
- };
88
- }
89
- const entriesWithThreads = await Promise.all(entries.map(async (_) => {
90
- const [nestedEntries, count] = await strapi.db
91
- .query((0, functions_1.getModelUid)("comment"))
92
- .findWithCount({
93
- where: {
94
- threadOf: _.id,
95
- },
96
- });
97
- return {
98
- id: _.id,
99
- itemsInTread: count,
100
- firstThreadItemId: (0, lodash_1.first)(nestedEntries)?.id,
101
- };
102
- }));
103
- const relatedEntities = omit.includes("related")
104
- ? []
105
- : relatedEntity !== null
106
- ? [relatedEntity]
107
- : await this.findRelatedEntitiesFor([...entries]);
108
- const hasRelatedEntitiesToMap = relatedEntities.filter((_) => _).length > 0;
109
- const result = entries.map((_) => {
110
- const threadedItem = entriesWithThreads.find((item) => item.id === _.id);
111
- const parsedThreadOf = (0, lodash_1.isString)(query.threadOf)
112
- ? (0, lodash_1.parseInt)(query.threadOf)
113
- : query.threadOf;
114
- let authorUserPopulate = {};
115
- if ((0, lodash_1.isObject)(populateClause?.authorUser)) {
116
- authorUserPopulate =
117
- "populate" in populateClause.authorUser
118
- ? populateClause.authorUser.populate
119
- : populateClause.authorUser;
120
- }
121
- const primitiveThreadOf = (0, lodash_1.isString)(parsedThreadOf) || (0, lodash_1.isNumber)(parsedThreadOf) ?
122
- parsedThreadOf :
123
- null;
124
- return this.sanitizeCommentEntity({
125
- ..._,
126
- threadOf: primitiveThreadOf || _.threadOf,
127
- gotThread: (threadedItem?.itemsInTread || 0) > 0,
128
- threadFirstItemId: threadedItem?.firstThreadItemId,
129
- }, doNotPopulateAuthor, omit, authorUserPopulate);
130
- });
131
- return {
132
- data: hasRelatedEntitiesToMap
133
- ? result.map((_) => this.mergeRelatedEntityTo(_, relatedEntities))
134
- : result,
135
- ...((0, lodash_1.isEmpty)(meta) ? {} : { meta }),
136
- };
137
- },
138
- async findAllInHierarchy({ query, populate = {}, sort, fields, startingFromId = null, dropBlockedThreads = false, isAdmin = false, omit = [], }, relatedEntity) {
139
- const entities = await this.findAllFlat({ query, populate, sort, fields, isAdmin, omit }, relatedEntity);
140
- return (0, functions_1.buildNestedStructure)(entities?.data, startingFromId, "threadOf", dropBlockedThreads, false);
141
- },
142
- async findOne(criteria) {
143
- const entity = await strapi.db
144
- .query((0, functions_1.getModelUid)("comment"))
145
- .findOne({
146
- where: criteria,
147
- populate: {
148
- reports: true,
149
- authorUser: true,
150
- },
151
- });
152
- if (!entity) {
153
- throw new error_1.default(404, "Comment does not exist. Check your payload please.");
154
- }
155
- const doNotPopulateAuthor = await this.getConfig(constants_1.CONFIG_PARAMS.AUTHOR_BLOCKED_PROPS, []);
156
- return (0, functions_1.filterOurResolvedReports)(this.sanitizeCommentEntity(entity, doNotPopulateAuthor));
157
- },
158
- async findAllPerAuthor({ query = {}, populate = {}, pagination, sort, fields, isAdmin = false, }, authorId, isStrapiAuthor = false) {
159
- if ((0, lodash_1.isNil)(authorId)) {
160
- return {
161
- data: [],
162
- };
163
- }
164
- const { related, ...restQuery } = query;
165
- const authorQuery = isStrapiAuthor ? {
166
- authorUser: {
167
- id: authorId
168
- },
169
- } : {
170
- authorId,
171
- };
172
- const response = await this.findAllFlat({
173
- query: {
174
- ...restQuery,
175
- ...authorQuery,
176
- },
177
- pagination, populate, sort, fields, isAdmin
178
- });
179
- return {
180
- ...response,
181
- data: response.data.map(({ author, ...rest }) => rest),
182
- };
183
- },
184
- async findRelatedEntitiesFor(entities = []) {
185
- const data = entities.reduce((acc, curr) => {
186
- const [relatedUid, relatedStringId] = (0, functions_1.getRelatedGroups)(curr.related);
187
- const parsedRelatedId = (0, lodash_1.parseInt)(relatedStringId);
188
- const relatedId = (0, lodash_1.isNumber)(parsedRelatedId)
189
- ? parsedRelatedId
190
- : relatedStringId;
191
- return {
192
- ...acc,
193
- [relatedUid]: [...(acc[relatedUid] || []), relatedId],
194
- };
195
- }, {});
196
- return Promise.all(Object.entries(data).map(async ([relatedUid, relatedStringIds]) => strapi.db
197
- .query(relatedUid)
198
- .findMany({
199
- where: { id: Array.from(new Set(relatedStringIds)) },
200
- })
201
- .then((relatedEntities) => relatedEntities.map((_) => ({
202
- ..._,
203
- uid: relatedUid,
204
- }))))).then((result) => result.flat(2));
205
- },
206
- mergeRelatedEntityTo(entity, relatedEntities = []) {
207
- return {
208
- ...entity,
209
- related: relatedEntities.find((relatedEntity) => entity.related === `${relatedEntity.uid}:${relatedEntity.id}`),
210
- };
211
- },
212
- async modifiedNestedNestedComments(id, fieldName, value) {
213
- try {
214
- const entitiesToChange = await strapi.db
215
- .query((0, functions_1.getModelUid)("comment"))
216
- .findMany({
217
- where: { threadOf: id },
218
- });
219
- const changedEntities = await strapi.db
220
- .query((0, functions_1.getModelUid)("comment"))
221
- .updateMany({
222
- where: { id: entitiesToChange.map((_) => _.id) },
223
- data: { [fieldName]: value },
224
- });
225
- if (entitiesToChange.length === changedEntities.count &&
226
- changedEntities.count > 0) {
227
- const nestedTransactions = await Promise.all(entitiesToChange.map((item) => this.modifiedNestedNestedComments(item.id, fieldName, value)));
228
- return nestedTransactions.length === changedEntities.count;
229
- }
230
- return true;
231
- }
232
- catch (e) {
233
- return false;
234
- }
235
- },
236
- sanitizeCommentEntity(entity, blockedAuthorProps, omit = [], populate) {
237
- const fieldsToPopulate = (0, lodash_1.isArray)(populate)
238
- ? populate
239
- : Object.keys(populate || {});
240
- return (0, lodash_1.omit)({
241
- ...(0, functions_1.buildAuthorModel)({
242
- ...entity,
243
- threadOf: (0, lodash_1.isObject)(entity.threadOf)
244
- ? (0, functions_1.buildAuthorModel)(entity.threadOf, blockedAuthorProps, fieldsToPopulate)
245
- : entity.threadOf,
246
- }, blockedAuthorProps, fieldsToPopulate),
247
- }, omit);
248
- },
249
- isValidUserContext(user) {
250
- return user ? !(0, lodash_1.isNil)(user?.id) : true;
251
- },
252
- async parseRelationString(relation) {
253
- const [uid, relatedStringId] = (0, functions_1.getRelatedGroups)(relation);
254
- const parsedRelatedId = (0, lodash_1.parseInt)(relatedStringId);
255
- const relatedId = (0, lodash_1.isNumber)(parsedRelatedId)
256
- ? parsedRelatedId
257
- : relatedStringId;
258
- const isEnabledCollection = await this.isEnabledCollection(uid);
259
- const enabledCollections = await this.getConfig(constants_1.CONFIG_PARAMS.ENABLED_COLLECTIONS, []);
260
- if (enabledCollections.length > 0 && !isEnabledCollection) {
261
- throw new error_1.default(403, `Action not allowed for collection '${uid}'. Use one of: ${enabledCollections.join(", ")}`);
262
- }
263
- return [uid, relatedId];
264
- },
265
- async checkBadWords(content) {
266
- const config = await this.getConfig(constants_1.CONFIG_PARAMS.BAD_WORDS, true);
267
- if (config) {
268
- if (content && (0, no_profanity_1.isProfane)({ testString: content })) {
269
- throw new error_1.default(400, "Bad language used! Please polite your comment...", {
270
- content: {
271
- original: content,
272
- filtered: content && (0, no_profanity_1.replaceProfanities)({ testString: content }),
273
- },
274
- });
275
- }
276
- }
277
- return content;
278
- },
279
- async isEnabledCollection(uid) {
280
- const enabledCollections = await this.getConfig("enabledCollections", []);
281
- return enabledCollections.includes(uid);
282
- },
283
- registerLifecycleHook({ callback, contentTypeName, hookName }) {
284
- if (!lifecycleHookListeners[contentTypeName][hookName]) {
285
- lifecycleHookListeners[contentTypeName][hookName] = [];
286
- }
287
- lifecycleHookListeners[contentTypeName][hookName]?.push(callback);
288
- },
289
- async runLifecycleHook({ contentTypeName, event, hookName }) {
290
- const hookListeners = lifecycleHookListeners[contentTypeName][hookName] ?? [];
291
- for (const listener of hookListeners) {
292
- await listener(event);
293
- }
294
- },
295
- });
296
- //# sourceMappingURL=common.js.map
@@ -1,5 +0,0 @@
1
- import { StrapiContext } from "strapi-typed";
2
- import { IServiceGraphQL } from "../../types";
3
- declare const _default: ({ strapi }: StrapiContext) => IServiceGraphQL;
4
- export = _default;
5
- //# sourceMappingURL=graphql.d.ts.map