@rakun-kit/core 1.3.11 → 1.4.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 (786) hide show
  1. package/README.md +130 -4
  2. package/dist/cjs/api/hooks/context.js +16 -0
  3. package/dist/cjs/api/hooks/context.js.map +1 -0
  4. package/dist/cjs/api/hooks/runContentHooks.js +173 -0
  5. package/dist/cjs/api/hooks/runContentHooks.js.map +1 -0
  6. package/dist/cjs/api/operations/manager-contract.js +87 -0
  7. package/dist/cjs/api/operations/manager-contract.js.map +1 -1
  8. package/dist/cjs/api/operations/manager-manifest.js +291 -0
  9. package/dist/cjs/api/operations/manager-manifest.js.map +1 -0
  10. package/dist/cjs/api/operations/manager.js +47 -3
  11. package/dist/cjs/api/operations/manager.js.map +1 -1
  12. package/dist/cjs/api/routes/manager/apiOperations.js +1 -1
  13. package/dist/cjs/api/routes/manager/apiOperations.js.map +1 -1
  14. package/dist/cjs/api/routes/manager/auth/login.js +19 -3
  15. package/dist/cjs/api/routes/manager/auth/login.js.map +1 -1
  16. package/dist/cjs/api/routes/manager/auth/markTourSeen.js +3 -1
  17. package/dist/cjs/api/routes/manager/auth/markTourSeen.js.map +1 -1
  18. package/dist/cjs/api/routes/manager/auth/totp/verifyTotp.js +11 -1
  19. package/dist/cjs/api/routes/manager/auth/totp/verifyTotp.js.map +1 -1
  20. package/dist/cjs/api/routes/manager/auth/updateAccount.js +6 -1
  21. package/dist/cjs/api/routes/manager/auth/updateAccount.js.map +1 -1
  22. package/dist/cjs/api/routes/manager/auth/updatePassword.js +13 -3
  23. package/dist/cjs/api/routes/manager/auth/updatePassword.js.map +1 -1
  24. package/dist/cjs/api/routes/manager/auth/updateTutorialPreferences.js +3 -1
  25. package/dist/cjs/api/routes/manager/auth/updateTutorialPreferences.js.map +1 -1
  26. package/dist/cjs/api/routes/manager/auth/webauthn/webauthnAuthVerify.js +11 -1
  27. package/dist/cjs/api/routes/manager/auth/webauthn/webauthnAuthVerify.js.map +1 -1
  28. package/dist/cjs/api/routes/manager/backups/create.js +1 -1
  29. package/dist/cjs/api/routes/manager/backups/create.js.map +1 -1
  30. package/dist/cjs/api/routes/manager/backups/list.js +1 -1
  31. package/dist/cjs/api/routes/manager/backups/list.js.map +1 -1
  32. package/dist/cjs/api/routes/manager/backups/restore.js +1 -1
  33. package/dist/cjs/api/routes/manager/backups/restore.js.map +1 -1
  34. package/dist/cjs/api/routes/manager/comments.js +209 -0
  35. package/dist/cjs/api/routes/manager/comments.js.map +1 -0
  36. package/dist/cjs/api/routes/manager/contentType.js +19 -0
  37. package/dist/cjs/api/routes/manager/contentType.js.map +1 -0
  38. package/dist/cjs/api/routes/manager/create.js +10 -11
  39. package/dist/cjs/api/routes/manager/create.js.map +1 -1
  40. package/dist/cjs/api/routes/manager/delete.js +10 -3
  41. package/dist/cjs/api/routes/manager/delete.js.map +1 -1
  42. package/dist/cjs/api/routes/manager/favorites.js +137 -0
  43. package/dist/cjs/api/routes/manager/favorites.js.map +1 -0
  44. package/dist/cjs/api/routes/manager/get.js +3 -2
  45. package/dist/cjs/api/routes/manager/get.js.map +1 -1
  46. package/dist/cjs/api/routes/manager/list.js +23 -8
  47. package/dist/cjs/api/routes/manager/list.js.map +1 -1
  48. package/dist/cjs/api/routes/manager/literals/list.js +1 -1
  49. package/dist/cjs/api/routes/manager/literals/list.js.map +1 -1
  50. package/dist/cjs/api/routes/manager/literals/upsert.js +1 -1
  51. package/dist/cjs/api/routes/manager/literals/upsert.js.map +1 -1
  52. package/dist/cjs/api/routes/manager/localeVariants.js +300 -0
  53. package/dist/cjs/api/routes/manager/localeVariants.js.map +1 -0
  54. package/dist/cjs/api/routes/manager/media/finalizeUpload.js +24 -1
  55. package/dist/cjs/api/routes/manager/media/finalizeUpload.js.map +1 -1
  56. package/dist/cjs/api/routes/manager/media/getMediaUrl.js +33 -1
  57. package/dist/cjs/api/routes/manager/media/getMediaUrl.js.map +1 -1
  58. package/dist/cjs/api/routes/manager/media/prepareUpload.js +12 -1
  59. package/dist/cjs/api/routes/manager/media/prepareUpload.js.map +1 -1
  60. package/dist/cjs/api/routes/manager/media/uploadBinary.js +70 -4
  61. package/dist/cjs/api/routes/manager/media/uploadBinary.js.map +1 -1
  62. package/dist/cjs/api/routes/manager/migrations/list.js +1 -1
  63. package/dist/cjs/api/routes/manager/migrations/list.js.map +1 -1
  64. package/dist/cjs/api/routes/manager/permissions.js +1 -1
  65. package/dist/cjs/api/routes/manager/permissions.js.map +1 -1
  66. package/dist/cjs/api/routes/manager/preview/create.js +5 -1
  67. package/dist/cjs/api/routes/manager/preview/create.js.map +1 -1
  68. package/dist/cjs/api/routes/manager/regenerateRoutes.js +1 -1
  69. package/dist/cjs/api/routes/manager/regenerateRoutes.js.map +1 -1
  70. package/dist/cjs/api/routes/manager/setDefaultLanguage.js +7 -2
  71. package/dist/cjs/api/routes/manager/setDefaultLanguage.js.map +1 -1
  72. package/dist/cjs/api/routes/manager/translateDocument.js +1 -9
  73. package/dist/cjs/api/routes/manager/translateDocument.js.map +1 -1
  74. package/dist/cjs/api/routes/manager/trash.js +7 -2
  75. package/dist/cjs/api/routes/manager/trash.js.map +1 -1
  76. package/dist/cjs/api/routes/manager/update.js +5 -10
  77. package/dist/cjs/api/routes/manager/update.js.map +1 -1
  78. package/dist/cjs/api/routes/manager/users.js +38 -0
  79. package/dist/cjs/api/routes/manager/users.js.map +1 -0
  80. package/dist/cjs/api/routes/manager/versions/get.js +1 -1
  81. package/dist/cjs/api/routes/manager/versions/get.js.map +1 -1
  82. package/dist/cjs/api/routes/manager/versions/list.js +1 -1
  83. package/dist/cjs/api/routes/manager/versions/list.js.map +1 -1
  84. package/dist/cjs/api/routes/manager/versions/restore.js +1 -1
  85. package/dist/cjs/api/routes/manager/versions/restore.js.map +1 -1
  86. package/dist/cjs/api/routes/web/page.js +170 -121
  87. package/dist/cjs/api/routes/web/page.js.map +1 -1
  88. package/dist/cjs/api/routes/web/robots.js +10 -8
  89. package/dist/cjs/api/routes/web/robots.js.map +1 -1
  90. package/dist/cjs/api/sessionCookie.js +13 -3
  91. package/dist/cjs/api/sessionCookie.js.map +1 -1
  92. package/dist/cjs/api/utils/authRateLimit.js +43 -0
  93. package/dist/cjs/api/utils/authRateLimit.js.map +1 -0
  94. package/dist/cjs/api/utils/checkOwnership.js +10 -7
  95. package/dist/cjs/api/utils/checkOwnership.js.map +1 -1
  96. package/dist/cjs/api/utils/dynamicData.js +319 -0
  97. package/dist/cjs/api/utils/dynamicData.js.map +1 -0
  98. package/dist/cjs/api/utils/getLanguages.js +8 -1
  99. package/dist/cjs/api/utils/getLanguages.js.map +1 -1
  100. package/dist/cjs/api/utils/getLink.js +24 -6
  101. package/dist/cjs/api/utils/getLink.js.map +1 -1
  102. package/dist/cjs/api/utils/getUser.js +7 -1
  103. package/dist/cjs/api/utils/getUser.js.map +1 -1
  104. package/dist/cjs/api/utils/index.js +7 -1
  105. package/dist/cjs/api/utils/index.js.map +1 -1
  106. package/dist/cjs/api/utils/localeVariants.js +45 -0
  107. package/dist/cjs/api/utils/localeVariants.js.map +1 -0
  108. package/dist/cjs/api/utils/mediaUploadToken.js +49 -0
  109. package/dist/cjs/api/utils/mediaUploadToken.js.map +1 -0
  110. package/dist/cjs/api/utils/passwords.js +25 -1
  111. package/dist/cjs/api/utils/passwords.js.map +1 -1
  112. package/dist/cjs/api/utils/populates/populateLinks.js +12 -3
  113. package/dist/cjs/api/utils/populates/populateLinks.js.map +1 -1
  114. package/dist/cjs/api/utils/populates/populateRelations.js +23 -4
  115. package/dist/cjs/api/utils/populates/populateRelations.js.map +1 -1
  116. package/dist/cjs/api/utils/routes/routeDefinitions.js.map +1 -1
  117. package/dist/cjs/api/utils/routes/routeMapHelpers.js +133 -24
  118. package/dist/cjs/api/utils/routes/routeMapHelpers.js.map +1 -1
  119. package/dist/cjs/api/utils/routes/syncConfiguredRoutes.js +0 -1
  120. package/dist/cjs/api/utils/routes/syncConfiguredRoutes.js.map +1 -1
  121. package/dist/cjs/api/utils/routes/updateRoutesMap.js +66 -25
  122. package/dist/cjs/api/utils/routes/updateRoutesMap.js.map +1 -1
  123. package/dist/cjs/api/utils/safeManagerQuery.js +229 -0
  124. package/dist/cjs/api/utils/safeManagerQuery.js.map +1 -0
  125. package/dist/cjs/api/utils/sanitizeManagerOutput.js +39 -0
  126. package/dist/cjs/api/utils/sanitizeManagerOutput.js.map +1 -0
  127. package/dist/cjs/bootstrapState.js.map +1 -1
  128. package/dist/cjs/client.js +16 -1
  129. package/dist/cjs/client.js.map +1 -1
  130. package/dist/cjs/contracts.js +5 -0
  131. package/dist/cjs/contracts.js.map +1 -1
  132. package/dist/cjs/index.js +60 -15
  133. package/dist/cjs/index.js.map +1 -1
  134. package/dist/cjs/internal-content-types/ApiOperation.js +23 -0
  135. package/dist/cjs/internal-content-types/ApiOperation.js.map +1 -0
  136. package/dist/cjs/internal-content-types/Backup.js +1 -0
  137. package/dist/cjs/internal-content-types/Backup.js.map +1 -1
  138. package/dist/cjs/internal-content-types/BackupDocument.js +1 -0
  139. package/dist/cjs/internal-content-types/BackupDocument.js.map +1 -1
  140. package/dist/cjs/internal-content-types/ContentComment.js +22 -0
  141. package/dist/cjs/internal-content-types/ContentComment.js.map +1 -0
  142. package/dist/cjs/internal-content-types/ContentVersion.js +1 -0
  143. package/dist/cjs/internal-content-types/ContentVersion.js.map +1 -1
  144. package/dist/cjs/internal-content-types/Language.js +1 -0
  145. package/dist/cjs/internal-content-types/Language.js.map +1 -1
  146. package/dist/cjs/internal-content-types/LiteralTranslation.js +1 -0
  147. package/dist/cjs/internal-content-types/LiteralTranslation.js.map +1 -1
  148. package/dist/cjs/internal-content-types/ManagerFavorite.js +20 -0
  149. package/dist/cjs/internal-content-types/ManagerFavorite.js.map +1 -0
  150. package/dist/cjs/internal-content-types/ManagerRole.js +2 -4
  151. package/dist/cjs/internal-content-types/ManagerRole.js.map +1 -1
  152. package/dist/cjs/internal-content-types/ManagerUser.js +2 -0
  153. package/dist/cjs/internal-content-types/ManagerUser.js.map +1 -1
  154. package/dist/cjs/internal-content-types/ManagerUserHooks.js +42 -0
  155. package/dist/cjs/internal-content-types/ManagerUserHooks.js.map +1 -0
  156. package/dist/cjs/internal-content-types/Media.js +1 -0
  157. package/dist/cjs/internal-content-types/Media.js.map +1 -1
  158. package/dist/cjs/internal-content-types/MediaFolder.js +1 -0
  159. package/dist/cjs/internal-content-types/MediaFolder.js.map +1 -1
  160. package/dist/cjs/internal-content-types/Migration.js +4 -0
  161. package/dist/cjs/internal-content-types/Migration.js.map +1 -1
  162. package/dist/cjs/internal-content-types/MigrationLock.js +1 -0
  163. package/dist/cjs/internal-content-types/MigrationLock.js.map +1 -1
  164. package/dist/cjs/internal-content-types/Page.js +7 -8
  165. package/dist/cjs/internal-content-types/Page.js.map +1 -1
  166. package/dist/cjs/internal-content-types/Redirect.js +1 -0
  167. package/dist/cjs/internal-content-types/Redirect.js.map +1 -1
  168. package/dist/cjs/internal-content-types/RobotsRule.js +1 -0
  169. package/dist/cjs/internal-content-types/RobotsRule.js.map +1 -1
  170. package/dist/cjs/internal-content-types/Route.js +1 -1
  171. package/dist/cjs/internal-content-types/Route.js.map +1 -1
  172. package/dist/cjs/internal-content-types/RouteLayoutModule.js +1 -0
  173. package/dist/cjs/internal-content-types/RouteLayoutModule.js.map +1 -1
  174. package/dist/cjs/internal-content-types/RouteLayoutModuleOverride.js +1 -0
  175. package/dist/cjs/internal-content-types/RouteLayoutModuleOverride.js.map +1 -1
  176. package/dist/cjs/internal-content-types/RouteLocaleVariant.js +23 -0
  177. package/dist/cjs/internal-content-types/RouteLocaleVariant.js.map +1 -0
  178. package/dist/cjs/internal-content-types/RouteMap.js +5 -0
  179. package/dist/cjs/internal-content-types/RouteMap.js.map +1 -1
  180. package/dist/cjs/internal-content-types/RouteSettings.js +1 -0
  181. package/dist/cjs/internal-content-types/RouteSettings.js.map +1 -1
  182. package/dist/cjs/internal-content-types/SchemaState.js +4 -0
  183. package/dist/cjs/internal-content-types/SchemaState.js.map +1 -1
  184. package/dist/cjs/internal-content-types/Seo.js +4 -2
  185. package/dist/cjs/internal-content-types/Seo.js.map +1 -1
  186. package/dist/cjs/internal-content-types/SeoSettings.js +2 -2
  187. package/dist/cjs/internal-content-types/SeoSettings.js.map +1 -1
  188. package/dist/cjs/internal-content-types/index.js +4 -0
  189. package/dist/cjs/internal-content-types/index.js.map +1 -1
  190. package/dist/cjs/lib/ContentType.js +185 -8
  191. package/dist/cjs/lib/ContentType.js.map +1 -1
  192. package/dist/cjs/lib/Permissions.js +69 -77
  193. package/dist/cjs/lib/Permissions.js.map +1 -1
  194. package/dist/cjs/lib/Registry.js +9 -0
  195. package/dist/cjs/lib/Registry.js.map +1 -1
  196. package/dist/cjs/lib/dynamicData.js +53 -0
  197. package/dist/cjs/lib/dynamicData.js.map +1 -0
  198. package/dist/cjs/lib/errors/throwAppError.js +27 -3
  199. package/dist/cjs/lib/errors/throwAppError.js.map +1 -1
  200. package/dist/cjs/lib/fields/Field.js +26 -0
  201. package/dist/cjs/lib/fields/Field.js.map +1 -1
  202. package/dist/cjs/lib/fields/List.js +25 -4
  203. package/dist/cjs/lib/fields/List.js.map +1 -1
  204. package/dist/cjs/lib/fields/Relation.js +3 -0
  205. package/dist/cjs/lib/fields/Relation.js.map +1 -1
  206. package/dist/cjs/lib/hooks.js +3 -0
  207. package/dist/cjs/lib/hooks.js.map +1 -0
  208. package/dist/cjs/lib/localeVariants.js +20 -0
  209. package/dist/cjs/lib/localeVariants.js.map +1 -0
  210. package/dist/cjs/lib/routeableContent.js +18 -0
  211. package/dist/cjs/lib/routeableContent.js.map +1 -0
  212. package/dist/cjs/lib/systemFields.js +6 -0
  213. package/dist/cjs/lib/systemFields.js.map +1 -0
  214. package/dist/cjs/manager.js +4 -9
  215. package/dist/cjs/manager.js.map +1 -1
  216. package/dist/cjs/media/mediaService.js +2 -1
  217. package/dist/cjs/media/mediaService.js.map +1 -1
  218. package/dist/cjs/orm/createIndexes.js +23 -7
  219. package/dist/cjs/orm/createIndexes.js.map +1 -1
  220. package/dist/cjs/orm/index.js +7 -6
  221. package/dist/cjs/orm/index.js.map +1 -1
  222. package/dist/cjs/orm/operations/create.js +25 -8
  223. package/dist/cjs/orm/operations/create.js.map +1 -1
  224. package/dist/cjs/orm/operations/delete.js +22 -2
  225. package/dist/cjs/orm/operations/delete.js.map +1 -1
  226. package/dist/cjs/orm/operations/findDependencies.js +75 -53
  227. package/dist/cjs/orm/operations/findDependencies.js.map +1 -1
  228. package/dist/cjs/orm/operations/update.js +43 -17
  229. package/dist/cjs/orm/operations/update.js.map +1 -1
  230. package/dist/cjs/orm/operations/updateMany.js +24 -7
  231. package/dist/cjs/orm/operations/updateMany.js.map +1 -1
  232. package/dist/cjs/orm/operations/upsert.js +3 -3
  233. package/dist/cjs/orm/operations/upsert.js.map +1 -1
  234. package/dist/cjs/plugins.js +113 -0
  235. package/dist/cjs/plugins.js.map +1 -0
  236. package/dist/cjs/schemas/manager/auth/accountInfo.js +1 -0
  237. package/dist/cjs/schemas/manager/auth/accountInfo.js.map +1 -1
  238. package/dist/cjs/schemas/manager/auth/login.js +1 -0
  239. package/dist/cjs/schemas/manager/auth/login.js.map +1 -1
  240. package/dist/cjs/schemas/manager/auth/totp/verifyTotp.js +1 -0
  241. package/dist/cjs/schemas/manager/auth/totp/verifyTotp.js.map +1 -1
  242. package/dist/cjs/schemas/manager/auth/webauthn/webauthnAuthVerify.js +1 -0
  243. package/dist/cjs/schemas/manager/auth/webauthn/webauthnAuthVerify.js.map +1 -1
  244. package/dist/cjs/schemas/manager/comments.js +48 -0
  245. package/dist/cjs/schemas/manager/comments.js.map +1 -0
  246. package/dist/cjs/schemas/manager/contentType.js +11 -0
  247. package/dist/cjs/schemas/manager/contentType.js.map +1 -0
  248. package/dist/cjs/schemas/manager/favorites.js +37 -0
  249. package/dist/cjs/schemas/manager/favorites.js.map +1 -0
  250. package/dist/cjs/schemas/manager/localeVariants.js +62 -0
  251. package/dist/cjs/schemas/manager/localeVariants.js.map +1 -0
  252. package/dist/cjs/schemas/manager/media/finalizeUpload.js +1 -0
  253. package/dist/cjs/schemas/manager/media/finalizeUpload.js.map +1 -1
  254. package/dist/cjs/schemas/manager/media/getMediaUrl.js +1 -1
  255. package/dist/cjs/schemas/manager/media/getMediaUrl.js.map +1 -1
  256. package/dist/cjs/schemas/manager/media/prepareUpload.js +1 -0
  257. package/dist/cjs/schemas/manager/media/prepareUpload.js.map +1 -1
  258. package/dist/cjs/schemas/manager/users.js +21 -0
  259. package/dist/cjs/schemas/manager/users.js.map +1 -0
  260. package/dist/esm/api/hooks/context.d.ts +4 -0
  261. package/dist/esm/api/hooks/context.d.ts.map +1 -0
  262. package/dist/esm/api/hooks/context.js +12 -0
  263. package/dist/esm/api/hooks/context.js.map +1 -0
  264. package/dist/esm/api/hooks/runContentHooks.d.ts +80 -0
  265. package/dist/esm/api/hooks/runContentHooks.d.ts.map +1 -0
  266. package/dist/esm/api/hooks/runContentHooks.js +159 -0
  267. package/dist/esm/api/hooks/runContentHooks.js.map +1 -0
  268. package/dist/esm/api/operations/index.d.ts +530 -4
  269. package/dist/esm/api/operations/index.d.ts.map +1 -1
  270. package/dist/esm/api/operations/manager-contract.d.ts +521 -4
  271. package/dist/esm/api/operations/manager-contract.d.ts.map +1 -1
  272. package/dist/esm/api/operations/manager-contract.js +88 -1
  273. package/dist/esm/api/operations/manager-contract.js.map +1 -1
  274. package/dist/esm/api/operations/manager-manifest.d.ts +288 -0
  275. package/dist/esm/api/operations/manager-manifest.d.ts.map +1 -0
  276. package/dist/esm/api/operations/manager-manifest.js +288 -0
  277. package/dist/esm/api/operations/manager-manifest.js.map +1 -0
  278. package/dist/esm/api/operations/manager.d.ts +520 -4
  279. package/dist/esm/api/operations/manager.d.ts.map +1 -1
  280. package/dist/esm/api/operations/manager.js +47 -3
  281. package/dist/esm/api/operations/manager.js.map +1 -1
  282. package/dist/esm/api/operations/web-contract.d.ts +11 -0
  283. package/dist/esm/api/operations/web-contract.d.ts.map +1 -1
  284. package/dist/esm/api/operations/web.d.ts +10 -0
  285. package/dist/esm/api/operations/web.d.ts.map +1 -1
  286. package/dist/esm/api/routes/manager/apiOperations.js +1 -1
  287. package/dist/esm/api/routes/manager/apiOperations.js.map +1 -1
  288. package/dist/esm/api/routes/manager/auth/getSession.d.ts +6 -1
  289. package/dist/esm/api/routes/manager/auth/getSession.d.ts.map +1 -1
  290. package/dist/esm/api/routes/manager/auth/login.d.ts +3 -1
  291. package/dist/esm/api/routes/manager/auth/login.d.ts.map +1 -1
  292. package/dist/esm/api/routes/manager/auth/login.js +20 -4
  293. package/dist/esm/api/routes/manager/auth/login.js.map +1 -1
  294. package/dist/esm/api/routes/manager/auth/markTourSeen.d.ts +6 -1
  295. package/dist/esm/api/routes/manager/auth/markTourSeen.d.ts.map +1 -1
  296. package/dist/esm/api/routes/manager/auth/markTourSeen.js +3 -1
  297. package/dist/esm/api/routes/manager/auth/markTourSeen.js.map +1 -1
  298. package/dist/esm/api/routes/manager/auth/totp/verifyTotp.d.ts +2 -0
  299. package/dist/esm/api/routes/manager/auth/totp/verifyTotp.d.ts.map +1 -1
  300. package/dist/esm/api/routes/manager/auth/totp/verifyTotp.js +11 -1
  301. package/dist/esm/api/routes/manager/auth/totp/verifyTotp.js.map +1 -1
  302. package/dist/esm/api/routes/manager/auth/updateAccount.d.ts +6 -1
  303. package/dist/esm/api/routes/manager/auth/updateAccount.d.ts.map +1 -1
  304. package/dist/esm/api/routes/manager/auth/updateAccount.js +6 -1
  305. package/dist/esm/api/routes/manager/auth/updateAccount.js.map +1 -1
  306. package/dist/esm/api/routes/manager/auth/updatePassword.d.ts.map +1 -1
  307. package/dist/esm/api/routes/manager/auth/updatePassword.js +15 -5
  308. package/dist/esm/api/routes/manager/auth/updatePassword.js.map +1 -1
  309. package/dist/esm/api/routes/manager/auth/updateTutorialPreferences.d.ts +6 -1
  310. package/dist/esm/api/routes/manager/auth/updateTutorialPreferences.d.ts.map +1 -1
  311. package/dist/esm/api/routes/manager/auth/updateTutorialPreferences.js +3 -1
  312. package/dist/esm/api/routes/manager/auth/updateTutorialPreferences.js.map +1 -1
  313. package/dist/esm/api/routes/manager/auth/webauthn/webauthnAuthVerify.d.ts +1 -0
  314. package/dist/esm/api/routes/manager/auth/webauthn/webauthnAuthVerify.d.ts.map +1 -1
  315. package/dist/esm/api/routes/manager/auth/webauthn/webauthnAuthVerify.js +11 -1
  316. package/dist/esm/api/routes/manager/auth/webauthn/webauthnAuthVerify.js.map +1 -1
  317. package/dist/esm/api/routes/manager/backups/create.js +1 -1
  318. package/dist/esm/api/routes/manager/backups/create.js.map +1 -1
  319. package/dist/esm/api/routes/manager/backups/list.js +1 -1
  320. package/dist/esm/api/routes/manager/backups/list.js.map +1 -1
  321. package/dist/esm/api/routes/manager/backups/restore.js +1 -1
  322. package/dist/esm/api/routes/manager/backups/restore.js.map +1 -1
  323. package/dist/esm/api/routes/manager/comments.d.ts +15 -0
  324. package/dist/esm/api/routes/manager/comments.d.ts.map +1 -0
  325. package/dist/esm/api/routes/manager/comments.js +203 -0
  326. package/dist/esm/api/routes/manager/comments.js.map +1 -0
  327. package/dist/esm/api/routes/manager/contentType.d.ts +52 -0
  328. package/dist/esm/api/routes/manager/contentType.d.ts.map +1 -0
  329. package/dist/esm/api/routes/manager/contentType.js +15 -0
  330. package/dist/esm/api/routes/manager/contentType.js.map +1 -0
  331. package/dist/esm/api/routes/manager/contentTypes.d.ts +17 -0
  332. package/dist/esm/api/routes/manager/contentTypes.d.ts.map +1 -1
  333. package/dist/esm/api/routes/manager/create.d.ts +3 -0
  334. package/dist/esm/api/routes/manager/create.d.ts.map +1 -1
  335. package/dist/esm/api/routes/manager/create.js +10 -11
  336. package/dist/esm/api/routes/manager/create.js.map +1 -1
  337. package/dist/esm/api/routes/manager/delete.d.ts.map +1 -1
  338. package/dist/esm/api/routes/manager/delete.js +11 -4
  339. package/dist/esm/api/routes/manager/delete.js.map +1 -1
  340. package/dist/esm/api/routes/manager/duplicate.d.ts +2 -0
  341. package/dist/esm/api/routes/manager/duplicate.d.ts.map +1 -1
  342. package/dist/esm/api/routes/manager/favorites.d.ts +11 -0
  343. package/dist/esm/api/routes/manager/favorites.d.ts.map +1 -0
  344. package/dist/esm/api/routes/manager/favorites.js +132 -0
  345. package/dist/esm/api/routes/manager/favorites.js.map +1 -0
  346. package/dist/esm/api/routes/manager/get.d.ts.map +1 -1
  347. package/dist/esm/api/routes/manager/get.js +3 -2
  348. package/dist/esm/api/routes/manager/get.js.map +1 -1
  349. package/dist/esm/api/routes/manager/languages.d.ts +2 -0
  350. package/dist/esm/api/routes/manager/languages.d.ts.map +1 -1
  351. package/dist/esm/api/routes/manager/list.d.ts.map +1 -1
  352. package/dist/esm/api/routes/manager/list.js +24 -9
  353. package/dist/esm/api/routes/manager/list.js.map +1 -1
  354. package/dist/esm/api/routes/manager/literals/list.js +1 -1
  355. package/dist/esm/api/routes/manager/literals/list.js.map +1 -1
  356. package/dist/esm/api/routes/manager/literals/upsert.js +1 -1
  357. package/dist/esm/api/routes/manager/literals/upsert.js.map +1 -1
  358. package/dist/esm/api/routes/manager/localeVariants.d.ts +133 -0
  359. package/dist/esm/api/routes/manager/localeVariants.d.ts.map +1 -0
  360. package/dist/esm/api/routes/manager/localeVariants.js +293 -0
  361. package/dist/esm/api/routes/manager/localeVariants.js.map +1 -0
  362. package/dist/esm/api/routes/manager/media/finalizeUpload.d.ts.map +1 -1
  363. package/dist/esm/api/routes/manager/media/finalizeUpload.js +24 -1
  364. package/dist/esm/api/routes/manager/media/finalizeUpload.js.map +1 -1
  365. package/dist/esm/api/routes/manager/media/getMediaUrl.d.ts.map +1 -1
  366. package/dist/esm/api/routes/manager/media/getMediaUrl.js +34 -2
  367. package/dist/esm/api/routes/manager/media/getMediaUrl.js.map +1 -1
  368. package/dist/esm/api/routes/manager/media/prepareUpload.d.ts +2 -1
  369. package/dist/esm/api/routes/manager/media/prepareUpload.d.ts.map +1 -1
  370. package/dist/esm/api/routes/manager/media/prepareUpload.js +12 -1
  371. package/dist/esm/api/routes/manager/media/prepareUpload.js.map +1 -1
  372. package/dist/esm/api/routes/manager/media/uploadBinary.d.ts.map +1 -1
  373. package/dist/esm/api/routes/manager/media/uploadBinary.js +71 -5
  374. package/dist/esm/api/routes/manager/media/uploadBinary.js.map +1 -1
  375. package/dist/esm/api/routes/manager/migrations/list.js +1 -1
  376. package/dist/esm/api/routes/manager/migrations/list.js.map +1 -1
  377. package/dist/esm/api/routes/manager/permissions.js +1 -1
  378. package/dist/esm/api/routes/manager/permissions.js.map +1 -1
  379. package/dist/esm/api/routes/manager/preview/create.d.ts.map +1 -1
  380. package/dist/esm/api/routes/manager/preview/create.js +5 -1
  381. package/dist/esm/api/routes/manager/preview/create.js.map +1 -1
  382. package/dist/esm/api/routes/manager/regenerateRoutes.js +1 -1
  383. package/dist/esm/api/routes/manager/regenerateRoutes.js.map +1 -1
  384. package/dist/esm/api/routes/manager/setDefaultLanguage.d.ts +2 -2
  385. package/dist/esm/api/routes/manager/setDefaultLanguage.d.ts.map +1 -1
  386. package/dist/esm/api/routes/manager/setDefaultLanguage.js +7 -2
  387. package/dist/esm/api/routes/manager/setDefaultLanguage.js.map +1 -1
  388. package/dist/esm/api/routes/manager/translateDocument.d.ts.map +1 -1
  389. package/dist/esm/api/routes/manager/translateDocument.js +1 -9
  390. package/dist/esm/api/routes/manager/translateDocument.js.map +1 -1
  391. package/dist/esm/api/routes/manager/trash.d.ts.map +1 -1
  392. package/dist/esm/api/routes/manager/trash.js +7 -2
  393. package/dist/esm/api/routes/manager/trash.js.map +1 -1
  394. package/dist/esm/api/routes/manager/update.d.ts +3 -0
  395. package/dist/esm/api/routes/manager/update.d.ts.map +1 -1
  396. package/dist/esm/api/routes/manager/update.js +5 -10
  397. package/dist/esm/api/routes/manager/update.js.map +1 -1
  398. package/dist/esm/api/routes/manager/users.d.ts +16 -0
  399. package/dist/esm/api/routes/manager/users.d.ts.map +1 -0
  400. package/dist/esm/api/routes/manager/users.js +32 -0
  401. package/dist/esm/api/routes/manager/users.js.map +1 -0
  402. package/dist/esm/api/routes/manager/versions/get.js +1 -1
  403. package/dist/esm/api/routes/manager/versions/get.js.map +1 -1
  404. package/dist/esm/api/routes/manager/versions/list.js +1 -1
  405. package/dist/esm/api/routes/manager/versions/list.js.map +1 -1
  406. package/dist/esm/api/routes/manager/versions/restore.js +1 -1
  407. package/dist/esm/api/routes/manager/versions/restore.js.map +1 -1
  408. package/dist/esm/api/routes/web/page.d.ts +2 -1
  409. package/dist/esm/api/routes/web/page.d.ts.map +1 -1
  410. package/dist/esm/api/routes/web/page.js +170 -121
  411. package/dist/esm/api/routes/web/page.js.map +1 -1
  412. package/dist/esm/api/routes/web/previewPage.d.ts +4 -0
  413. package/dist/esm/api/routes/web/previewPage.d.ts.map +1 -1
  414. package/dist/esm/api/routes/web/robots.d.ts.map +1 -1
  415. package/dist/esm/api/routes/web/robots.js +10 -8
  416. package/dist/esm/api/routes/web/robots.js.map +1 -1
  417. package/dist/esm/api/sessionCookie.d.ts +1 -0
  418. package/dist/esm/api/sessionCookie.d.ts.map +1 -1
  419. package/dist/esm/api/sessionCookie.js +12 -2
  420. package/dist/esm/api/sessionCookie.js.map +1 -1
  421. package/dist/esm/api/utils/authRateLimit.d.ts +9 -0
  422. package/dist/esm/api/utils/authRateLimit.d.ts.map +1 -0
  423. package/dist/esm/api/utils/authRateLimit.js +37 -0
  424. package/dist/esm/api/utils/authRateLimit.js.map +1 -0
  425. package/dist/esm/api/utils/checkOwnership.d.ts.map +1 -1
  426. package/dist/esm/api/utils/checkOwnership.js +10 -7
  427. package/dist/esm/api/utils/checkOwnership.js.map +1 -1
  428. package/dist/esm/api/utils/dynamicData.d.ts +23 -0
  429. package/dist/esm/api/utils/dynamicData.d.ts.map +1 -0
  430. package/dist/esm/api/utils/dynamicData.js +312 -0
  431. package/dist/esm/api/utils/dynamicData.js.map +1 -0
  432. package/dist/esm/api/utils/getLanguages.d.ts +3 -19
  433. package/dist/esm/api/utils/getLanguages.d.ts.map +1 -1
  434. package/dist/esm/api/utils/getLanguages.js +8 -1
  435. package/dist/esm/api/utils/getLanguages.js.map +1 -1
  436. package/dist/esm/api/utils/getLink.d.ts +2 -2
  437. package/dist/esm/api/utils/getLink.d.ts.map +1 -1
  438. package/dist/esm/api/utils/getLink.js +24 -6
  439. package/dist/esm/api/utils/getLink.js.map +1 -1
  440. package/dist/esm/api/utils/getUser.d.ts +6 -1
  441. package/dist/esm/api/utils/getUser.d.ts.map +1 -1
  442. package/dist/esm/api/utils/getUser.js +7 -1
  443. package/dist/esm/api/utils/getUser.js.map +1 -1
  444. package/dist/esm/api/utils/index.d.ts +2 -1
  445. package/dist/esm/api/utils/index.d.ts.map +1 -1
  446. package/dist/esm/api/utils/index.js +2 -1
  447. package/dist/esm/api/utils/index.js.map +1 -1
  448. package/dist/esm/api/utils/localeVariants.d.ts +8 -0
  449. package/dist/esm/api/utils/localeVariants.d.ts.map +1 -0
  450. package/dist/esm/api/utils/localeVariants.js +41 -0
  451. package/dist/esm/api/utils/localeVariants.js.map +1 -0
  452. package/dist/esm/api/utils/mediaUploadToken.d.ts +13 -0
  453. package/dist/esm/api/utils/mediaUploadToken.d.ts.map +1 -0
  454. package/dist/esm/api/utils/mediaUploadToken.js +44 -0
  455. package/dist/esm/api/utils/mediaUploadToken.js.map +1 -0
  456. package/dist/esm/api/utils/passwords.d.ts +5 -0
  457. package/dist/esm/api/utils/passwords.d.ts.map +1 -1
  458. package/dist/esm/api/utils/passwords.js +22 -0
  459. package/dist/esm/api/utils/passwords.js.map +1 -1
  460. package/dist/esm/api/utils/populates/populateLinks.d.ts.map +1 -1
  461. package/dist/esm/api/utils/populates/populateLinks.js +12 -3
  462. package/dist/esm/api/utils/populates/populateLinks.js.map +1 -1
  463. package/dist/esm/api/utils/populates/populateRelations.d.ts +6 -2
  464. package/dist/esm/api/utils/populates/populateRelations.d.ts.map +1 -1
  465. package/dist/esm/api/utils/populates/populateRelations.js +23 -4
  466. package/dist/esm/api/utils/populates/populateRelations.js.map +1 -1
  467. package/dist/esm/api/utils/routes/routeDefinitions.d.ts +0 -1
  468. package/dist/esm/api/utils/routes/routeDefinitions.d.ts.map +1 -1
  469. package/dist/esm/api/utils/routes/routeDefinitions.js.map +1 -1
  470. package/dist/esm/api/utils/routes/routeMapHelpers.d.ts +11 -4
  471. package/dist/esm/api/utils/routes/routeMapHelpers.d.ts.map +1 -1
  472. package/dist/esm/api/utils/routes/routeMapHelpers.js +130 -23
  473. package/dist/esm/api/utils/routes/routeMapHelpers.js.map +1 -1
  474. package/dist/esm/api/utils/routes/syncConfiguredRoutes.d.ts.map +1 -1
  475. package/dist/esm/api/utils/routes/syncConfiguredRoutes.js +0 -1
  476. package/dist/esm/api/utils/routes/syncConfiguredRoutes.js.map +1 -1
  477. package/dist/esm/api/utils/routes/updateRoutesMap.d.ts.map +1 -1
  478. package/dist/esm/api/utils/routes/updateRoutesMap.js +68 -27
  479. package/dist/esm/api/utils/routes/updateRoutesMap.js.map +1 -1
  480. package/dist/esm/api/utils/safeManagerQuery.d.ts +4 -0
  481. package/dist/esm/api/utils/safeManagerQuery.d.ts.map +1 -0
  482. package/dist/esm/api/utils/safeManagerQuery.js +225 -0
  483. package/dist/esm/api/utils/safeManagerQuery.js.map +1 -0
  484. package/dist/esm/api/utils/sanitizeManagerOutput.d.ts +3 -0
  485. package/dist/esm/api/utils/sanitizeManagerOutput.d.ts.map +1 -0
  486. package/dist/esm/api/utils/sanitizeManagerOutput.js +35 -0
  487. package/dist/esm/api/utils/sanitizeManagerOutput.js.map +1 -0
  488. package/dist/esm/bootstrapState.d.ts +8 -4
  489. package/dist/esm/bootstrapState.d.ts.map +1 -1
  490. package/dist/esm/bootstrapState.js.map +1 -1
  491. package/dist/esm/client.d.ts +8 -1
  492. package/dist/esm/client.d.ts.map +1 -1
  493. package/dist/esm/client.js +4 -1
  494. package/dist/esm/client.js.map +1 -1
  495. package/dist/esm/contracts.d.ts +5 -0
  496. package/dist/esm/contracts.d.ts.map +1 -1
  497. package/dist/esm/contracts.js +5 -0
  498. package/dist/esm/contracts.js.map +1 -1
  499. package/dist/esm/index.d.ts +11 -7
  500. package/dist/esm/index.d.ts.map +1 -1
  501. package/dist/esm/index.js +43 -11
  502. package/dist/esm/index.js.map +1 -1
  503. package/dist/esm/internal-content-types/ApiOperation.d.ts +811 -0
  504. package/dist/esm/internal-content-types/ApiOperation.d.ts.map +1 -0
  505. package/dist/esm/internal-content-types/ApiOperation.js +17 -0
  506. package/dist/esm/internal-content-types/ApiOperation.js.map +1 -0
  507. package/dist/esm/internal-content-types/Backup.d.ts +15 -1
  508. package/dist/esm/internal-content-types/Backup.d.ts.map +1 -1
  509. package/dist/esm/internal-content-types/Backup.js +1 -0
  510. package/dist/esm/internal-content-types/Backup.js.map +1 -1
  511. package/dist/esm/internal-content-types/BackupDocument.d.ts +33 -1
  512. package/dist/esm/internal-content-types/BackupDocument.d.ts.map +1 -1
  513. package/dist/esm/internal-content-types/BackupDocument.js +1 -0
  514. package/dist/esm/internal-content-types/BackupDocument.js.map +1 -1
  515. package/dist/esm/internal-content-types/ContentComment.d.ts +4708 -0
  516. package/dist/esm/internal-content-types/ContentComment.d.ts.map +1 -0
  517. package/dist/esm/internal-content-types/ContentComment.js +16 -0
  518. package/dist/esm/internal-content-types/ContentComment.js.map +1 -0
  519. package/dist/esm/internal-content-types/ContentVersion.d.ts +39 -1
  520. package/dist/esm/internal-content-types/ContentVersion.d.ts.map +1 -1
  521. package/dist/esm/internal-content-types/ContentVersion.js +1 -0
  522. package/dist/esm/internal-content-types/ContentVersion.js.map +1 -1
  523. package/dist/esm/internal-content-types/HelloWorld.d.ts +10 -2
  524. package/dist/esm/internal-content-types/HelloWorld.d.ts.map +1 -1
  525. package/dist/esm/internal-content-types/Language.d.ts +11 -1
  526. package/dist/esm/internal-content-types/Language.d.ts.map +1 -1
  527. package/dist/esm/internal-content-types/Language.js +1 -0
  528. package/dist/esm/internal-content-types/Language.js.map +1 -1
  529. package/dist/esm/internal-content-types/LiteralTranslation.d.ts +17 -1
  530. package/dist/esm/internal-content-types/LiteralTranslation.d.ts.map +1 -1
  531. package/dist/esm/internal-content-types/LiteralTranslation.js +1 -0
  532. package/dist/esm/internal-content-types/LiteralTranslation.js.map +1 -1
  533. package/dist/esm/internal-content-types/ManagerFavorite.d.ts +3266 -0
  534. package/dist/esm/internal-content-types/ManagerFavorite.d.ts.map +1 -0
  535. package/dist/esm/internal-content-types/ManagerFavorite.js +14 -0
  536. package/dist/esm/internal-content-types/ManagerFavorite.js.map +1 -0
  537. package/dist/esm/internal-content-types/ManagerRole.d.ts +12 -2
  538. package/dist/esm/internal-content-types/ManagerRole.d.ts.map +1 -1
  539. package/dist/esm/internal-content-types/ManagerRole.js +2 -4
  540. package/dist/esm/internal-content-types/ManagerRole.js.map +1 -1
  541. package/dist/esm/internal-content-types/ManagerUser.d.ts +78 -13
  542. package/dist/esm/internal-content-types/ManagerUser.d.ts.map +1 -1
  543. package/dist/esm/internal-content-types/ManagerUser.js +2 -0
  544. package/dist/esm/internal-content-types/ManagerUser.js.map +1 -1
  545. package/dist/esm/internal-content-types/ManagerUserHooks.d.ts +5 -0
  546. package/dist/esm/internal-content-types/ManagerUserHooks.d.ts.map +1 -0
  547. package/dist/esm/internal-content-types/ManagerUserHooks.js +38 -0
  548. package/dist/esm/internal-content-types/ManagerUserHooks.js.map +1 -0
  549. package/dist/esm/internal-content-types/Media.d.ts +70 -2
  550. package/dist/esm/internal-content-types/Media.d.ts.map +1 -1
  551. package/dist/esm/internal-content-types/Media.js +1 -0
  552. package/dist/esm/internal-content-types/Media.js.map +1 -1
  553. package/dist/esm/internal-content-types/MediaFolder.d.ts +25 -1
  554. package/dist/esm/internal-content-types/MediaFolder.d.ts.map +1 -1
  555. package/dist/esm/internal-content-types/MediaFolder.js +1 -0
  556. package/dist/esm/internal-content-types/MediaFolder.js.map +1 -1
  557. package/dist/esm/internal-content-types/MfaChallenge.d.ts +225 -34
  558. package/dist/esm/internal-content-types/MfaChallenge.d.ts.map +1 -1
  559. package/dist/esm/internal-content-types/Migration.d.ts +37 -1
  560. package/dist/esm/internal-content-types/Migration.d.ts.map +1 -1
  561. package/dist/esm/internal-content-types/Migration.js +4 -0
  562. package/dist/esm/internal-content-types/Migration.js.map +1 -1
  563. package/dist/esm/internal-content-types/MigrationLock.d.ts +5 -1
  564. package/dist/esm/internal-content-types/MigrationLock.d.ts.map +1 -1
  565. package/dist/esm/internal-content-types/MigrationLock.js +1 -0
  566. package/dist/esm/internal-content-types/MigrationLock.js.map +1 -1
  567. package/dist/esm/internal-content-types/Page.d.ts +32 -9193
  568. package/dist/esm/internal-content-types/Page.d.ts.map +1 -1
  569. package/dist/esm/internal-content-types/Page.js +7 -8
  570. package/dist/esm/internal-content-types/Page.js.map +1 -1
  571. package/dist/esm/internal-content-types/PreviewSnapshot.d.ts +61 -1
  572. package/dist/esm/internal-content-types/PreviewSnapshot.d.ts.map +1 -1
  573. package/dist/esm/internal-content-types/Redirect.d.ts +41 -1
  574. package/dist/esm/internal-content-types/Redirect.d.ts.map +1 -1
  575. package/dist/esm/internal-content-types/Redirect.js +1 -0
  576. package/dist/esm/internal-content-types/Redirect.js.map +1 -1
  577. package/dist/esm/internal-content-types/RobotsRule.d.ts +29 -1
  578. package/dist/esm/internal-content-types/RobotsRule.d.ts.map +1 -1
  579. package/dist/esm/internal-content-types/RobotsRule.js +1 -0
  580. package/dist/esm/internal-content-types/RobotsRule.js.map +1 -1
  581. package/dist/esm/internal-content-types/Route.d.ts +36 -195
  582. package/dist/esm/internal-content-types/Route.d.ts.map +1 -1
  583. package/dist/esm/internal-content-types/Route.js +1 -1
  584. package/dist/esm/internal-content-types/Route.js.map +1 -1
  585. package/dist/esm/internal-content-types/RouteLayoutModule.d.ts +47 -1
  586. package/dist/esm/internal-content-types/RouteLayoutModule.d.ts.map +1 -1
  587. package/dist/esm/internal-content-types/RouteLayoutModule.js +1 -0
  588. package/dist/esm/internal-content-types/RouteLayoutModule.js.map +1 -1
  589. package/dist/esm/internal-content-types/RouteLayoutModuleOverride.d.ts +41 -1
  590. package/dist/esm/internal-content-types/RouteLayoutModuleOverride.d.ts.map +1 -1
  591. package/dist/esm/internal-content-types/RouteLayoutModuleOverride.js +1 -0
  592. package/dist/esm/internal-content-types/RouteLayoutModuleOverride.js.map +1 -1
  593. package/dist/esm/internal-content-types/RouteLocaleVariant.d.ts +1215 -0
  594. package/dist/esm/internal-content-types/RouteLocaleVariant.d.ts.map +1 -0
  595. package/dist/esm/internal-content-types/RouteLocaleVariant.js +17 -0
  596. package/dist/esm/internal-content-types/RouteLocaleVariant.js.map +1 -0
  597. package/dist/esm/internal-content-types/RouteMap.d.ts +42 -1
  598. package/dist/esm/internal-content-types/RouteMap.d.ts.map +1 -1
  599. package/dist/esm/internal-content-types/RouteMap.js +5 -0
  600. package/dist/esm/internal-content-types/RouteMap.js.map +1 -1
  601. package/dist/esm/internal-content-types/RouteSettings.d.ts +41 -9194
  602. package/dist/esm/internal-content-types/RouteSettings.d.ts.map +1 -1
  603. package/dist/esm/internal-content-types/RouteSettings.js +1 -0
  604. package/dist/esm/internal-content-types/RouteSettings.js.map +1 -1
  605. package/dist/esm/internal-content-types/SchemaState.d.ts +19 -1
  606. package/dist/esm/internal-content-types/SchemaState.d.ts.map +1 -1
  607. package/dist/esm/internal-content-types/SchemaState.js +4 -0
  608. package/dist/esm/internal-content-types/SchemaState.js.map +1 -1
  609. package/dist/esm/internal-content-types/Seo.d.ts +131 -11
  610. package/dist/esm/internal-content-types/Seo.d.ts.map +1 -1
  611. package/dist/esm/internal-content-types/Seo.js +4 -2
  612. package/dist/esm/internal-content-types/Seo.js.map +1 -1
  613. package/dist/esm/internal-content-types/SeoSettings.d.ts +349 -13
  614. package/dist/esm/internal-content-types/SeoSettings.d.ts.map +1 -1
  615. package/dist/esm/internal-content-types/SeoSettings.js +2 -2
  616. package/dist/esm/internal-content-types/SeoSettings.js.map +1 -1
  617. package/dist/esm/internal-content-types/Session.d.ts +215 -34
  618. package/dist/esm/internal-content-types/Session.d.ts.map +1 -1
  619. package/dist/esm/internal-content-types/UserMfa.d.ts +205 -34
  620. package/dist/esm/internal-content-types/UserMfa.d.ts.map +1 -1
  621. package/dist/esm/internal-content-types/WebAuthnCredential.d.ts +241 -34
  622. package/dist/esm/internal-content-types/WebAuthnCredential.d.ts.map +1 -1
  623. package/dist/esm/internal-content-types/WebAuthnRegChallenge.d.ts +223 -34
  624. package/dist/esm/internal-content-types/WebAuthnRegChallenge.d.ts.map +1 -1
  625. package/dist/esm/internal-content-types/index.d.ts +4 -0
  626. package/dist/esm/internal-content-types/index.d.ts.map +1 -1
  627. package/dist/esm/internal-content-types/index.js +4 -0
  628. package/dist/esm/internal-content-types/index.js.map +1 -1
  629. package/dist/esm/lib/ContentType.d.ts +132 -18
  630. package/dist/esm/lib/ContentType.d.ts.map +1 -1
  631. package/dist/esm/lib/ContentType.js +184 -7
  632. package/dist/esm/lib/ContentType.js.map +1 -1
  633. package/dist/esm/lib/Permissions.d.ts +7 -3
  634. package/dist/esm/lib/Permissions.d.ts.map +1 -1
  635. package/dist/esm/lib/Permissions.js +66 -76
  636. package/dist/esm/lib/Permissions.js.map +1 -1
  637. package/dist/esm/lib/Registry.d.ts +37 -4
  638. package/dist/esm/lib/Registry.d.ts.map +1 -1
  639. package/dist/esm/lib/Registry.js +9 -0
  640. package/dist/esm/lib/Registry.js.map +1 -1
  641. package/dist/esm/lib/dynamicData.d.ts +88 -0
  642. package/dist/esm/lib/dynamicData.d.ts.map +1 -0
  643. package/dist/esm/lib/dynamicData.js +45 -0
  644. package/dist/esm/lib/dynamicData.js.map +1 -0
  645. package/dist/esm/lib/errors/throwAppError.d.ts.map +1 -1
  646. package/dist/esm/lib/errors/throwAppError.js +27 -3
  647. package/dist/esm/lib/errors/throwAppError.js.map +1 -1
  648. package/dist/esm/lib/fields/Field.d.ts +30 -1
  649. package/dist/esm/lib/fields/Field.d.ts.map +1 -1
  650. package/dist/esm/lib/fields/Field.js +25 -0
  651. package/dist/esm/lib/fields/Field.js.map +1 -1
  652. package/dist/esm/lib/fields/List.d.ts.map +1 -1
  653. package/dist/esm/lib/fields/List.js +25 -4
  654. package/dist/esm/lib/fields/List.js.map +1 -1
  655. package/dist/esm/lib/fields/Relation.js +3 -0
  656. package/dist/esm/lib/fields/Relation.js.map +1 -1
  657. package/dist/esm/lib/hooks.d.ts +89 -0
  658. package/dist/esm/lib/hooks.d.ts.map +1 -0
  659. package/dist/esm/lib/hooks.js +2 -0
  660. package/dist/esm/lib/hooks.js.map +1 -0
  661. package/dist/esm/lib/localeVariants.d.ts +20 -0
  662. package/dist/esm/lib/localeVariants.d.ts.map +1 -0
  663. package/dist/esm/lib/localeVariants.js +11 -0
  664. package/dist/esm/lib/localeVariants.js.map +1 -0
  665. package/dist/esm/lib/routeableContent.d.ts +5 -0
  666. package/dist/esm/lib/routeableContent.d.ts.map +1 -0
  667. package/dist/esm/lib/routeableContent.js +11 -0
  668. package/dist/esm/lib/routeableContent.js.map +1 -0
  669. package/dist/esm/lib/systemFields.d.ts +3 -0
  670. package/dist/esm/lib/systemFields.d.ts.map +1 -0
  671. package/dist/esm/lib/systemFields.js +3 -0
  672. package/dist/esm/lib/systemFields.js.map +1 -0
  673. package/dist/esm/lib/types/index.d.ts +2 -0
  674. package/dist/esm/lib/types/index.d.ts.map +1 -1
  675. package/dist/esm/manager.d.ts +283 -2879
  676. package/dist/esm/manager.d.ts.map +1 -1
  677. package/dist/esm/manager.js +2 -6
  678. package/dist/esm/manager.js.map +1 -1
  679. package/dist/esm/media/mediaService.d.ts +2 -0
  680. package/dist/esm/media/mediaService.d.ts.map +1 -1
  681. package/dist/esm/media/mediaService.js +2 -1
  682. package/dist/esm/media/mediaService.js.map +1 -1
  683. package/dist/esm/orm/createIndexes.d.ts.map +1 -1
  684. package/dist/esm/orm/createIndexes.js +24 -8
  685. package/dist/esm/orm/createIndexes.js.map +1 -1
  686. package/dist/esm/orm/index.d.ts.map +1 -1
  687. package/dist/esm/orm/index.js +7 -6
  688. package/dist/esm/orm/index.js.map +1 -1
  689. package/dist/esm/orm/operations/create.d.ts +2 -1
  690. package/dist/esm/orm/operations/create.d.ts.map +1 -1
  691. package/dist/esm/orm/operations/create.js +25 -8
  692. package/dist/esm/orm/operations/create.js.map +1 -1
  693. package/dist/esm/orm/operations/delete.d.ts +2 -2
  694. package/dist/esm/orm/operations/delete.d.ts.map +1 -1
  695. package/dist/esm/orm/operations/delete.js +23 -3
  696. package/dist/esm/orm/operations/delete.js.map +1 -1
  697. package/dist/esm/orm/operations/findDependencies.d.ts +1 -1
  698. package/dist/esm/orm/operations/findDependencies.d.ts.map +1 -1
  699. package/dist/esm/orm/operations/findDependencies.js +75 -53
  700. package/dist/esm/orm/operations/findDependencies.js.map +1 -1
  701. package/dist/esm/orm/operations/update.d.ts +2 -1
  702. package/dist/esm/orm/operations/update.d.ts.map +1 -1
  703. package/dist/esm/orm/operations/update.js +43 -17
  704. package/dist/esm/orm/operations/update.js.map +1 -1
  705. package/dist/esm/orm/operations/updateMany.d.ts +2 -1
  706. package/dist/esm/orm/operations/updateMany.d.ts.map +1 -1
  707. package/dist/esm/orm/operations/updateMany.js +24 -7
  708. package/dist/esm/orm/operations/updateMany.js.map +1 -1
  709. package/dist/esm/orm/operations/upsert.d.ts +2 -2
  710. package/dist/esm/orm/operations/upsert.d.ts.map +1 -1
  711. package/dist/esm/orm/operations/upsert.js +4 -4
  712. package/dist/esm/orm/operations/upsert.js.map +1 -1
  713. package/dist/esm/plugins.d.ts +55 -0
  714. package/dist/esm/plugins.d.ts.map +1 -0
  715. package/dist/esm/plugins.js +106 -0
  716. package/dist/esm/plugins.js.map +1 -0
  717. package/dist/esm/schemas/manager/auth/accountInfo.d.ts +1 -0
  718. package/dist/esm/schemas/manager/auth/accountInfo.d.ts.map +1 -1
  719. package/dist/esm/schemas/manager/auth/accountInfo.js +1 -0
  720. package/dist/esm/schemas/manager/auth/accountInfo.js.map +1 -1
  721. package/dist/esm/schemas/manager/auth/login.d.ts +1 -0
  722. package/dist/esm/schemas/manager/auth/login.d.ts.map +1 -1
  723. package/dist/esm/schemas/manager/auth/login.js +1 -0
  724. package/dist/esm/schemas/manager/auth/login.js.map +1 -1
  725. package/dist/esm/schemas/manager/auth/totp/verifyTotp.d.ts +1 -0
  726. package/dist/esm/schemas/manager/auth/totp/verifyTotp.d.ts.map +1 -1
  727. package/dist/esm/schemas/manager/auth/totp/verifyTotp.js +1 -0
  728. package/dist/esm/schemas/manager/auth/totp/verifyTotp.js.map +1 -1
  729. package/dist/esm/schemas/manager/auth/webauthn/webauthnAuthVerify.d.ts +1 -0
  730. package/dist/esm/schemas/manager/auth/webauthn/webauthnAuthVerify.d.ts.map +1 -1
  731. package/dist/esm/schemas/manager/auth/webauthn/webauthnAuthVerify.js +1 -0
  732. package/dist/esm/schemas/manager/auth/webauthn/webauthnAuthVerify.js.map +1 -1
  733. package/dist/esm/schemas/manager/comments.d.ts +197 -0
  734. package/dist/esm/schemas/manager/comments.d.ts.map +1 -0
  735. package/dist/esm/schemas/manager/comments.js +42 -0
  736. package/dist/esm/schemas/manager/comments.js.map +1 -0
  737. package/dist/esm/schemas/manager/contentType.d.ts +6 -0
  738. package/dist/esm/schemas/manager/contentType.d.ts.map +1 -0
  739. package/dist/esm/schemas/manager/contentType.js +5 -0
  740. package/dist/esm/schemas/manager/contentType.js.map +1 -0
  741. package/dist/esm/schemas/manager/favorites.d.ts +62 -0
  742. package/dist/esm/schemas/manager/favorites.d.ts.map +1 -0
  743. package/dist/esm/schemas/manager/favorites.js +31 -0
  744. package/dist/esm/schemas/manager/favorites.js.map +1 -0
  745. package/dist/esm/schemas/manager/localeVariants.d.ts +517 -0
  746. package/dist/esm/schemas/manager/localeVariants.d.ts.map +1 -0
  747. package/dist/esm/schemas/manager/localeVariants.js +56 -0
  748. package/dist/esm/schemas/manager/localeVariants.js.map +1 -0
  749. package/dist/esm/schemas/manager/media/finalizeUpload.d.ts +1 -0
  750. package/dist/esm/schemas/manager/media/finalizeUpload.d.ts.map +1 -1
  751. package/dist/esm/schemas/manager/media/finalizeUpload.js +1 -0
  752. package/dist/esm/schemas/manager/media/finalizeUpload.js.map +1 -1
  753. package/dist/esm/schemas/manager/media/getMediaUrl.js +1 -1
  754. package/dist/esm/schemas/manager/media/getMediaUrl.js.map +1 -1
  755. package/dist/esm/schemas/manager/media/prepareUpload.d.ts +1 -0
  756. package/dist/esm/schemas/manager/media/prepareUpload.d.ts.map +1 -1
  757. package/dist/esm/schemas/manager/media/prepareUpload.js +1 -0
  758. package/dist/esm/schemas/manager/media/prepareUpload.js.map +1 -1
  759. package/dist/esm/schemas/manager/users.d.ts +26 -0
  760. package/dist/esm/schemas/manager/users.d.ts.map +1 -0
  761. package/dist/esm/schemas/manager/users.js +15 -0
  762. package/dist/esm/schemas/manager/users.js.map +1 -0
  763. package/dist/esm/schemas/web/page.d.ts +24 -0
  764. package/dist/esm/schemas/web/page.d.ts.map +1 -1
  765. package/dist/esm/schemas/web/previewPage.d.ts +16 -0
  766. package/dist/esm/schemas/web/previewPage.d.ts.map +1 -1
  767. package/dist/tsconfig.build.tsbuildinfo +1 -1
  768. package/package.json +7 -1
  769. package/dist/cjs/api/proxies/context.js +0 -13
  770. package/dist/cjs/api/proxies/context.js.map +0 -1
  771. package/dist/cjs/api/proxies/index.js +0 -26
  772. package/dist/cjs/api/proxies/index.js.map +0 -1
  773. package/dist/cjs/internal-content-types/describeField.js +0 -9
  774. package/dist/cjs/internal-content-types/describeField.js.map +0 -1
  775. package/dist/esm/api/proxies/context.d.ts +0 -21
  776. package/dist/esm/api/proxies/context.d.ts.map +0 -1
  777. package/dist/esm/api/proxies/context.js +0 -9
  778. package/dist/esm/api/proxies/context.js.map +0 -1
  779. package/dist/esm/api/proxies/index.d.ts +0 -46
  780. package/dist/esm/api/proxies/index.d.ts.map +0 -1
  781. package/dist/esm/api/proxies/index.js +0 -19
  782. package/dist/esm/api/proxies/index.js.map +0 -1
  783. package/dist/esm/internal-content-types/describeField.d.ts +0 -4
  784. package/dist/esm/internal-content-types/describeField.d.ts.map +0 -1
  785. package/dist/esm/internal-content-types/describeField.js +0 -5
  786. package/dist/esm/internal-content-types/describeField.js.map +0 -1
@@ -8,7 +8,9 @@ const updateTutorialPreferencesHandler = async ({ input, ctx, }) => {
8
8
  const user = ctx.getUser();
9
9
  const db = await (0, orm_1.getMongoService)();
10
10
  const updated = await db.update(internal_content_types_1.ManagerUser, user._id, (0, exports.createTutorialPreferencesUpdate)(input));
11
- return await (0, populateRelations_1.populateRelations)(updated);
11
+ return await (0, populateRelations_1.populateRelations)(updated, {
12
+ exposePrivateMedia: true,
13
+ });
12
14
  };
13
15
  exports.updateTutorialPreferencesHandler = updateTutorialPreferencesHandler;
14
16
  const createTutorialPreferencesUpdate = (input, now = new Date()) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"updateTutorialPreferences.js","sourceRoot":"","sources":["../../../../../../src/api/routes/manager/auth/updateTutorialPreferences.ts"],"names":[],"mappings":";;;AAAA,+EAAiE;AACjE,yCAAkD;AAGlD,kFAA+E;AAExE,MAAM,gCAAgC,GAAG,KAAK,EAAE,EACrD,KAAK,EACL,GAAG,GAIJ,EAAE,EAAE;IACH,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC3B,MAAM,EAAE,GAAG,MAAM,IAAA,qBAAe,GAAE,CAAC;IAEnC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,MAAM,CAC7B,oCAAW,EACX,IAAI,CAAC,GAAG,EACR,IAAA,uCAA+B,EAAC,KAAK,CAAC,CACvC,CAAC;IAEF,OAAO,MAAM,IAAA,qCAAiB,EAAc,OAAO,CAAC,CAAC;AACvD,CAAC,CAAC;AAjBW,QAAA,gCAAgC,oCAiB3C;AAEK,MAAM,+BAA+B,GAAG,CAC7C,KAAqC,EACrC,GAAG,GAAG,IAAI,IAAI,EAAE,EAChB,EAAE,CAAC,CAAC;IACJ,gBAAgB,EAAE,KAAK,CAAC,OAAO;IAC/B,mBAAmB,EAAE,GAAG;CACzB,CAAC,CAAC;AANU,QAAA,+BAA+B,mCAMzC"}
1
+ {"version":3,"file":"updateTutorialPreferences.js","sourceRoot":"","sources":["../../../../../../src/api/routes/manager/auth/updateTutorialPreferences.ts"],"names":[],"mappings":";;;AAAA,+EAAiE;AACjE,yCAAkD;AAGlD,kFAA+E;AAExE,MAAM,gCAAgC,GAAG,KAAK,EAAE,EACrD,KAAK,EACL,GAAG,GAIJ,EAAE,EAAE;IACH,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC3B,MAAM,EAAE,GAAG,MAAM,IAAA,qBAAe,GAAE,CAAC;IAEnC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,MAAM,CAC7B,oCAAW,EACX,IAAI,CAAC,GAAG,EACR,IAAA,uCAA+B,EAAC,KAAK,CAAC,CACvC,CAAC;IAEF,OAAO,MAAM,IAAA,qCAAiB,EAAc,OAAO,EAAE;QACnD,kBAAkB,EAAE,IAAI;KACzB,CAAC,CAAC;AACL,CAAC,CAAC;AAnBW,QAAA,gCAAgC,oCAmB3C;AAEK,MAAM,+BAA+B,GAAG,CAC7C,KAAqC,EACrC,GAAG,GAAG,IAAI,IAAI,EAAE,EAChB,EAAE,CAAC,CAAC;IACJ,gBAAgB,EAAE,KAAK,CAAC,OAAO;IAC/B,mBAAmB,EAAE,GAAG;CACzB,CAAC,CAAC;AANU,QAAA,+BAA+B,mCAMzC"}
@@ -6,8 +6,16 @@ const share_1 = require("./share");
6
6
  const internal_content_types_1 = require("../../../../../internal-content-types");
7
7
  const errors_1 = require("../../../../../lib/errors");
8
8
  const orm_1 = require("../../../../../orm");
9
+ const sessionCookie_1 = require("../../../../sessionCookie");
10
+ const authRateLimit_1 = require("../../../../utils/authRateLimit");
9
11
  const webauthnAuthVerifyHandler = async ({ input, }) => {
10
12
  const db = await (0, orm_1.getMongoService)();
13
+ const rateLimitKey = `mfa:webauthn:${input.challengeToken}`;
14
+ (0, authRateLimit_1.assertAuthRateLimit)({
15
+ key: rateLimitKey,
16
+ limit: 8,
17
+ windowMs: 5 * 60 * 1000,
18
+ });
11
19
  const ch = await db.find(internal_content_types_1.MfaChallenge, { token: input.challengeToken });
12
20
  if (!ch)
13
21
  throw new Error("CHALLENGE_NOT_FOUND");
@@ -61,6 +69,7 @@ const webauthnAuthVerifyHandler = async ({ input, }) => {
61
69
  message: "Authentication failed",
62
70
  });
63
71
  }
72
+ (0, authRateLimit_1.resetAuthRateLimit)(rateLimitKey);
64
73
  // actualiza counter
65
74
  await db.update(internal_content_types_1.WebAuthnCredential, cred._id, {
66
75
  counter: verification.authenticationInfo.newCounter,
@@ -68,7 +77,7 @@ const webauthnAuthVerifyHandler = async ({ input, }) => {
68
77
  // consume challenge
69
78
  await db.update(internal_content_types_1.MfaChallenge, ch._id, { consumedAt: new Date() });
70
79
  const token = crypto.randomUUID();
71
- const expiresAt = new Date(Date.now() + 1000 * 60 * 60 * 24); // 1 day
80
+ const expiresAt = new Date(Date.now() + sessionCookie_1.SESSION_MAX_AGE_MS);
72
81
  await db.create(internal_content_types_1.Session, {
73
82
  token,
74
83
  user: {
@@ -81,6 +90,7 @@ const webauthnAuthVerifyHandler = async ({ input, }) => {
81
90
  });
82
91
  return {
83
92
  token,
93
+ expiresAt: expiresAt.toISOString(),
84
94
  };
85
95
  };
86
96
  exports.webauthnAuthVerifyHandler = webauthnAuthVerifyHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"webauthnAuthVerify.js","sourceRoot":"","sources":["../../../../../../../src/api/routes/manager/auth/webauthn/webauthnAuthVerify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webauthnAuthVerify.js","sourceRoot":"","sources":["../../../../../../../src/api/routes/manager/auth/webauthn/webauthnAuthVerify.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ const orm_1 = require("../../../../orm");
5
5
  const checkPermissions_1 = require("../../../utils/checkPermissions");
6
6
  const createBackupHandler = async ({ input, ctx, }) => {
7
7
  const user = ctx.getUser();
8
- (0, checkPermissions_1.checkPermissions)(user, ["manager.backups.updateAny"]);
8
+ (0, checkPermissions_1.checkPermissions)(user, ["content.Backup.updateAny"]);
9
9
  const db = await (0, orm_1.getMongoService)();
10
10
  return db.backups.create({
11
11
  ...input,
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../../../src/api/routes/manager/backups/create.ts"],"names":[],"mappings":";;;AAAA,yCAAkD;AAMlD,sEAAmE;AAE5D,MAAM,mBAAmB,GAAG,KAAK,EAAE,EACxC,KAAK,EACL,GAAG,GAIJ,EAAyB,EAAE;IAC1B,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC3B,IAAA,mCAAgB,EAAC,IAAI,EAAE,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACtD,MAAM,EAAE,GAAG,MAAM,IAAA,qBAAe,GAAE,CAAC;IACnC,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;QACvB,GAAG,KAAK;QACR,OAAO,EAAE,IAAI,CAAC,GAAG;KAClB,CAAC,CAAC;AACL,CAAC,CAAC;AAdW,QAAA,mBAAmB,uBAc9B"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../../../src/api/routes/manager/backups/create.ts"],"names":[],"mappings":";;;AAAA,yCAAkD;AAMlD,sEAAmE;AAE5D,MAAM,mBAAmB,GAAG,KAAK,EAAE,EACxC,KAAK,EACL,GAAG,GAIJ,EAAyB,EAAE;IAC1B,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC3B,IAAA,mCAAgB,EAAC,IAAI,EAAE,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACrD,MAAM,EAAE,GAAG,MAAM,IAAA,qBAAe,GAAE,CAAC;IACnC,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;QACvB,GAAG,KAAK;QACR,OAAO,EAAE,IAAI,CAAC,GAAG;KAClB,CAAC,CAAC;AACL,CAAC,CAAC;AAdW,QAAA,mBAAmB,uBAc9B"}
@@ -5,7 +5,7 @@ const orm_1 = require("../../../../orm");
5
5
  const checkPermissions_1 = require("../../../utils/checkPermissions");
6
6
  const listBackupsHandler = async ({ ctx, }) => {
7
7
  const user = ctx.getUser();
8
- (0, checkPermissions_1.checkPermissions)(user, ["manager.backups.readAny"]);
8
+ (0, checkPermissions_1.checkPermissions)(user, ["content.Backup.readAny"]);
9
9
  const db = await (0, orm_1.getMongoService)();
10
10
  return db.backups.list();
11
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../../src/api/routes/manager/backups/list.ts"],"names":[],"mappings":";;;AAAA,yCAAkD;AAGlD,sEAAmE;AAE5D,MAAM,kBAAkB,GAAG,KAAK,EAAE,EACvC,GAAG,GAGJ,EAA8B,EAAE;IAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC3B,IAAA,mCAAgB,EAAC,IAAI,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACpD,MAAM,EAAE,GAAG,MAAM,IAAA,qBAAe,GAAE,CAAC;IACnC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AAC3B,CAAC,CAAC;AATW,QAAA,kBAAkB,sBAS7B"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../../src/api/routes/manager/backups/list.ts"],"names":[],"mappings":";;;AAAA,yCAAkD;AAGlD,sEAAmE;AAE5D,MAAM,kBAAkB,GAAG,KAAK,EAAE,EACvC,GAAG,GAGJ,EAA8B,EAAE;IAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC3B,IAAA,mCAAgB,EAAC,IAAI,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC;IACnD,MAAM,EAAE,GAAG,MAAM,IAAA,qBAAe,GAAE,CAAC;IACnC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AAC3B,CAAC,CAAC;AATW,QAAA,kBAAkB,sBAS7B"}
@@ -6,7 +6,7 @@ const orm_1 = require("../../../../orm");
6
6
  const checkPermissions_1 = require("../../../utils/checkPermissions");
7
7
  const restoreBackupHandler = async ({ input, ctx, }) => {
8
8
  const user = ctx.getUser();
9
- (0, checkPermissions_1.checkPermissions)(user, ["manager.backups.updateAny"]);
9
+ (0, checkPermissions_1.checkPermissions)(user, ["content.Backup.updateAny"]);
10
10
  const db = await (0, orm_1.getMongoService)();
11
11
  const result = await db.backups.restore({
12
12
  ...input,
@@ -1 +1 @@
1
- {"version":3,"file":"restore.js","sourceRoot":"","sources":["../../../../../../src/api/routes/manager/backups/restore.ts"],"names":[],"mappings":";;;AAAA,mDAAgD;AAChD,yCAAkD;AAMlD,sEAAmE;AAE5D,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACzC,KAAK,EACL,GAAG,GAIJ,EAAgC,EAAE;IACjC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC3B,IAAA,mCAAgB,EAAC,IAAI,EAAE,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACtD,MAAM,EAAE,GAAG,MAAM,IAAA,qBAAe,GAAE,CAAC;IACnC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;QACtC,GAAG,KAAK;QACR,OAAO,EAAE,IAAI,CAAC,GAAG;KAClB,CAAC,CAAC;IACH,eAAM,CAAC,QAAQ,CAAC,0CAA0C,EAAE;QAC1D,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG;QAC3B,cAAc,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG;QACvC,aAAa,EAAE,MAAM,CAAC,aAAa;KACpC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AApBW,QAAA,oBAAoB,wBAoB/B"}
1
+ {"version":3,"file":"restore.js","sourceRoot":"","sources":["../../../../../../src/api/routes/manager/backups/restore.ts"],"names":[],"mappings":";;;AAAA,mDAAgD;AAChD,yCAAkD;AAMlD,sEAAmE;AAE5D,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACzC,KAAK,EACL,GAAG,GAIJ,EAAgC,EAAE;IACjC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC3B,IAAA,mCAAgB,EAAC,IAAI,EAAE,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACrD,MAAM,EAAE,GAAG,MAAM,IAAA,qBAAe,GAAE,CAAC;IACnC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;QACtC,GAAG,KAAK;QACR,OAAO,EAAE,IAAI,CAAC,GAAG;KAClB,CAAC,CAAC;IACH,eAAM,CAAC,QAAQ,CAAC,0CAA0C,EAAE;QAC1D,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG;QAC3B,cAAc,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG;QACvC,aAAa,EAAE,MAAM,CAAC,aAAa;KACpC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AApBW,QAAA,oBAAoB,wBAoB/B"}
@@ -0,0 +1,209 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toggleCommentReactionHandler = exports.createCommentHandler = exports.listCommentsHandler = void 0;
4
+ const internal_content_types_1 = require("../../../internal-content-types");
5
+ const errors_1 = require("../../../lib/errors");
6
+ const orm_1 = require("../../../orm");
7
+ const checkOwnership_1 = require("../../utils/checkOwnership");
8
+ const requireContentType_1 = require("../../utils/requireContentType");
9
+ const users_1 = require("./users");
10
+ const DEFAULT_COMMENT_LIMIT = 100;
11
+ const MAX_COMMENT_LIMIT = 200;
12
+ const REACTION_KEY_SEPARATOR = ":";
13
+ const normalizeReactionEmoji = (emoji) => emoji.trim();
14
+ const requireCommentableDocument = async ({ ctx, contentTypeName, documentId, }) => {
15
+ const contentType = (0, requireContentType_1.requireContentType)(contentTypeName);
16
+ if (!contentType.comments) {
17
+ (0, errors_1.throwAppError)("FEATURE_UNSUPPORTED", {
18
+ feature: "comments",
19
+ message: `Comments are not enabled for content type ${contentType.name}`,
20
+ });
21
+ }
22
+ await (0, checkOwnership_1.checkOwnership)({
23
+ ctx,
24
+ contentType,
25
+ id: documentId,
26
+ permission: "readAny",
27
+ });
28
+ return contentType;
29
+ };
30
+ const getRelationId = (value) => value && typeof value === "object" && "_id" in value
31
+ ? String(value._id)
32
+ : undefined;
33
+ const getRelationIds = (values) => Array.isArray(values)
34
+ ? values.map(getRelationId).filter((id) => Boolean(id))
35
+ : [];
36
+ const uniqueIds = (ids) => Array.from(new Set(ids));
37
+ const encodeReactionKey = ({ emoji, userId, }) => `${encodeURIComponent(normalizeReactionEmoji(emoji))}${REACTION_KEY_SEPARATOR}${userId}`;
38
+ const getReactionKeys = (values) => Array.isArray(values)
39
+ ? values.filter((value) => typeof value === "string")
40
+ : [];
41
+ const parseReactionKey = (value) => {
42
+ const separatorIndex = value.lastIndexOf(REACTION_KEY_SEPARATOR);
43
+ if (separatorIndex <= 0)
44
+ return null;
45
+ const rawEmoji = value.slice(0, separatorIndex);
46
+ const userId = value.slice(separatorIndex + REACTION_KEY_SEPARATOR.length);
47
+ let emoji = rawEmoji;
48
+ try {
49
+ emoji = decodeURIComponent(rawEmoji);
50
+ }
51
+ catch (_) {
52
+ emoji = rawEmoji;
53
+ }
54
+ emoji = normalizeReactionEmoji(emoji);
55
+ if (!userId || !emoji) {
56
+ return null;
57
+ }
58
+ return {
59
+ emoji,
60
+ userId,
61
+ };
62
+ };
63
+ const getParsedReactions = (values) => getReactionKeys(values)
64
+ .map(parseReactionKey)
65
+ .filter((reaction) => Boolean(reaction));
66
+ const getReactionUserIds = (values) => getParsedReactions(values).map((reaction) => reaction.userId);
67
+ const loadMentionUsers = async (ids) => {
68
+ const unique = uniqueIds(ids);
69
+ if (unique.length === 0) {
70
+ return new Map();
71
+ }
72
+ const db = await (0, orm_1.getMongoService)();
73
+ const users = await db.list(internal_content_types_1.ManagerUser, {
74
+ filter: { _id: { $in: unique } },
75
+ options: {
76
+ fields: ["name", "user", "avatarUrl", "avatarPreviewUrl"],
77
+ limit: "all",
78
+ },
79
+ });
80
+ return new Map(users.items.map((user) => [user._id, (0, users_1.toMentionUser)(user)]));
81
+ };
82
+ const resolveComments = async (comments) => {
83
+ const userIds = uniqueIds(comments.flatMap((comment) => [
84
+ getRelationId(comment.author),
85
+ ...getRelationIds(comment.mentions),
86
+ ...getReactionUserIds(comment.reactions),
87
+ ]).filter((id) => Boolean(id)));
88
+ const usersById = await loadMentionUsers(userIds);
89
+ return comments.map((comment) => {
90
+ const authorId = getRelationId(comment.author) ?? "";
91
+ const reactionsByEmoji = new Map();
92
+ for (const reaction of getParsedReactions(comment.reactions)) {
93
+ const users = reactionsByEmoji.get(reaction.emoji) ?? [];
94
+ if (!users.includes(reaction.userId)) {
95
+ users.push(reaction.userId);
96
+ }
97
+ reactionsByEmoji.set(reaction.emoji, users);
98
+ }
99
+ return {
100
+ _id: comment._id,
101
+ text: comment.text,
102
+ createdAt: comment.createdAt,
103
+ updatedAt: comment.updatedAt,
104
+ author: usersById.get(authorId) ?? (0, users_1.fallbackMentionUser)(authorId),
105
+ mentions: getRelationIds(comment.mentions).map((id) => usersById.get(id) ?? (0, users_1.fallbackMentionUser)(id)),
106
+ reactions: Array.from(reactionsByEmoji.entries()).map(([emoji, userIds]) => ({
107
+ emoji,
108
+ users: userIds.map((id) => usersById.get(id) ?? (0, users_1.fallbackMentionUser)(id)),
109
+ })),
110
+ };
111
+ });
112
+ };
113
+ const listCommentsHandler = async ({ input, ctx, }) => {
114
+ await requireCommentableDocument({
115
+ ctx,
116
+ contentTypeName: input.contentType,
117
+ documentId: input.documentId,
118
+ });
119
+ const limit = Math.min(input.limit ?? DEFAULT_COMMENT_LIMIT, MAX_COMMENT_LIMIT);
120
+ const db = await (0, orm_1.getMongoService)();
121
+ const result = await db.list(internal_content_types_1.ContentComment, {
122
+ filter: {
123
+ contentType: input.contentType,
124
+ documentId: input.documentId,
125
+ },
126
+ options: {
127
+ limit,
128
+ sort: { createdAt: "asc" },
129
+ },
130
+ });
131
+ return {
132
+ totalItems: result.totalItems,
133
+ comments: await resolveComments(result.items),
134
+ };
135
+ };
136
+ exports.listCommentsHandler = listCommentsHandler;
137
+ const createCommentHandler = async ({ input, ctx, }) => {
138
+ await requireCommentableDocument({
139
+ ctx,
140
+ contentTypeName: input.contentType,
141
+ documentId: input.documentId,
142
+ });
143
+ const db = await (0, orm_1.getMongoService)();
144
+ const user = ctx.getUser();
145
+ const mentionsById = await loadMentionUsers(input.mentions ?? []);
146
+ const mentionIds = uniqueIds(input.mentions ?? []).filter((id) => mentionsById.has(id));
147
+ const comment = await db.create(internal_content_types_1.ContentComment, {
148
+ _type: internal_content_types_1.ContentComment.name,
149
+ contentType: input.contentType,
150
+ documentId: input.documentId,
151
+ author: {
152
+ type: "existing",
153
+ _id: user._id,
154
+ contentType: internal_content_types_1.ManagerUser.name,
155
+ },
156
+ text: input.text.trim(),
157
+ mentions: mentionIds.map((id) => ({
158
+ type: "existing",
159
+ _id: id,
160
+ contentType: internal_content_types_1.ManagerUser.name,
161
+ })),
162
+ reactions: [],
163
+ createdBy: user._id,
164
+ updatedBy: user._id,
165
+ }, { actorId: user._id });
166
+ const [resolved] = await resolveComments([comment]);
167
+ return {
168
+ comment: resolved,
169
+ };
170
+ };
171
+ exports.createCommentHandler = createCommentHandler;
172
+ const toggleCommentReactionHandler = async ({ input, ctx, }) => {
173
+ await requireCommentableDocument({
174
+ ctx,
175
+ contentTypeName: input.contentType,
176
+ documentId: input.documentId,
177
+ });
178
+ const db = await (0, orm_1.getMongoService)();
179
+ const user = ctx.getUser();
180
+ const comment = await db.find(internal_content_types_1.ContentComment, {
181
+ _id: input.commentId,
182
+ contentType: input.contentType,
183
+ documentId: input.documentId,
184
+ });
185
+ if (!comment) {
186
+ (0, errors_1.throwAppError)("NOT_FOUND", {
187
+ resource: "ContentComment",
188
+ id: input.commentId,
189
+ });
190
+ }
191
+ const currentKeys = uniqueIds(getParsedReactions(comment.reactions).map(encodeReactionKey));
192
+ const reactionKey = encodeReactionKey({
193
+ emoji: normalizeReactionEmoji(input.emoji),
194
+ userId: user._id,
195
+ });
196
+ const nextKeys = currentKeys.includes(reactionKey)
197
+ ? currentKeys.filter((key) => key !== reactionKey)
198
+ : [...currentKeys, reactionKey];
199
+ const updated = await db.update(internal_content_types_1.ContentComment, input.commentId, {
200
+ reactions: nextKeys,
201
+ updatedBy: user._id,
202
+ }, { actorId: user._id });
203
+ const [resolved] = await resolveComments([updated]);
204
+ return {
205
+ comment: resolved,
206
+ };
207
+ };
208
+ exports.toggleCommentReactionHandler = toggleCommentReactionHandler;
209
+ //# sourceMappingURL=comments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comments.js","sourceRoot":"","sources":["../../../../../src/api/routes/manager/comments.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.contentTypeHandler = void 0;
4
+ const Registry_1 = require("../../../lib/Registry");
5
+ const Permissions_1 = require("../../../lib/Permissions");
6
+ const checkPermissions_1 = require("../../utils/checkPermissions");
7
+ const contentTypeHandler = ({ input, ctx, }) => {
8
+ const contentType = (0, Registry_1.getContentTypeByName)(input.contentType);
9
+ if (!contentType) {
10
+ return null;
11
+ }
12
+ const readPermission = (0, Permissions_1.getContentPermission)(contentType, "readAny");
13
+ if (readPermission) {
14
+ (0, checkPermissions_1.checkAnyPermissions)(ctx.getUser(), [readPermission]);
15
+ }
16
+ return (0, Registry_1.encodeContentTypeForManager)(contentType);
17
+ };
18
+ exports.contentTypeHandler = contentTypeHandler;
19
+ //# sourceMappingURL=contentType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contentType.js","sourceRoot":"","sources":["../../../../../src/api/routes/manager/contentType.ts"],"names":[],"mappings":";;;AACA,oDAG+B;AAC/B,0DAAgE;AAEhE,mEAAmE;AAE5D,MAAM,kBAAkB,GAAG,CAAC,EACjC,KAAK,EACL,GAAG,GAIJ,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,IAAA,+BAAoB,EAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAE5D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,cAAc,GAAG,IAAA,kCAAoB,EAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACpE,IAAI,cAAc,EAAE,CAAC;QACnB,IAAA,sCAAmB,EAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,IAAA,sCAA2B,EAAC,WAAW,CAAC,CAAC;AAClD,CAAC,CAAC;AAnBW,QAAA,kBAAkB,sBAmB7B"}
@@ -9,13 +9,18 @@ const dbService_1 = require("../../../orm/dbService");
9
9
  const checkPermissions_1 = require("../../utils/checkPermissions");
10
10
  const requireContentType_1 = require("../../utils/requireContentType");
11
11
  const revalidatePath_1 = require("../../utils/routes/revalidatePath");
12
- const proxies_1 = require("../../proxies");
12
+ const Permissions_1 = require("../../../lib/Permissions");
13
+ const sanitizeManagerOutput_1 = require("../../utils/sanitizeManagerOutput");
13
14
  const createHandler = async ({ input, ctx, }) => {
14
15
  const db = await (0, orm_1.getMongoService)();
15
- const { contentType: contentTypeName, data } = input;
16
+ const { contentType: contentTypeName } = input;
16
17
  const user = ctx.getUser();
17
18
  const contentType = (0, requireContentType_1.requireContentType)(contentTypeName);
18
- (0, checkPermissions_1.checkPermissions)(user, [`content.${contentTypeName}.own`]);
19
+ const data = input.data;
20
+ const createPermission = (0, Permissions_1.getContentPermission)(contentType, "own");
21
+ if (createPermission) {
22
+ (0, checkPermissions_1.checkPermissions)(user, [createPermission]);
23
+ }
19
24
  if (contentType.name === "Route") {
20
25
  (0, errors_1.throwAppError)("FORBIDDEN", {
21
26
  reason: "Routes are defined in the API and cannot be created from manager",
@@ -28,13 +33,7 @@ const createHandler = async ({ input, ctx, }) => {
28
33
  updatedBy: user._id,
29
34
  });
30
35
  Logger_1.Logger.addTrace("manager.create: input validated");
31
- const inputProxy = (0, proxies_1.getInputProxy)(contentType.name);
32
- let proxied = parsedInput;
33
- if (inputProxy) {
34
- proxied = await inputProxy(parsedInput);
35
- Logger_1.Logger.addTrace("manager.create: input proxied");
36
- }
37
- const created = await db.create(contentType, proxied, {
36
+ const created = await db.create(contentType, parsedInput, {
38
37
  actorId: user._id,
39
38
  });
40
39
  Logger_1.Logger.addTrace("manager.create: db create success", { id: created._id });
@@ -43,7 +42,7 @@ const createHandler = async ({ input, ctx, }) => {
43
42
  contentTypeId: created._id,
44
43
  operation: "create",
45
44
  });
46
- return created;
45
+ return (0, sanitizeManagerOutput_1.sanitizeManagerOutput)(created, contentType);
47
46
  }
48
47
  catch (error) {
49
48
  if (error instanceof zod_1.z.ZodError || error instanceof dbService_1.DbErrorInvalidData) {
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../../src/api/routes/manager/create.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,gDAAoD;AACpD,gDAA6C;AAC7C,sCAA+C;AAC/C,sDAA6E;AAG7E,mEAAgE;AAChE,uEAAoE;AACpE,sEAAwE;AAExE,2CAA8C;AAEvC,MAAM,aAAa,GAAG,KAAK,EAAE,EAClC,KAAK,EACL,GAAG,GAIJ,EAAE,EAAE;IACH,MAAM,EAAE,GAAG,MAAM,IAAA,qBAAe,GAAE,CAAC;IACnC,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACrD,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAE3B,MAAM,WAAW,GAAG,IAAA,uCAAkB,EAAC,eAAe,CAAC,CAAC;IAExD,IAAA,mCAAgB,EAAC,IAAI,EAAE,CAAC,WAAW,eAAe,MAAoB,CAAC,CAAC,CAAC;IAEzE,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACjC,IAAA,sBAAa,EAAC,WAAW,EAAE;YACzB,MAAM,EACJ,kEAAkE;SACrE,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC;YACvC,GAAG,IAAI;YACP,SAAS,EAAE,IAAI,CAAC,GAAG;YACnB,SAAS,EAAE,IAAI,CAAC,GAAG;SACpB,CAAC,CAAC;QACH,eAAM,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;QAEnD,MAAM,UAAU,GAAG,IAAA,uBAAa,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEnD,IAAI,OAAO,GAAG,WAAW,CAAC;QAE1B,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC;YACxC,eAAM,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE;YACpD,OAAO,EAAE,IAAI,CAAC,GAAG;SAClB,CAAC,CAAC;QACH,eAAM,CAAC,QAAQ,CAAC,mCAAmC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAE1E,MAAM,IAAA,oCAAmB,EAAC;YACxB,WAAW,EAAE,WAAW,CAAC,IAAI;YAC7B,aAAa,EAAE,OAAO,CAAC,GAAG;YAC1B,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,OAAC,CAAC,QAAQ,IAAI,KAAK,YAAY,8BAAkB,EAAE,CAAC;YACvE,IAAA,sBAAa,EAAC,YAAY,EAAE;gBAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,KAAK,YAAY,2BAAe,EAAE,CAAC;YACrC,IAAA,sBAAa,EAAC,UAAU,EAAE;gBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,GAAG,EAAE,KAAK,CAAC,OAAiB;aAC7B,CAAC,CAAC;QACL,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAlEW,QAAA,aAAa,iBAkExB"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../../src/api/routes/manager/create.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,gDAAoD;AACpD,gDAA6C;AAC7C,sCAA+C;AAC/C,sDAA6E;AAG7E,mEAAgE;AAChE,uEAAoE;AACpE,sEAAwE;AACxE,0DAAgE;AAChE,6EAA0E;AAEnE,MAAM,aAAa,GAAG,KAAK,EAAE,EAClC,KAAK,EACL,GAAG,GAIJ,EAAE,EAAE;IACH,MAAM,EAAE,GAAG,MAAM,IAAA,qBAAe,GAAE,CAAC;IACnC,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IAC/C,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAE3B,MAAM,WAAW,GAAG,IAAA,uCAAkB,EAAC,eAAe,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,KAAK,CAAC,IAA+B,CAAC;IAEnD,MAAM,gBAAgB,GAAG,IAAA,kCAAoB,EAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAElE,IAAI,gBAAgB,EAAE,CAAC;QACrB,IAAA,mCAAgB,EAAC,IAAI,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACjC,IAAA,sBAAa,EAAC,WAAW,EAAE;YACzB,MAAM,EACJ,kEAAkE;SACrE,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC;YACvC,GAAG,IAAI;YACP,SAAS,EAAE,IAAI,CAAC,GAAG;YACnB,SAAS,EAAE,IAAI,CAAC,GAAG;SACpB,CAAC,CAAC;QACH,eAAM,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;QAEnD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE;YACxD,OAAO,EAAE,IAAI,CAAC,GAAG;SAClB,CAAC,CAAC;QACH,eAAM,CAAC,QAAQ,CAAC,mCAAmC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAE1E,MAAM,IAAA,oCAAmB,EAAC;YACxB,WAAW,EAAE,WAAW,CAAC,IAAI;YAC7B,aAAa,EAAE,OAAO,CAAC,GAAG;YAC1B,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAC;QAEH,OAAO,IAAA,6CAAqB,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,OAAC,CAAC,QAAQ,IAAI,KAAK,YAAY,8BAAkB,EAAE,CAAC;YACvE,IAAA,sBAAa,EAAC,YAAY,EAAE;gBAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,KAAK,YAAY,2BAAe,EAAE,CAAC;YACrC,IAAA,sBAAa,EAAC,UAAU,EAAE;gBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,GAAG,EAAE,KAAK,CAAC,OAAiB;aAC7B,CAAC,CAAC;QACL,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AA9DW,QAAA,aAAa,iBA8DxB"}
@@ -9,6 +9,7 @@ const checkOwnership_1 = require("../../utils/checkOwnership");
9
9
  const deleteMediaStorage_1 = require("./media/deleteMediaStorage");
10
10
  const requireContentType_1 = require("../../utils/requireContentType");
11
11
  const revalidatePath_1 = require("../../utils/routes/revalidatePath");
12
+ const localeVariants_1 = require("../../utils/localeVariants");
12
13
  const deleteHandler = async ({ input, ctx, }) => {
13
14
  const db = await (0, orm_1.getMongoService)();
14
15
  const { contentType: contentTypeName, id } = input;
@@ -43,12 +44,18 @@ const deleteHandler = async ({ input, ctx, }) => {
43
44
  traceName: "manager.delete.media",
44
45
  });
45
46
  }
46
- await db.delete(contentType, { _id: id }, { actorId: ctx.getUser()._id });
47
+ const localeVariantRemoval = await (0, localeVariants_1.prepareLocaleVariantRemoval)({
48
+ contentType,
49
+ id,
50
+ });
51
+ const user = ctx.getUser();
52
+ await db.delete(contentType, { _id: id }, { actorId: user._id });
53
+ await db.delete(internal_content_types_1.ContentComment, { contentType: contentType.name, documentId: id }, { actorId: user._id });
47
54
  Logger_1.Logger.addTrace("manager.delete: db delete success");
48
55
  await (0, revalidatePath_1.checkRevalidatePath)({
49
56
  contentType: contentType.name,
50
- contentTypeId: id,
51
- operation: "delete",
57
+ contentTypeId: localeVariantRemoval.revalidateContentTypeId,
58
+ operation: localeVariantRemoval.revalidateContentTypeId === id ? "delete" : "update",
52
59
  });
53
60
  return { ok: true };
54
61
  };
@@ -1 +1 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../../src/api/routes/manager/delete.ts"],"names":[],"mappings":";;;AAAA,gDAAoD;AACpD,gDAA6C;AAC7C,4EAAwD;AACxD,sCAA+C;AAG/C,+DAA4D;AAC5D,mEAAgE;AAChE,uEAAoE;AACpE,sEAAwE;AAEjE,MAAM,aAAa,GAAG,KAAK,EAAE,EAClC,KAAK,EACL,GAAG,GAIJ,EAAE,EAAE;IACH,MAAM,EAAE,GAAG,MAAM,IAAA,qBAAe,GAAE,CAAC;IACnC,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;IACnD,MAAM,WAAW,GAAG,IAAA,uCAAkB,EAAC,eAAe,CAAC,CAAC;IAExD,MAAM,IAAA,+BAAc,EAAC;QACnB,GAAG;QACH,WAAW;QACX,EAAE;QACF,UAAU,EAAE,WAAW;KACxB,CAAC,CAAC;IAEH,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACjC,IAAA,sBAAa,EAAC,WAAW,EAAE;YACzB,MAAM,EACJ,kEAAkE;SACrE,CAAC,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAChE,eAAM,CAAC,QAAQ,CAAC,uCAAuC,EAAE;QACvD,KAAK,EAAE,YAAY,CAAC,MAAM;KAC3B,CAAC,CAAC;IAEH,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,IAAA,sBAAa,EAAC,UAAU,EAAE;YACxB,OAAO,EAAE,wDAAwD,YAAY;iBAC1E,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC,GAAG,GAAG,CAAC;iBAC/C,IAAI,CAAC,IAAI,CAAC,EAAE;YACf,GAAG,EAAE,oBAAoB;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,KAAK,8BAAK,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,8BAAK,EAAE,EAAE,CAAC,CAAC;QACtC,MAAM,IAAA,uCAAkB,EAAC;YACvB,UAAU,EAAE,CAAC,KAAK,CAAC;YACnB,SAAS,EAAE,sBAAsB;SAClC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1E,eAAM,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;IAErD,MAAM,IAAA,oCAAmB,EAAC;QACxB,WAAW,EAAE,WAAW,CAAC,IAAI;QAC7B,aAAa,EAAE,EAAE;QACjB,SAAS,EAAE,QAAQ;KACpB,CAAC,CAAC;IAEH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC,CAAC;AAzDW,QAAA,aAAa,iBAyDxB"}
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../../src/api/routes/manager/delete.ts"],"names":[],"mappings":";;;AAAA,gDAAoD;AACpD,gDAA6C;AAC7C,4EAAwE;AACxE,sCAA+C;AAG/C,+DAA4D;AAC5D,mEAAgE;AAChE,uEAAoE;AACpE,sEAAwE;AACxE,+DAAyE;AAElE,MAAM,aAAa,GAAG,KAAK,EAAE,EAClC,KAAK,EACL,GAAG,GAIJ,EAAE,EAAE;IACH,MAAM,EAAE,GAAG,MAAM,IAAA,qBAAe,GAAE,CAAC;IACnC,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;IACnD,MAAM,WAAW,GAAG,IAAA,uCAAkB,EAAC,eAAe,CAAC,CAAC;IAExD,MAAM,IAAA,+BAAc,EAAC;QACnB,GAAG;QACH,WAAW;QACX,EAAE;QACF,UAAU,EAAE,WAAW;KACxB,CAAC,CAAC;IAEH,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACjC,IAAA,sBAAa,EAAC,WAAW,EAAE;YACzB,MAAM,EACJ,kEAAkE;SACrE,CAAC,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAChE,eAAM,CAAC,QAAQ,CAAC,uCAAuC,EAAE;QACvD,KAAK,EAAE,YAAY,CAAC,MAAM;KAC3B,CAAC,CAAC;IAEH,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,IAAA,sBAAa,EAAC,UAAU,EAAE;YACxB,OAAO,EAAE,wDAAwD,YAAY;iBAC1E,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC,GAAG,GAAG,CAAC;iBAC/C,IAAI,CAAC,IAAI,CAAC,EAAE;YACf,GAAG,EAAE,oBAAoB;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,KAAK,8BAAK,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,8BAAK,EAAE,EAAE,CAAC,CAAC;QACtC,MAAM,IAAA,uCAAkB,EAAC;YACvB,UAAU,EAAE,CAAC,KAAK,CAAC;YACnB,SAAS,EAAE,sBAAsB;SAClC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,oBAAoB,GAAG,MAAM,IAAA,4CAA2B,EAAC;QAC7D,WAAW;QACX,EAAE;KACH,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAE3B,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACjE,MAAM,EAAE,CAAC,MAAM,CACb,uCAAc,EACd,EAAE,WAAW,EAAE,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,EACjD,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CACtB,CAAC;IACF,eAAM,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;IAErD,MAAM,IAAA,oCAAmB,EAAC;QACxB,WAAW,EAAE,WAAW,CAAC,IAAI;QAC7B,aAAa,EAAE,oBAAoB,CAAC,uBAAuB;QAC3D,SAAS,EACP,oBAAoB,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;KAC5E,CAAC,CAAC;IAEH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC,CAAC;AArEW,QAAA,aAAa,iBAqExB"}
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toggleFavoriteHandler = exports.listFavoritesHandler = void 0;
4
+ const internal_content_types_1 = require("../../../internal-content-types");
5
+ const Registry_1 = require("../../../lib/Registry");
6
+ const orm_1 = require("../../../orm");
7
+ const checkOwnership_1 = require("../../utils/checkOwnership");
8
+ const requireContentType_1 = require("../../utils/requireContentType");
9
+ const favoriteFilter = ({ userId, contentType, documentId, }) => ({
10
+ "user._id": userId,
11
+ ...(contentType ? { contentType } : {}),
12
+ ...(documentId ? { documentId } : {}),
13
+ });
14
+ const getNestedValue = (source, path) => {
15
+ if (!path)
16
+ return undefined;
17
+ return path
18
+ .split(".")
19
+ .reduce((value, key) => value && typeof value === "object"
20
+ ? value[key]
21
+ : undefined, source);
22
+ };
23
+ const resolveUpdatedBy = async (updatedBy) => {
24
+ if (typeof updatedBy !== "string")
25
+ return null;
26
+ const db = await (0, orm_1.getMongoService)();
27
+ const user = await db.get(internal_content_types_1.ManagerUser, updatedBy, ["user", "email"]).catch(() => null);
28
+ if (!user)
29
+ return null;
30
+ return {
31
+ _id: user._id,
32
+ user: user.user,
33
+ email: user.email,
34
+ };
35
+ };
36
+ const resolveFavorite = async ({ ctx, favorite, }) => {
37
+ const contentType = (0, Registry_1.getContentTypeByName)(favorite.contentType);
38
+ if (!contentType)
39
+ return null;
40
+ try {
41
+ await (0, checkOwnership_1.checkOwnership)({
42
+ ctx,
43
+ contentType,
44
+ id: favorite.documentId,
45
+ permission: "readAny",
46
+ });
47
+ const titleField = contentType.listFields?.[0];
48
+ const fields = Array.from(new Set([...(titleField ? [titleField] : []), "updatedAt", "updatedBy"]));
49
+ const document = (await (await (0, orm_1.getMongoService)()).get(contentType, favorite.documentId, fields));
50
+ return {
51
+ contentType: favorite.contentType,
52
+ documentId: favorite.documentId,
53
+ title: getNestedValue(document, titleField),
54
+ updatedAt: document.updatedAt instanceof Date ? document.updatedAt : undefined,
55
+ updatedBy: await resolveUpdatedBy(document.updatedBy),
56
+ };
57
+ }
58
+ catch (_) {
59
+ return null;
60
+ }
61
+ };
62
+ const listFavoritesHandler = async ({ input, ctx, }) => {
63
+ const db = await (0, orm_1.getMongoService)();
64
+ const user = ctx.getUser();
65
+ const favorites = (await db.list(internal_content_types_1.ManagerFavorite, {
66
+ filter: favoriteFilter({
67
+ userId: user._id,
68
+ contentType: input?.contentType,
69
+ documentId: input?.documentId,
70
+ }),
71
+ options: {
72
+ limit: "all",
73
+ sort: { createdAt: "desc" },
74
+ },
75
+ })).items;
76
+ const resolved = await Promise.all(favorites.map((favorite) => resolveFavorite({
77
+ ctx,
78
+ favorite: {
79
+ contentType: favorite.contentType,
80
+ documentId: favorite.documentId,
81
+ },
82
+ })));
83
+ return {
84
+ favorites: resolved.filter((favorite) => Boolean(favorite)),
85
+ };
86
+ };
87
+ exports.listFavoritesHandler = listFavoritesHandler;
88
+ const toggleFavoriteHandler = async ({ input, ctx, }) => {
89
+ const db = await (0, orm_1.getMongoService)();
90
+ const user = ctx.getUser();
91
+ const contentType = (0, requireContentType_1.requireContentType)(input.contentType);
92
+ await (0, checkOwnership_1.checkOwnership)({
93
+ ctx,
94
+ contentType,
95
+ id: input.documentId,
96
+ permission: "readAny",
97
+ });
98
+ const filter = favoriteFilter({
99
+ userId: user._id,
100
+ contentType: input.contentType,
101
+ documentId: input.documentId,
102
+ });
103
+ const existing = await db.find(internal_content_types_1.ManagerFavorite, filter);
104
+ const nextFavorite = input.favorite ?? !existing;
105
+ if (nextFavorite && !existing) {
106
+ await db.create(internal_content_types_1.ManagerFavorite, {
107
+ user: {
108
+ type: "existing",
109
+ _id: user._id,
110
+ contentType: internal_content_types_1.ManagerUser.name,
111
+ },
112
+ contentType: input.contentType,
113
+ documentId: input.documentId,
114
+ _type: internal_content_types_1.ManagerFavorite.name,
115
+ createdBy: user._id,
116
+ updatedBy: user._id,
117
+ }, { actorId: user._id });
118
+ }
119
+ if (!nextFavorite && existing) {
120
+ await db.delete(internal_content_types_1.ManagerFavorite, {
121
+ _id: existing._id,
122
+ }, { actorId: user._id });
123
+ }
124
+ const result = await (0, exports.listFavoritesHandler)({
125
+ input: {
126
+ contentType: input.contentType,
127
+ documentId: input.documentId,
128
+ },
129
+ ctx,
130
+ });
131
+ return {
132
+ favorite: result.favorites.length > 0,
133
+ favorites: result.favorites,
134
+ };
135
+ };
136
+ exports.toggleFavoriteHandler = toggleFavoriteHandler;
137
+ //# sourceMappingURL=favorites.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"favorites.js","sourceRoot":"","sources":["../../../../../src/api/routes/manager/favorites.ts"],"names":[],"mappings":"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"}