@crowi/api 2.0.0-alpha.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 (887) hide show
  1. package/LICENSE +21 -0
  2. package/dist/app.d.ts +8 -0
  3. package/dist/app.js +65 -0
  4. package/dist/app.js.map +1 -0
  5. package/dist/collab/attach.d.ts +33 -0
  6. package/dist/collab/attach.js +341 -0
  7. package/dist/collab/attach.js.map +1 -0
  8. package/dist/collab/extension-redis.d.ts +25 -0
  9. package/dist/collab/extension-redis.js +133 -0
  10. package/dist/collab/extension-redis.js.map +1 -0
  11. package/dist/common/functions/path2name.d.ts +1 -0
  12. package/dist/common/functions/path2name.js +22 -0
  13. package/dist/common/functions/path2name.js.map +1 -0
  14. package/dist/common/functions/renderIcon.d.ts +1 -0
  15. package/dist/common/functions/renderIcon.js +9 -0
  16. package/dist/common/functions/renderIcon.js.map +1 -0
  17. package/dist/controllers/admin.d.ts +3 -0
  18. package/dist/controllers/admin.js +474 -0
  19. package/dist/controllers/admin.js.map +1 -0
  20. package/dist/controllers/attachment.d.ts +4 -0
  21. package/dist/controllers/attachment.js +200 -0
  22. package/dist/controllers/attachment.js.map +1 -0
  23. package/dist/controllers/backlink.d.ts +3 -0
  24. package/dist/controllers/backlink.js +42 -0
  25. package/dist/controllers/backlink.js.map +1 -0
  26. package/dist/controllers/bookmark.d.ts +3 -0
  27. package/dist/controllers/bookmark.js +100 -0
  28. package/dist/controllers/bookmark.js.map +1 -0
  29. package/dist/controllers/comment.d.ts +3 -0
  30. package/dist/controllers/comment.js +111 -0
  31. package/dist/controllers/comment.js.map +1 -0
  32. package/dist/controllers/index.d.ts +25 -0
  33. package/dist/controllers/index.js +44 -0
  34. package/dist/controllers/index.js.map +1 -0
  35. package/dist/controllers/installer.d.ts +3 -0
  36. package/dist/controllers/installer.js +48 -0
  37. package/dist/controllers/installer.js.map +1 -0
  38. package/dist/controllers/login.d.ts +4 -0
  39. package/dist/controllers/login.js +438 -0
  40. package/dist/controllers/login.js.map +1 -0
  41. package/dist/controllers/logout.d.ts +5 -0
  42. package/dist/controllers/logout.js +11 -0
  43. package/dist/controllers/logout.js.map +1 -0
  44. package/dist/controllers/me.d.ts +4 -0
  45. package/dist/controllers/me.js +369 -0
  46. package/dist/controllers/me.js.map +1 -0
  47. package/dist/controllers/notification.d.ts +3 -0
  48. package/dist/controllers/notification.js +88 -0
  49. package/dist/controllers/notification.js.map +1 -0
  50. package/dist/controllers/page.d.ts +3 -0
  51. package/dist/controllers/page.js +881 -0
  52. package/dist/controllers/page.js.map +1 -0
  53. package/dist/controllers/revision.d.ts +3 -0
  54. package/dist/controllers/revision.js +91 -0
  55. package/dist/controllers/revision.js.map +1 -0
  56. package/dist/controllers/search.d.ts +3 -0
  57. package/dist/controllers/search.js +93 -0
  58. package/dist/controllers/search.js.map +1 -0
  59. package/dist/controllers/share.d.ts +3 -0
  60. package/dist/controllers/share.js +207 -0
  61. package/dist/controllers/share.js.map +1 -0
  62. package/dist/controllers/shareAccess.d.ts +3 -0
  63. package/dist/controllers/shareAccess.js +28 -0
  64. package/dist/controllers/shareAccess.js.map +1 -0
  65. package/dist/controllers/slack.d.ts +3 -0
  66. package/dist/controllers/slack.js +87 -0
  67. package/dist/controllers/slack.js.map +1 -0
  68. package/dist/controllers/tokenAuth.d.ts +10 -0
  69. package/dist/controllers/tokenAuth.js +292 -0
  70. package/dist/controllers/tokenAuth.js.map +1 -0
  71. package/dist/controllers/user.d.ts +3 -0
  72. package/dist/controllers/user.js +67 -0
  73. package/dist/controllers/user.js.map +1 -0
  74. package/dist/controllers/version.d.ts +4 -0
  75. package/dist/controllers/version.js +19 -0
  76. package/dist/controllers/version.js.map +1 -0
  77. package/dist/crowi/express-init.d.ts +4 -0
  78. package/dist/crowi/express-init.js +101 -0
  79. package/dist/crowi/express-init.js.map +1 -0
  80. package/dist/crowi/index.d.ts +245 -0
  81. package/dist/crowi/index.js +726 -0
  82. package/dist/crowi/index.js.map +1 -0
  83. package/dist/events/activity.d.ts +7 -0
  84. package/dist/events/activity.js +15 -0
  85. package/dist/events/activity.js.map +1 -0
  86. package/dist/events/bookmark.d.ts +8 -0
  87. package/dist/events/bookmark.js +16 -0
  88. package/dist/events/bookmark.js.map +1 -0
  89. package/dist/events/comment.d.ts +6 -0
  90. package/dist/events/comment.js +14 -0
  91. package/dist/events/comment.js.map +1 -0
  92. package/dist/events/config.d.ts +6 -0
  93. package/dist/events/config.js +12 -0
  94. package/dist/events/config.js.map +1 -0
  95. package/dist/events/index.d.ts +17 -0
  96. package/dist/events/index.js +22 -0
  97. package/dist/events/index.js.map +1 -0
  98. package/dist/events/mention-dispatch.d.ts +44 -0
  99. package/dist/events/mention-dispatch.js +151 -0
  100. package/dist/events/mention-dispatch.js.map +1 -0
  101. package/dist/events/notification.d.ts +7 -0
  102. package/dist/events/notification.js +15 -0
  103. package/dist/events/notification.js.map +1 -0
  104. package/dist/events/page.d.ts +44 -0
  105. package/dist/events/page.js +134 -0
  106. package/dist/events/page.js.map +1 -0
  107. package/dist/events/render-cache.d.ts +24 -0
  108. package/dist/events/render-cache.js +63 -0
  109. package/dist/events/render-cache.js.map +1 -0
  110. package/dist/events/user.d.ts +9 -0
  111. package/dist/events/user.js +39 -0
  112. package/dist/events/user.js.map +1 -0
  113. package/dist/form/admin/app.d.ts +2 -0
  114. package/dist/form/admin/app.js +9 -0
  115. package/dist/form/admin/app.js.map +1 -0
  116. package/dist/form/admin/auth.d.ts +2 -0
  117. package/dist/form/admin/auth.js +9 -0
  118. package/dist/form/admin/auth.js.map +1 -0
  119. package/dist/form/admin/aws.d.ts +2 -0
  120. package/dist/form/admin/aws.js +13 -0
  121. package/dist/form/admin/aws.js.map +1 -0
  122. package/dist/form/admin/github.d.ts +2 -0
  123. package/dist/form/admin/github.js +15 -0
  124. package/dist/form/admin/github.js.map +1 -0
  125. package/dist/form/admin/google.d.ts +2 -0
  126. package/dist/form/admin/google.js +13 -0
  127. package/dist/form/admin/google.js.map +1 -0
  128. package/dist/form/admin/mail.d.ts +2 -0
  129. package/dist/form/admin/mail.js +13 -0
  130. package/dist/form/admin/mail.js.map +1 -0
  131. package/dist/form/admin/sec.d.ts +2 -0
  132. package/dist/form/admin/sec.js +10 -0
  133. package/dist/form/admin/sec.js.map +1 -0
  134. package/dist/form/admin/slackSetting.d.ts +2 -0
  135. package/dist/form/admin/slackSetting.js +13 -0
  136. package/dist/form/admin/slackSetting.js.map +1 -0
  137. package/dist/form/admin/userEdit.d.ts +2 -0
  138. package/dist/form/admin/userEdit.js +9 -0
  139. package/dist/form/admin/userEdit.js.map +1 -0
  140. package/dist/form/admin/userInvite.d.ts +2 -0
  141. package/dist/form/admin/userInvite.js +9 -0
  142. package/dist/form/admin/userInvite.js.map +1 -0
  143. package/dist/form/comment.d.ts +2 -0
  144. package/dist/form/comment.js +9 -0
  145. package/dist/form/comment.js.map +1 -0
  146. package/dist/form/index.d.ts +25 -0
  147. package/dist/form/index.js +48 -0
  148. package/dist/form/index.js.map +1 -0
  149. package/dist/form/invited.d.ts +2 -0
  150. package/dist/form/invited.js +13 -0
  151. package/dist/form/invited.js.map +1 -0
  152. package/dist/form/login.d.ts +2 -0
  153. package/dist/form/login.js +11 -0
  154. package/dist/form/login.js.map +1 -0
  155. package/dist/form/me/apiToken.d.ts +2 -0
  156. package/dist/form/me/apiToken.js +9 -0
  157. package/dist/form/me/apiToken.js.map +1 -0
  158. package/dist/form/me/password.d.ts +2 -0
  159. package/dist/form/me/password.js +11 -0
  160. package/dist/form/me/password.js.map +1 -0
  161. package/dist/form/me/user.d.ts +2 -0
  162. package/dist/form/me/user.js +9 -0
  163. package/dist/form/me/user.js.map +1 -0
  164. package/dist/form/register.d.ts +2 -0
  165. package/dist/form/register.js +13 -0
  166. package/dist/form/register.js.map +1 -0
  167. package/dist/form/revision.d.ts +2 -0
  168. package/dist/form/revision.js +13 -0
  169. package/dist/form/revision.js.map +1 -0
  170. package/dist/hono/app.d.ts +19 -0
  171. package/dist/hono/app.js +21 -0
  172. package/dist/hono/app.js.map +1 -0
  173. package/dist/hono/handlers/_helpers/errors.d.ts +61 -0
  174. package/dist/hono/handlers/_helpers/errors.js +51 -0
  175. package/dist/hono/handlers/_helpers/errors.js.map +1 -0
  176. package/dist/hono/handlers/_helpers/user-shape.d.ts +46 -0
  177. package/dist/hono/handlers/_helpers/user-shape.js +23 -0
  178. package/dist/hono/handlers/_helpers/user-shape.js.map +1 -0
  179. package/dist/hono/handlers/access-token.d.ts +221 -0
  180. package/dist/hono/handlers/access-token.js +113 -0
  181. package/dist/hono/handlers/access-token.js.map +1 -0
  182. package/dist/hono/handlers/activation.d.ts +117 -0
  183. package/dist/hono/handlers/activation.js +77 -0
  184. package/dist/hono/handlers/activation.js.map +1 -0
  185. package/dist/hono/handlers/admin/app.d.ts +123 -0
  186. package/dist/hono/handlers/admin/app.js +76 -0
  187. package/dist/hono/handlers/admin/app.js.map +1 -0
  188. package/dist/hono/handlers/admin/auth.d.ts +127 -0
  189. package/dist/hono/handlers/admin/auth.js +91 -0
  190. package/dist/hono/handlers/admin/auth.js.map +1 -0
  191. package/dist/hono/handlers/admin/mail.d.ts +168 -0
  192. package/dist/hono/handlers/admin/mail.js +76 -0
  193. package/dist/hono/handlers/admin/mail.js.map +1 -0
  194. package/dist/hono/handlers/admin/plugins.d.ts +409 -0
  195. package/dist/hono/handlers/admin/plugins.js +257 -0
  196. package/dist/hono/handlers/admin/plugins.js.map +1 -0
  197. package/dist/hono/handlers/admin/search.d.ts +57 -0
  198. package/dist/hono/handlers/admin/search.js +55 -0
  199. package/dist/hono/handlers/admin/search.js.map +1 -0
  200. package/dist/hono/handlers/admin/security.d.ts +112 -0
  201. package/dist/hono/handlers/admin/security.js +71 -0
  202. package/dist/hono/handlers/admin/security.js.map +1 -0
  203. package/dist/hono/handlers/admin/share.d.ts +106 -0
  204. package/dist/hono/handlers/admin/share.js +55 -0
  205. package/dist/hono/handlers/admin/share.js.map +1 -0
  206. package/dist/hono/handlers/admin/storage.d.ts +55 -0
  207. package/dist/hono/handlers/admin/storage.js +40 -0
  208. package/dist/hono/handlers/admin/storage.js.map +1 -0
  209. package/dist/hono/handlers/admin/users.d.ts +1230 -0
  210. package/dist/hono/handlers/admin/users.js +316 -0
  211. package/dist/hono/handlers/admin/users.js.map +1 -0
  212. package/dist/hono/handlers/adminCrypto.d.ts +110 -0
  213. package/dist/hono/handlers/adminCrypto.js +151 -0
  214. package/dist/hono/handlers/adminCrypto.js.map +1 -0
  215. package/dist/hono/handlers/app.d.ts +26 -0
  216. package/dist/hono/handlers/app.js +34 -0
  217. package/dist/hono/handlers/app.js.map +1 -0
  218. package/dist/hono/handlers/attachment-stream.d.ts +4 -0
  219. package/dist/hono/handlers/attachment-stream.js +211 -0
  220. package/dist/hono/handlers/attachment-stream.js.map +1 -0
  221. package/dist/hono/handlers/attachment.d.ts +687 -0
  222. package/dist/hono/handlers/attachment.js +566 -0
  223. package/dist/hono/handlers/attachment.js.map +1 -0
  224. package/dist/hono/handlers/autocomplete.d.ts +160 -0
  225. package/dist/hono/handlers/autocomplete.js +181 -0
  226. package/dist/hono/handlers/autocomplete.js.map +1 -0
  227. package/dist/hono/handlers/backlink.d.ts +78 -0
  228. package/dist/hono/handlers/backlink.js +93 -0
  229. package/dist/hono/handlers/backlink.js.map +1 -0
  230. package/dist/hono/handlers/bookmark.d.ts +558 -0
  231. package/dist/hono/handlers/bookmark.js +166 -0
  232. package/dist/hono/handlers/bookmark.js.map +1 -0
  233. package/dist/hono/handlers/comment.d.ts +231 -0
  234. package/dist/hono/handlers/comment.js +191 -0
  235. package/dist/hono/handlers/comment.js.map +1 -0
  236. package/dist/hono/handlers/draft.d.ts +136 -0
  237. package/dist/hono/handlers/draft.js +191 -0
  238. package/dist/hono/handlers/draft.js.map +1 -0
  239. package/dist/hono/handlers/emailChange.d.ts +124 -0
  240. package/dist/hono/handlers/emailChange.js +79 -0
  241. package/dist/hono/handlers/emailChange.js.map +1 -0
  242. package/dist/hono/handlers/installer.d.ts +94 -0
  243. package/dist/hono/handlers/installer.js +93 -0
  244. package/dist/hono/handlers/installer.js.map +1 -0
  245. package/dist/hono/handlers/inviteAccept.d.ts +180 -0
  246. package/dist/hono/handlers/inviteAccept.js +94 -0
  247. package/dist/hono/handlers/inviteAccept.js.map +1 -0
  248. package/dist/hono/handlers/me.d.ts +401 -0
  249. package/dist/hono/handlers/me.js +390 -0
  250. package/dist/hono/handlers/me.js.map +1 -0
  251. package/dist/hono/handlers/notification.d.ts +274 -0
  252. package/dist/hono/handlers/notification.js +224 -0
  253. package/dist/hono/handlers/notification.js.map +1 -0
  254. package/dist/hono/handlers/oauth.d.ts +299 -0
  255. package/dist/hono/handlers/oauth.js +443 -0
  256. package/dist/hono/handlers/oauth.js.map +1 -0
  257. package/dist/hono/handlers/page-collab.d.ts +79 -0
  258. package/dist/hono/handlers/page-collab.js +98 -0
  259. package/dist/hono/handlers/page-collab.js.map +1 -0
  260. package/dist/hono/handlers/page-preview.d.ts +48 -0
  261. package/dist/hono/handlers/page-preview.js +83 -0
  262. package/dist/hono/handlers/page-preview.js.map +1 -0
  263. package/dist/hono/handlers/page.d.ts +2059 -0
  264. package/dist/hono/handlers/page.js +793 -0
  265. package/dist/hono/handlers/page.js.map +1 -0
  266. package/dist/hono/handlers/passwordReset.d.ts +181 -0
  267. package/dist/hono/handlers/passwordReset.js +101 -0
  268. package/dist/hono/handlers/passwordReset.js.map +1 -0
  269. package/dist/hono/handlers/presence.d.ts +178 -0
  270. package/dist/hono/handlers/presence.js +163 -0
  271. package/dist/hono/handlers/presence.js.map +1 -0
  272. package/dist/hono/handlers/revision.d.ts +345 -0
  273. package/dist/hono/handlers/revision.js +202 -0
  274. package/dist/hono/handlers/revision.js.map +1 -0
  275. package/dist/hono/handlers/search.d.ts +208 -0
  276. package/dist/hono/handlers/search.js +152 -0
  277. package/dist/hono/handlers/search.js.map +1 -0
  278. package/dist/hono/handlers/tokenAuth.d.ts +369 -0
  279. package/dist/hono/handlers/tokenAuth.js +240 -0
  280. package/dist/hono/handlers/tokenAuth.js.map +1 -0
  281. package/dist/hono/handlers/user.d.ts +710 -0
  282. package/dist/hono/handlers/user.js +212 -0
  283. package/dist/hono/handlers/user.js.map +1 -0
  284. package/dist/hono/index.d.ts +289 -0
  285. package/dist/hono/index.js +240 -0
  286. package/dist/hono/index.js.map +1 -0
  287. package/dist/hono/middleware/admin.d.ts +5 -0
  288. package/dist/hono/middleware/admin.js +34 -0
  289. package/dist/hono/middleware/admin.js.map +1 -0
  290. package/dist/hono/middleware/auth.d.ts +54 -0
  291. package/dist/hono/middleware/auth.js +142 -0
  292. package/dist/hono/middleware/auth.js.map +1 -0
  293. package/dist/hono/middleware/cors.d.ts +3 -0
  294. package/dist/hono/middleware/cors.js +86 -0
  295. package/dist/hono/middleware/cors.js.map +1 -0
  296. package/dist/hono/middleware/default-hook.d.ts +8 -0
  297. package/dist/hono/middleware/default-hook.js +17 -0
  298. package/dist/hono/middleware/default-hook.js.map +1 -0
  299. package/dist/hono/middleware/error-handler.d.ts +2 -0
  300. package/dist/hono/middleware/error-handler.js +20 -0
  301. package/dist/hono/middleware/error-handler.js.map +1 -0
  302. package/dist/hono/middleware/rate-limit.d.ts +57 -0
  303. package/dist/hono/middleware/rate-limit.js +42 -0
  304. package/dist/hono/middleware/rate-limit.js.map +1 -0
  305. package/dist/hono/middleware/require-scope.d.ts +50 -0
  306. package/dist/hono/middleware/require-scope.js +64 -0
  307. package/dist/hono/middleware/require-scope.js.map +1 -0
  308. package/dist/hono/path-rewrite.d.ts +15 -0
  309. package/dist/hono/path-rewrite.js +59 -0
  310. package/dist/hono/path-rewrite.js.map +1 -0
  311. package/dist/mail/i18n/en.d.ts +2 -0
  312. package/dist/mail/i18n/en.js +66 -0
  313. package/dist/mail/i18n/en.js.map +1 -0
  314. package/dist/mail/i18n/index.d.ts +46 -0
  315. package/dist/mail/i18n/index.js +31 -0
  316. package/dist/mail/i18n/index.js.map +1 -0
  317. package/dist/mail/i18n/ja.d.ts +2 -0
  318. package/dist/mail/i18n/ja.js +66 -0
  319. package/dist/mail/i18n/ja.js.map +1 -0
  320. package/dist/mcp/attach.d.ts +25 -0
  321. package/dist/mcp/attach.js +104 -0
  322. package/dist/mcp/attach.js.map +1 -0
  323. package/dist/mcp/dispatch.d.ts +59 -0
  324. package/dist/mcp/dispatch.js +70 -0
  325. package/dist/mcp/dispatch.js.map +1 -0
  326. package/dist/mcp/result.d.ts +40 -0
  327. package/dist/mcp/result.js +78 -0
  328. package/dist/mcp/result.js.map +1 -0
  329. package/dist/mcp/server.d.ts +67 -0
  330. package/dist/mcp/server.js +113 -0
  331. package/dist/mcp/server.js.map +1 -0
  332. package/dist/mcp/tools/page.d.ts +2 -0
  333. package/dist/mcp/tools/page.js +256 -0
  334. package/dist/mcp/tools/page.js.map +1 -0
  335. package/dist/mcp/tools/search.d.ts +2 -0
  336. package/dist/mcp/tools/search.js +36 -0
  337. package/dist/mcp/tools/search.js.map +1 -0
  338. package/dist/middlewares/accessTokenParser.d.ts +4 -0
  339. package/dist/middlewares/accessTokenParser.js +29 -0
  340. package/dist/middlewares/accessTokenParser.js.map +1 -0
  341. package/dist/middlewares/adminRequired.d.ts +10 -0
  342. package/dist/middlewares/adminRequired.js +35 -0
  343. package/dist/middlewares/adminRequired.js.map +1 -0
  344. package/dist/middlewares/applicationInstalled.d.ts +3 -0
  345. package/dist/middlewares/applicationInstalled.js +20 -0
  346. package/dist/middlewares/applicationInstalled.js.map +1 -0
  347. package/dist/middlewares/applicationNotInstalled.d.ts +3 -0
  348. package/dist/middlewares/applicationNotInstalled.js +13 -0
  349. package/dist/middlewares/applicationNotInstalled.js.map +1 -0
  350. package/dist/middlewares/basicAuth.d.ts +4 -0
  351. package/dist/middlewares/basicAuth.js +23 -0
  352. package/dist/middlewares/basicAuth.js.map +1 -0
  353. package/dist/middlewares/csrfVerify.d.ts +4 -0
  354. package/dist/middlewares/csrfVerify.js +24 -0
  355. package/dist/middlewares/csrfVerify.js.map +1 -0
  356. package/dist/middlewares/encodeSpace.d.ts +3 -0
  357. package/dist/middlewares/encodeSpace.js +14 -0
  358. package/dist/middlewares/encodeSpace.js.map +1 -0
  359. package/dist/middlewares/fileAccessRightOrLoginRequired.d.ts +4 -0
  360. package/dist/middlewares/fileAccessRightOrLoginRequired.js +29 -0
  361. package/dist/middlewares/fileAccessRightOrLoginRequired.js.map +1 -0
  362. package/dist/middlewares/index.d.ts +16 -0
  363. package/dist/middlewares/index.js +30 -0
  364. package/dist/middlewares/index.js.map +1 -0
  365. package/dist/middlewares/jwtAdminRequired.d.ts +8 -0
  366. package/dist/middlewares/jwtAdminRequired.js +35 -0
  367. package/dist/middlewares/jwtAdminRequired.js.map +1 -0
  368. package/dist/middlewares/jwtAuth.d.ts +4 -0
  369. package/dist/middlewares/jwtAuth.js +104 -0
  370. package/dist/middlewares/jwtAuth.js.map +1 -0
  371. package/dist/middlewares/loginChecker.d.ts +4 -0
  372. package/dist/middlewares/loginChecker.js +32 -0
  373. package/dist/middlewares/loginChecker.js.map +1 -0
  374. package/dist/middlewares/loginRequired.d.ts +4 -0
  375. package/dist/middlewares/loginRequired.js +88 -0
  376. package/dist/middlewares/loginRequired.js.map +1 -0
  377. package/dist/migration/cli-api.d.ts +83 -0
  378. package/dist/migration/cli-api.js +128 -0
  379. package/dist/migration/cli-api.js.map +1 -0
  380. package/dist/migration/migrations/index.d.ts +12 -0
  381. package/dist/migration/migrations/index.js +24 -0
  382. package/dist/migration/migrations/index.js.map +1 -0
  383. package/dist/migration/migrations/page-status-default.d.ts +25 -0
  384. package/dist/migration/migrations/page-status-default.js +79 -0
  385. package/dist/migration/migrations/page-status-default.js.map +1 -0
  386. package/dist/migration/migrations/revisions-schema-unify.d.ts +33 -0
  387. package/dist/migration/migrations/revisions-schema-unify.js +88 -0
  388. package/dist/migration/migrations/revisions-schema-unify.js.map +1 -0
  389. package/dist/migration/migrations/user-unique-prepare.d.ts +1 -0
  390. package/dist/migration/migrations/user-unique-prepare.js +214 -0
  391. package/dist/migration/migrations/user-unique-prepare.js.map +1 -0
  392. package/dist/migration/migrations/wikilink-format.d.ts +97 -0
  393. package/dist/migration/migrations/wikilink-format.js +418 -0
  394. package/dist/migration/migrations/wikilink-format.js.map +1 -0
  395. package/dist/migration/rebuild-api.d.ts +50 -0
  396. package/dist/migration/rebuild-api.js +45 -0
  397. package/dist/migration/rebuild-api.js.map +1 -0
  398. package/dist/migration/rebuild-runner.d.ts +64 -0
  399. package/dist/migration/rebuild-runner.js +42 -0
  400. package/dist/migration/rebuild-runner.js.map +1 -0
  401. package/dist/migration/rebuilds/index.d.ts +26 -0
  402. package/dist/migration/rebuilds/index.js +69 -0
  403. package/dist/migration/rebuilds/index.js.map +1 -0
  404. package/dist/migration/registry.d.ts +15 -0
  405. package/dist/migration/registry.js +96 -0
  406. package/dist/migration/registry.js.map +1 -0
  407. package/dist/migration/run-boot-migrations.d.ts +31 -0
  408. package/dist/migration/run-boot-migrations.js +95 -0
  409. package/dist/migration/run-boot-migrations.js.map +1 -0
  410. package/dist/migration/runner.d.ts +120 -0
  411. package/dist/migration/runner.js +276 -0
  412. package/dist/migration/runner.js.map +1 -0
  413. package/dist/migration/types.d.ts +153 -0
  414. package/dist/migration/types.js +13 -0
  415. package/dist/migration/types.js.map +1 -0
  416. package/dist/models/activity.d.ts +34 -0
  417. package/dist/models/activity.js +263 -0
  418. package/dist/models/activity.js.map +1 -0
  419. package/dist/models/attachment.d.ts +25 -0
  420. package/dist/models/attachment.js +82 -0
  421. package/dist/models/attachment.js.map +1 -0
  422. package/dist/models/backlink.d.ts +19 -0
  423. package/dist/models/backlink.js +138 -0
  424. package/dist/models/backlink.js.map +1 -0
  425. package/dist/models/bookmark.d.ts +28 -0
  426. package/dist/models/bookmark.js +136 -0
  427. package/dist/models/bookmark.js.map +1 -0
  428. package/dist/models/comment.d.ts +21 -0
  429. package/dist/models/comment.js +87 -0
  430. package/dist/models/comment.js.map +1 -0
  431. package/dist/models/config-sensitive.d.ts +21 -0
  432. package/dist/models/config-sensitive.js +71 -0
  433. package/dist/models/config-sensitive.js.map +1 -0
  434. package/dist/models/config.d.ts +34 -0
  435. package/dist/models/config.js +161 -0
  436. package/dist/models/config.js.map +1 -0
  437. package/dist/models/index.d.ts +30 -0
  438. package/dist/models/index.js +55 -0
  439. package/dist/models/index.js.map +1 -0
  440. package/dist/models/migration-application.d.ts +54 -0
  441. package/dist/models/migration-application.js +36 -0
  442. package/dist/models/migration-application.js.map +1 -0
  443. package/dist/models/notification.d.ts +28 -0
  444. package/dist/models/notification.js +285 -0
  445. package/dist/models/notification.js.map +1 -0
  446. package/dist/models/oauth-authorization-code.d.ts +34 -0
  447. package/dist/models/oauth-authorization-code.js +100 -0
  448. package/dist/models/oauth-authorization-code.js.map +1 -0
  449. package/dist/models/oauth-client.d.ts +36 -0
  450. package/dist/models/oauth-client.js +56 -0
  451. package/dist/models/oauth-client.js.map +1 -0
  452. package/dist/models/oauth-device-code.d.ts +55 -0
  453. package/dist/models/oauth-device-code.js +158 -0
  454. package/dist/models/oauth-device-code.js.map +1 -0
  455. package/dist/models/oauth-refresh-token.d.ts +31 -0
  456. package/dist/models/oauth-refresh-token.js +118 -0
  457. package/dist/models/oauth-refresh-token.js.map +1 -0
  458. package/dist/models/page-yjs-update.d.ts +35 -0
  459. package/dist/models/page-yjs-update.js +33 -0
  460. package/dist/models/page-yjs-update.js.map +1 -0
  461. package/dist/models/page.d.ts +200 -0
  462. package/dist/models/page.js +1117 -0
  463. package/dist/models/page.js.map +1 -0
  464. package/dist/models/personal-access-token.d.ts +30 -0
  465. package/dist/models/personal-access-token.js +107 -0
  466. package/dist/models/personal-access-token.js.map +1 -0
  467. package/dist/models/plugin-render-cache.d.ts +40 -0
  468. package/dist/models/plugin-render-cache.js +39 -0
  469. package/dist/models/plugin-render-cache.js.map +1 -0
  470. package/dist/models/revision.d.ts +145 -0
  471. package/dist/models/revision.js +241 -0
  472. package/dist/models/revision.js.map +1 -0
  473. package/dist/models/share.d.ts +38 -0
  474. package/dist/models/share.js +137 -0
  475. package/dist/models/share.js.map +1 -0
  476. package/dist/models/shareAccess.d.ts +20 -0
  477. package/dist/models/shareAccess.js +45 -0
  478. package/dist/models/shareAccess.js.map +1 -0
  479. package/dist/models/tracking.d.ts +14 -0
  480. package/dist/models/tracking.js +14 -0
  481. package/dist/models/tracking.js.map +1 -0
  482. package/dist/models/updatePost.d.ts +25 -0
  483. package/dist/models/updatePost.js +87 -0
  484. package/dist/models/updatePost.js.map +1 -0
  485. package/dist/models/user.d.ts +144 -0
  486. package/dist/models/user.js +681 -0
  487. package/dist/models/user.js.map +1 -0
  488. package/dist/models/watcher.d.ts +23 -0
  489. package/dist/models/watcher.js +75 -0
  490. package/dist/models/watcher.js.map +1 -0
  491. package/dist/notifications/attach.d.ts +63 -0
  492. package/dist/notifications/attach.js +426 -0
  493. package/dist/notifications/attach.js.map +1 -0
  494. package/dist/notifications/channel.d.ts +13 -0
  495. package/dist/notifications/channel.js +18 -0
  496. package/dist/notifications/channel.js.map +1 -0
  497. package/dist/plugin/index.d.ts +2 -0
  498. package/dist/plugin/index.js +6 -0
  499. package/dist/plugin/index.js.map +1 -0
  500. package/dist/plugin/plugin-context.d.ts +22 -0
  501. package/dist/plugin/plugin-context.js +126 -0
  502. package/dist/plugin/plugin-context.js.map +1 -0
  503. package/dist/plugin/plugin-manager.d.ts +164 -0
  504. package/dist/plugin/plugin-manager.js +328 -0
  505. package/dist/plugin/plugin-manager.js.map +1 -0
  506. package/dist/plugin/plugin-namespace.d.ts +28 -0
  507. package/dist/plugin/plugin-namespace.js +53 -0
  508. package/dist/plugin/plugin-namespace.js.map +1 -0
  509. package/dist/plugin/registries.d.ts +38 -0
  510. package/dist/plugin/registries.js +71 -0
  511. package/dist/plugin/registries.js.map +1 -0
  512. package/dist/plugin/schema-serializer.d.ts +34 -0
  513. package/dist/plugin/schema-serializer.js +122 -0
  514. package/dist/plugin/schema-serializer.js.map +1 -0
  515. package/dist/plugin/topo-sort.d.ts +15 -0
  516. package/dist/plugin/topo-sort.js +59 -0
  517. package/dist/plugin/topo-sort.js.map +1 -0
  518. package/dist/presence/attach.d.ts +36 -0
  519. package/dist/presence/attach.js +399 -0
  520. package/dist/presence/attach.js.map +1 -0
  521. package/dist/renderer/__fixtures__/echo-embed.d.ts +27 -0
  522. package/dist/renderer/__fixtures__/echo-embed.js +24 -0
  523. package/dist/renderer/__fixtures__/echo-embed.js.map +1 -0
  524. package/dist/renderer/cache/index.d.ts +60 -0
  525. package/dist/renderer/cache/index.js +219 -0
  526. package/dist/renderer/cache/index.js.map +1 -0
  527. package/dist/renderer/cache/mongodb-cache.d.ts +82 -0
  528. package/dist/renderer/cache/mongodb-cache.js +180 -0
  529. package/dist/renderer/cache/mongodb-cache.js.map +1 -0
  530. package/dist/renderer/cache/reservation.d.ts +20 -0
  531. package/dist/renderer/cache/reservation.js +115 -0
  532. package/dist/renderer/cache/reservation.js.map +1 -0
  533. package/dist/renderer/core/_mdast-walk.d.ts +35 -0
  534. package/dist/renderer/core/_mdast-walk.js +45 -0
  535. package/dist/renderer/core/_mdast-walk.js.map +1 -0
  536. package/dist/renderer/core/code-block-dispatch.d.ts +31 -0
  537. package/dist/renderer/core/code-block-dispatch.js +166 -0
  538. package/dist/renderer/core/code-block-dispatch.js.map +1 -0
  539. package/dist/renderer/core/code-blocks.d.ts +12 -0
  540. package/dist/renderer/core/code-blocks.js +32 -0
  541. package/dist/renderer/core/code-blocks.js.map +1 -0
  542. package/dist/renderer/core/embed-tags.d.ts +14 -0
  543. package/dist/renderer/core/embed-tags.js +154 -0
  544. package/dist/renderer/core/embed-tags.js.map +1 -0
  545. package/dist/renderer/core/headings.d.ts +16 -0
  546. package/dist/renderer/core/headings.js +31 -0
  547. package/dist/renderer/core/headings.js.map +1 -0
  548. package/dist/renderer/core/index.d.ts +65 -0
  549. package/dist/renderer/core/index.js +83 -0
  550. package/dist/renderer/core/index.js.map +1 -0
  551. package/dist/renderer/core/mention-resolve.d.ts +39 -0
  552. package/dist/renderer/core/mention-resolve.js +75 -0
  553. package/dist/renderer/core/mention-resolve.js.map +1 -0
  554. package/dist/renderer/core/mentions.d.ts +2 -0
  555. package/dist/renderer/core/mentions.js +83 -0
  556. package/dist/renderer/core/mentions.js.map +1 -0
  557. package/dist/renderer/core/syntax-highlight.d.ts +21 -0
  558. package/dist/renderer/core/syntax-highlight.js +64 -0
  559. package/dist/renderer/core/syntax-highlight.js.map +1 -0
  560. package/dist/renderer/core/url-inline-expand.d.ts +9 -0
  561. package/dist/renderer/core/url-inline-expand.js +157 -0
  562. package/dist/renderer/core/url-inline-expand.js.map +1 -0
  563. package/dist/renderer/core/wikilinks.d.ts +2 -0
  564. package/dist/renderer/core/wikilinks.js +118 -0
  565. package/dist/renderer/core/wikilinks.js.map +1 -0
  566. package/dist/renderer/index.d.ts +67 -0
  567. package/dist/renderer/index.js +99 -0
  568. package/dist/renderer/index.js.map +1 -0
  569. package/dist/renderer/pipeline.d.ts +134 -0
  570. package/dist/renderer/pipeline.js +203 -0
  571. package/dist/renderer/pipeline.js.map +1 -0
  572. package/dist/renderer/registry.d.ts +83 -0
  573. package/dist/renderer/registry.js +130 -0
  574. package/dist/renderer/registry.js.map +1 -0
  575. package/dist/renderer/serialize.d.ts +27 -0
  576. package/dist/renderer/serialize.js +46 -0
  577. package/dist/renderer/serialize.js.map +1 -0
  578. package/dist/renderer/version.d.ts +30 -0
  579. package/dist/renderer/version.js +34 -0
  580. package/dist/renderer/version.js.map +1 -0
  581. package/dist/routes/admin.d.ts +4 -0
  582. package/dist/routes/admin.js +17 -0
  583. package/dist/routes/admin.js.map +1 -0
  584. package/dist/routes/api/admin.d.ts +4 -0
  585. package/dist/routes/api/admin.js +37 -0
  586. package/dist/routes/api/admin.js.map +1 -0
  587. package/dist/routes/api/attachment.d.ts +4 -0
  588. package/dist/routes/api/attachment.js +19 -0
  589. package/dist/routes/api/attachment.js.map +1 -0
  590. package/dist/routes/api/bookmark.d.ts +4 -0
  591. package/dist/routes/api/bookmark.js +15 -0
  592. package/dist/routes/api/bookmark.js.map +1 -0
  593. package/dist/routes/api/comment.d.ts +4 -0
  594. package/dist/routes/api/comment.js +14 -0
  595. package/dist/routes/api/comment.js.map +1 -0
  596. package/dist/routes/api/index.d.ts +4 -0
  597. package/dist/routes/api/index.js +36 -0
  598. package/dist/routes/api/index.js.map +1 -0
  599. package/dist/routes/api/like.d.ts +4 -0
  600. package/dist/routes/api/like.js +13 -0
  601. package/dist/routes/api/like.js.map +1 -0
  602. package/dist/routes/api/notification.d.ts +4 -0
  603. package/dist/routes/api/notification.js +15 -0
  604. package/dist/routes/api/notification.js.map +1 -0
  605. package/dist/routes/api/page.d.ts +4 -0
  606. package/dist/routes/api/page.js +24 -0
  607. package/dist/routes/api/page.js.map +1 -0
  608. package/dist/routes/api/revision.d.ts +4 -0
  609. package/dist/routes/api/revision.js +14 -0
  610. package/dist/routes/api/revision.js.map +1 -0
  611. package/dist/routes/api/share.d.ts +4 -0
  612. package/dist/routes/api/share.js +16 -0
  613. package/dist/routes/api/share.js.map +1 -0
  614. package/dist/routes/api/version.d.ts +4 -0
  615. package/dist/routes/api/version.js +10 -0
  616. package/dist/routes/api/version.js.map +1 -0
  617. package/dist/routes/index.d.ts +4 -0
  618. package/dist/routes/index.js +71 -0
  619. package/dist/routes/index.js.map +1 -0
  620. package/dist/routes/login.d.ts +4 -0
  621. package/dist/routes/login.js +18 -0
  622. package/dist/routes/login.js.map +1 -0
  623. package/dist/routes/me.d.ts +4 -0
  624. package/dist/routes/me.js +24 -0
  625. package/dist/routes/me.js.map +1 -0
  626. package/dist/routes/ts-rest/admin/app.d.ts +4 -0
  627. package/dist/routes/ts-rest/admin/app.js +67 -0
  628. package/dist/routes/ts-rest/admin/app.js.map +1 -0
  629. package/dist/routes/ts-rest/admin/auth.d.ts +4 -0
  630. package/dist/routes/ts-rest/admin/auth.js +95 -0
  631. package/dist/routes/ts-rest/admin/auth.js.map +1 -0
  632. package/dist/routes/ts-rest/admin/index.d.ts +10 -0
  633. package/dist/routes/ts-rest/admin/index.js +35 -0
  634. package/dist/routes/ts-rest/admin/index.js.map +1 -0
  635. package/dist/routes/ts-rest/admin/mail.d.ts +4 -0
  636. package/dist/routes/ts-rest/admin/mail.js +156 -0
  637. package/dist/routes/ts-rest/admin/mail.js.map +1 -0
  638. package/dist/routes/ts-rest/admin/plugins.d.ts +4 -0
  639. package/dist/routes/ts-rest/admin/plugins.js +317 -0
  640. package/dist/routes/ts-rest/admin/plugins.js.map +1 -0
  641. package/dist/routes/ts-rest/admin/search.d.ts +4 -0
  642. package/dist/routes/ts-rest/admin/search.js +67 -0
  643. package/dist/routes/ts-rest/admin/search.js.map +1 -0
  644. package/dist/routes/ts-rest/admin/security.d.ts +4 -0
  645. package/dist/routes/ts-rest/admin/security.js +114 -0
  646. package/dist/routes/ts-rest/admin/security.js.map +1 -0
  647. package/dist/routes/ts-rest/admin/share.d.ts +4 -0
  648. package/dist/routes/ts-rest/admin/share.js +69 -0
  649. package/dist/routes/ts-rest/admin/share.js.map +1 -0
  650. package/dist/routes/ts-rest/admin/storage.d.ts +4 -0
  651. package/dist/routes/ts-rest/admin/storage.js +59 -0
  652. package/dist/routes/ts-rest/admin/storage.js.map +1 -0
  653. package/dist/routes/ts-rest/admin/users.d.ts +4 -0
  654. package/dist/routes/ts-rest/admin/users.js +215 -0
  655. package/dist/routes/ts-rest/admin/users.js.map +1 -0
  656. package/dist/routes/ts-rest/adminCrypto.d.ts +4 -0
  657. package/dist/routes/ts-rest/adminCrypto.js +111 -0
  658. package/dist/routes/ts-rest/adminCrypto.js.map +1 -0
  659. package/dist/routes/ts-rest/app.d.ts +4 -0
  660. package/dist/routes/ts-rest/app.js +23 -0
  661. package/dist/routes/ts-rest/app.js.map +1 -0
  662. package/dist/routes/ts-rest/attachment.d.ts +4 -0
  663. package/dist/routes/ts-rest/attachment.js +830 -0
  664. package/dist/routes/ts-rest/attachment.js.map +1 -0
  665. package/dist/routes/ts-rest/auth.d.ts +4 -0
  666. package/dist/routes/ts-rest/auth.js +70 -0
  667. package/dist/routes/ts-rest/auth.js.map +1 -0
  668. package/dist/routes/ts-rest/autocomplete.d.ts +30 -0
  669. package/dist/routes/ts-rest/autocomplete.js +189 -0
  670. package/dist/routes/ts-rest/autocomplete.js.map +1 -0
  671. package/dist/routes/ts-rest/backlink.d.ts +4 -0
  672. package/dist/routes/ts-rest/backlink.js +106 -0
  673. package/dist/routes/ts-rest/backlink.js.map +1 -0
  674. package/dist/routes/ts-rest/bookmark.d.ts +4 -0
  675. package/dist/routes/ts-rest/bookmark.js +189 -0
  676. package/dist/routes/ts-rest/bookmark.js.map +1 -0
  677. package/dist/routes/ts-rest/comment.d.ts +4 -0
  678. package/dist/routes/ts-rest/comment.js +217 -0
  679. package/dist/routes/ts-rest/comment.js.map +1 -0
  680. package/dist/routes/ts-rest/draft.d.ts +22 -0
  681. package/dist/routes/ts-rest/draft.js +200 -0
  682. package/dist/routes/ts-rest/draft.js.map +1 -0
  683. package/dist/routes/ts-rest/index.d.ts +4 -0
  684. package/dist/routes/ts-rest/index.js +103 -0
  685. package/dist/routes/ts-rest/index.js.map +1 -0
  686. package/dist/routes/ts-rest/installer.d.ts +4 -0
  687. package/dist/routes/ts-rest/installer.js +77 -0
  688. package/dist/routes/ts-rest/installer.js.map +1 -0
  689. package/dist/routes/ts-rest/me.d.ts +4 -0
  690. package/dist/routes/ts-rest/me.js +410 -0
  691. package/dist/routes/ts-rest/me.js.map +1 -0
  692. package/dist/routes/ts-rest/notification.d.ts +4 -0
  693. package/dist/routes/ts-rest/notification.js +241 -0
  694. package/dist/routes/ts-rest/notification.js.map +1 -0
  695. package/dist/routes/ts-rest/page-collab.d.ts +29 -0
  696. package/dist/routes/ts-rest/page-collab.js +90 -0
  697. package/dist/routes/ts-rest/page-collab.js.map +1 -0
  698. package/dist/routes/ts-rest/page-preview.d.ts +26 -0
  699. package/dist/routes/ts-rest/page-preview.js +80 -0
  700. package/dist/routes/ts-rest/page-preview.js.map +1 -0
  701. package/dist/routes/ts-rest/page.d.ts +4 -0
  702. package/dist/routes/ts-rest/page.js +676 -0
  703. package/dist/routes/ts-rest/page.js.map +1 -0
  704. package/dist/routes/ts-rest/presence.d.ts +30 -0
  705. package/dist/routes/ts-rest/presence.js +155 -0
  706. package/dist/routes/ts-rest/presence.js.map +1 -0
  707. package/dist/routes/ts-rest/revision.d.ts +4 -0
  708. package/dist/routes/ts-rest/revision.js +240 -0
  709. package/dist/routes/ts-rest/revision.js.map +1 -0
  710. package/dist/routes/ts-rest/search.d.ts +4 -0
  711. package/dist/routes/ts-rest/search.js +121 -0
  712. package/dist/routes/ts-rest/search.js.map +1 -0
  713. package/dist/routes/ts-rest/tokenAuth.d.ts +4 -0
  714. package/dist/routes/ts-rest/tokenAuth.js +94 -0
  715. package/dist/routes/ts-rest/tokenAuth.js.map +1 -0
  716. package/dist/routes/ts-rest/user.d.ts +4 -0
  717. package/dist/routes/ts-rest/user.js +307 -0
  718. package/dist/routes/ts-rest/user.js.map +1 -0
  719. package/dist/service/config.d.ts +50 -0
  720. package/dist/service/config.js +202 -0
  721. package/dist/service/config.js.map +1 -0
  722. package/dist/service/lru.d.ts +11 -0
  723. package/dist/service/lru.js +47 -0
  724. package/dist/service/lru.js.map +1 -0
  725. package/dist/service/mail.d.ts +107 -0
  726. package/dist/service/mail.js +220 -0
  727. package/dist/service/mail.js.map +1 -0
  728. package/dist/service/notification.d.ts +9 -0
  729. package/dist/service/notification.js +19 -0
  730. package/dist/service/notification.js.map +1 -0
  731. package/dist/service/presence.d.ts +219 -0
  732. package/dist/service/presence.js +602 -0
  733. package/dist/service/presence.js.map +1 -0
  734. package/dist/types/error.d.ts +13 -0
  735. package/dist/types/error.js +13 -0
  736. package/dist/types/error.js.map +1 -0
  737. package/dist/types/express.d.ts +34 -0
  738. package/dist/types/express.js +50 -0
  739. package/dist/types/express.js.map +1 -0
  740. package/dist/types/mongoose-extensions.d.ts +8 -0
  741. package/dist/types/mongoose-extensions.js +24 -0
  742. package/dist/types/mongoose-extensions.js.map +1 -0
  743. package/dist/util/accessTokenParser.d.ts +1 -0
  744. package/dist/util/accessTokenParser.js +34 -0
  745. package/dist/util/accessTokenParser.js.map +1 -0
  746. package/dist/util/activityDefine.d.ts +15 -0
  747. package/dist/util/activityDefine.js +52 -0
  748. package/dist/util/activityDefine.js.map +1 -0
  749. package/dist/util/admin-config.d.ts +57 -0
  750. package/dist/util/admin-config.js +99 -0
  751. package/dist/util/admin-config.js.map +1 -0
  752. package/dist/util/admin-pager.d.ts +24 -0
  753. package/dist/util/admin-pager.js +73 -0
  754. package/dist/util/admin-pager.js.map +1 -0
  755. package/dist/util/apiPaginate.d.ts +11 -0
  756. package/dist/util/apiPaginate.js +33 -0
  757. package/dist/util/apiPaginate.js.map +1 -0
  758. package/dist/util/apiResponse.d.ts +9 -0
  759. package/dist/util/apiResponse.js +23 -0
  760. package/dist/util/apiResponse.js.map +1 -0
  761. package/dist/util/auth.d.ts +11 -0
  762. package/dist/util/auth.js +48 -0
  763. package/dist/util/auth.js.map +1 -0
  764. package/dist/util/auto-watch.d.ts +35 -0
  765. package/dist/util/auto-watch.js +24 -0
  766. package/dist/util/auto-watch.js.map +1 -0
  767. package/dist/util/autocomplete-match.d.ts +44 -0
  768. package/dist/util/autocomplete-match.js +80 -0
  769. package/dist/util/autocomplete-match.js.map +1 -0
  770. package/dist/util/aws-config-migration.d.ts +11 -0
  771. package/dist/util/aws-config-migration.js +68 -0
  772. package/dist/util/aws-config-migration.js.map +1 -0
  773. package/dist/util/boot-reporter.d.ts +130 -0
  774. package/dist/util/boot-reporter.js +242 -0
  775. package/dist/util/boot-reporter.js.map +1 -0
  776. package/dist/util/collab-cap.d.ts +39 -0
  777. package/dist/util/collab-cap.js +90 -0
  778. package/dist/util/collab-cap.js.map +1 -0
  779. package/dist/util/crypto.d.ts +39 -0
  780. package/dist/util/crypto.js +105 -0
  781. package/dist/util/crypto.js.map +1 -0
  782. package/dist/util/dedup-users.d.ts +96 -0
  783. package/dist/util/dedup-users.js +149 -0
  784. package/dist/util/dedup-users.js.map +1 -0
  785. package/dist/util/editor-cap-counter.d.ts +90 -0
  786. package/dist/util/editor-cap-counter.js +175 -0
  787. package/dist/util/editor-cap-counter.js.map +1 -0
  788. package/dist/util/fileUploader.d.ts +55 -0
  789. package/dist/util/fileUploader.js +70 -0
  790. package/dist/util/fileUploader.js.map +1 -0
  791. package/dist/util/formUtil.d.ts +2 -0
  792. package/dist/util/formUtil.js +15 -0
  793. package/dist/util/formUtil.js.map +1 -0
  794. package/dist/util/githubAuth.d.ts +2 -0
  795. package/dist/util/githubAuth.js +82 -0
  796. package/dist/util/githubAuth.js.map +1 -0
  797. package/dist/util/googleAuth.d.ts +2 -0
  798. package/dist/util/googleAuth.js +85 -0
  799. package/dist/util/googleAuth.js.map +1 -0
  800. package/dist/util/jwt.d.ts +50 -0
  801. package/dist/util/jwt.js +127 -0
  802. package/dist/util/jwt.js.map +1 -0
  803. package/dist/util/linkDetector.d.ts +3 -0
  804. package/dist/util/linkDetector.js +91 -0
  805. package/dist/util/linkDetector.js.map +1 -0
  806. package/dist/util/mail-token.d.ts +24 -0
  807. package/dist/util/mail-token.js +117 -0
  808. package/dist/util/mail-token.js.map +1 -0
  809. package/dist/util/mailer.d.ts +7 -0
  810. package/dist/util/mailer.js +98 -0
  811. package/dist/util/mailer.js.map +1 -0
  812. package/dist/util/map-duplicate-key-error.d.ts +26 -0
  813. package/dist/util/map-duplicate-key-error.js +41 -0
  814. package/dist/util/map-duplicate-key-error.js.map +1 -0
  815. package/dist/util/mongoose-paginate.d.ts +10 -0
  816. package/dist/util/mongoose-paginate.js +23 -0
  817. package/dist/util/mongoose-paginate.js.map +1 -0
  818. package/dist/util/notifications-token.d.ts +35 -0
  819. package/dist/util/notifications-token.js +140 -0
  820. package/dist/util/notifications-token.js.map +1 -0
  821. package/dist/util/oauth-client-seed.d.ts +2 -0
  822. package/dist/util/oauth-client-seed.js +48 -0
  823. package/dist/util/oauth-client-seed.js.map +1 -0
  824. package/dist/util/oauth-redirect-uri.d.ts +2 -0
  825. package/dist/util/oauth-redirect-uri.js +55 -0
  826. package/dist/util/oauth-redirect-uri.js.map +1 -0
  827. package/dist/util/page-response.d.ts +113 -0
  828. package/dist/util/page-response.js +154 -0
  829. package/dist/util/page-response.js.map +1 -0
  830. package/dist/util/page-search-index.d.ts +19 -0
  831. package/dist/util/page-search-index.js +91 -0
  832. package/dist/util/page-search-index.js.map +1 -0
  833. package/dist/util/page-status-migration.d.ts +23 -0
  834. package/dist/util/page-status-migration.js +48 -0
  835. package/dist/util/page-status-migration.js.map +1 -0
  836. package/dist/util/path.d.ts +2 -0
  837. package/dist/util/path.js +12 -0
  838. package/dist/util/path.js.map +1 -0
  839. package/dist/util/pkce.d.ts +13 -0
  840. package/dist/util/pkce.js +30 -0
  841. package/dist/util/pkce.js.map +1 -0
  842. package/dist/util/presence-token.d.ts +21 -0
  843. package/dist/util/presence-token.js +120 -0
  844. package/dist/util/presence-token.js.map +1 -0
  845. package/dist/util/rate-limit.d.ts +67 -0
  846. package/dist/util/rate-limit.js +87 -0
  847. package/dist/util/rate-limit.js.map +1 -0
  848. package/dist/util/rebuild-backlink.d.ts +25 -0
  849. package/dist/util/rebuild-backlink.js +7 -0
  850. package/dist/util/rebuild-backlink.js.map +1 -0
  851. package/dist/util/rebuild-renderer.d.ts +31 -0
  852. package/dist/util/rebuild-renderer.js +7 -0
  853. package/dist/util/rebuild-renderer.js.map +1 -0
  854. package/dist/util/redis-opts.d.ts +17 -0
  855. package/dist/util/redis-opts.js +40 -0
  856. package/dist/util/redis-opts.js.map +1 -0
  857. package/dist/util/regex.d.ts +2 -0
  858. package/dist/util/regex.js +8 -0
  859. package/dist/util/regex.js.map +1 -0
  860. package/dist/util/search-rebuild.d.ts +18 -0
  861. package/dist/util/search-rebuild.js +28 -0
  862. package/dist/util/search-rebuild.js.map +1 -0
  863. package/dist/util/ssr.d.ts +3 -0
  864. package/dist/util/ssr.js +9 -0
  865. package/dist/util/ssr.js.map +1 -0
  866. package/dist/util/storage-copy.d.ts +40 -0
  867. package/dist/util/storage-copy.js +123 -0
  868. package/dist/util/storage-copy.js.map +1 -0
  869. package/dist/util/ts-rest-helpers.d.ts +110 -0
  870. package/dist/util/ts-rest-helpers.js +110 -0
  871. package/dist/util/ts-rest-helpers.js.map +1 -0
  872. package/dist/util/url.d.ts +1 -0
  873. package/dist/util/url.js +11 -0
  874. package/dist/util/url.js.map +1 -0
  875. package/dist/util/user-code.d.ts +10 -0
  876. package/dist/util/user-code.js +55 -0
  877. package/dist/util/user-code.js.map +1 -0
  878. package/dist/util/view.d.ts +10 -0
  879. package/dist/util/view.js +99 -0
  880. package/dist/util/view.js.map +1 -0
  881. package/dist/util/watcher-backfill.d.ts +30 -0
  882. package/dist/util/watcher-backfill.js +43 -0
  883. package/dist/util/watcher-backfill.js.map +1 -0
  884. package/dist/util/ws-token.d.ts +24 -0
  885. package/dist/util/ws-token.js +134 -0
  886. package/dist/util/ws-token.js.map +1 -0
  887. package/package.json +106 -0
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const mongoose_1 = require("mongoose");
7
+ const debug_1 = __importDefault(require("debug"));
8
+ exports.default = (crowi) => {
9
+ const debug = (0, debug_1.default)('crowi:models:Bookmark');
10
+ const BookmarkEvent = crowi.event('Bookmark');
11
+ const BookmarkSchema = new mongoose_1.Schema({
12
+ page: { type: mongoose_1.Schema.Types.ObjectId, ref: 'Page', index: true },
13
+ user: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', index: true },
14
+ createdAt: { type: Date, default: Date.now() },
15
+ });
16
+ BookmarkSchema.index({ page: 1, user: 1 }, { unique: true });
17
+ BookmarkSchema.statics.populatePage = async function (bookmarks, requestUser) {
18
+ requestUser = requestUser || null;
19
+ const populatedBookmarks = await Bookmark.populate(bookmarks, {
20
+ path: 'page',
21
+ // Populate creator / lastUpdateUser alongside the revision so the
22
+ // page-row avatar resolves (mirrors the /pages/list listing); without
23
+ // them the bookmark list renders an empty placeholder ring.
24
+ populate: [
25
+ { path: 'revision', model: 'Revision', populate: { path: 'author', model: 'User' } },
26
+ { path: 'creator', model: 'User' },
27
+ { path: 'lastUpdateUser', model: 'User' },
28
+ ],
29
+ });
30
+ // hmm...
31
+ return populatedBookmarks.filter((bookmark) => {
32
+ // requestUser を指定しない場合 public のみを返す
33
+ if (requestUser === null) {
34
+ return bookmark.page.isPublic();
35
+ }
36
+ return bookmark.page.isGrantedFor(requestUser);
37
+ });
38
+ };
39
+ // Bookmark チェック用
40
+ BookmarkSchema.statics.findByPageIdAndUserId = function (pageId, userId) {
41
+ return Bookmark.findOne({ page: pageId, user: userId }).exec();
42
+ };
43
+ BookmarkSchema.statics.findByUserId = async function (userId, option) {
44
+ const limit = option.limit || 50;
45
+ const offset = option.offset || 0;
46
+ const finder = Bookmark.find({ user: userId })
47
+ .sort({ createdAt: -1 })
48
+ .skip(offset)
49
+ .limit(limit)
50
+ .exec()
51
+ .then((bookmarks) => Bookmark.populatePage(bookmarks));
52
+ const counter = Bookmark.countDocuments({ user: userId }).exec();
53
+ const [bookmarks, count] = await Promise.all([finder, counter]);
54
+ return {
55
+ meta: {
56
+ total: count,
57
+ limit: limit,
58
+ offset: offset,
59
+ },
60
+ data: bookmarks,
61
+ };
62
+ };
63
+ // Bookmark count
64
+ BookmarkSchema.statics.countByPageId = async function (pageId) {
65
+ const count = await Bookmark.countDocuments({ page: pageId });
66
+ return count;
67
+ };
68
+ /**
69
+ * Bulk-fetch bookmark counts for many pages in a single Mongo aggregate.
70
+ * Avoids the N+1 round-trip pattern that callers fall into when they
71
+ * call `countByPageId` once per page (e.g. search hit lists). Pages
72
+ * with zero bookmarks are absent from the returned map; callers should
73
+ * default to 0.
74
+ */
75
+ BookmarkSchema.statics.getCountsByPageIds = async function (pageIds) {
76
+ if (pageIds.length === 0)
77
+ return new Map();
78
+ const result = await Bookmark.aggregate([
79
+ { $match: { page: { $in: pageIds } } },
80
+ { $group: { _id: '$page', count: { $sum: 1 } } },
81
+ ]);
82
+ return new Map(result.map((r) => [r._id.toString(), r.count]));
83
+ };
84
+ BookmarkSchema.statics.findByUser = async function (user, option) {
85
+ const requestUser = option.requestUser || null;
86
+ const limit = option.limit || 50;
87
+ const offset = option.offset || 0;
88
+ const populatePage = option.populatePage || false;
89
+ const bookmarks = await Bookmark.find({ user: user._id }).sort({ createdAt: -1 }).skip(offset).limit(limit).exec();
90
+ if (!populatePage) {
91
+ return bookmarks;
92
+ }
93
+ return Bookmark.populatePage(bookmarks, requestUser);
94
+ };
95
+ BookmarkSchema.statics.add = async function (page, user) {
96
+ const newBookmark = new Bookmark({ page, user, createdAt: Date.now() });
97
+ try {
98
+ const Bookmark = await newBookmark.save();
99
+ BookmarkEvent.emit('create', page._id);
100
+ return Bookmark;
101
+ }
102
+ catch (err) {
103
+ if (err.code === 11000) {
104
+ // duplicate key (dummy response of new object)
105
+ return newBookmark;
106
+ }
107
+ debug('Bookmark.save failed', err);
108
+ throw err;
109
+ }
110
+ };
111
+ BookmarkSchema.statics.removeBookmarksByPageId = async function (pageId) {
112
+ try {
113
+ const data = await Bookmark.deleteMany({ page: pageId });
114
+ BookmarkEvent.emit('delete', pageId);
115
+ return data;
116
+ }
117
+ catch (err) {
118
+ debug('Bookmark.remove failed (removeBookmarkByPage)', err);
119
+ throw err;
120
+ }
121
+ };
122
+ BookmarkSchema.statics.removeBookmark = async function (page, user) {
123
+ try {
124
+ const data = await Bookmark.findOneAndDelete({ page, user });
125
+ BookmarkEvent.emit('delete', page);
126
+ return data;
127
+ }
128
+ catch (err) {
129
+ debug('Bookmark.findOneAndDelete failed', err);
130
+ throw err;
131
+ }
132
+ };
133
+ const Bookmark = (0, mongoose_1.model)('Bookmark', BookmarkSchema);
134
+ return Bookmark;
135
+ };
136
+ //# sourceMappingURL=bookmark.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bookmark.js","sourceRoot":"","sources":["../../src/models/bookmark.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import Crowi from '../crowi';
2
+ import { Types, Document, Model } from 'mongoose';
3
+ export interface CommentDocument extends Document {
4
+ _id: Types.ObjectId;
5
+ page: Types.ObjectId | any;
6
+ creator: Types.ObjectId;
7
+ revision: Types.ObjectId;
8
+ comment: string;
9
+ commentPosition: number;
10
+ createdAt: Date;
11
+ }
12
+ export interface CommentModel extends Model<CommentDocument> {
13
+ getCommentsByPageId(id: Types.ObjectId): Promise<CommentDocument[]>;
14
+ getCommentsByRevisionId(id: Types.ObjectId): Promise<CommentDocument[]>;
15
+ countCommentByPageId(page: any): Promise<number>;
16
+ removeCommentsByPageId(pageId: Types.ObjectId): Promise<void>;
17
+ removeCommentById(id: Types.ObjectId): Promise<void>;
18
+ findCreatorsByPage(page: any): Promise<any[]>;
19
+ }
20
+ declare const _default: (crowi: Crowi) => CommentModel;
21
+ export default _default;
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const mongoose_1 = require("mongoose");
7
+ const debug_1 = __importDefault(require("debug"));
8
+ exports.default = (crowi) => {
9
+ const debug = (0, debug_1.default)('crowi:models:comment');
10
+ const commentSchema = new mongoose_1.Schema({
11
+ page: { type: mongoose_1.Schema.Types.ObjectId, ref: 'Page', index: true },
12
+ creator: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', index: true },
13
+ revision: { type: mongoose_1.Schema.Types.ObjectId, ref: 'Revision', index: true },
14
+ comment: { type: String, required: true },
15
+ commentPosition: { type: Number, default: -1 },
16
+ createdAt: { type: Date, default: Date.now },
17
+ });
18
+ commentSchema.statics.getCommentsByPageId = function (id) {
19
+ return Comment.find({ page: id }).sort({ createdAt: -1 }).populate('creator').exec();
20
+ };
21
+ commentSchema.statics.getCommentsByRevisionId = function (id) {
22
+ return Comment.find({ revision: id }).sort({ createdAt: -1 }).populate('creator').exec();
23
+ };
24
+ commentSchema.statics.countCommentByPageId = function (page) {
25
+ return Comment.countDocuments({ page }).exec();
26
+ };
27
+ commentSchema.statics.removeCommentsByPageId = async function (pageId) {
28
+ await Comment.deleteMany({ page: pageId }).exec();
29
+ };
30
+ commentSchema.statics.removeCommentById = async function (id) {
31
+ const comment = await Comment.findOne({ _id: id }).exec();
32
+ commentEvent.emit('remove', comment);
33
+ await Comment.deleteOne({ _id: id }).exec();
34
+ };
35
+ commentSchema.statics.findCreatorsByPage = function (page) {
36
+ return Comment.distinct('creator', { page }).exec();
37
+ };
38
+ /**
39
+ * post save hook
40
+ */
41
+ commentSchema.post('save', function (savedComment) {
42
+ const Page = crowi.model('Page');
43
+ const Activity = crowi.model('Activity');
44
+ crowi.trackSideEffect(Promise.resolve()
45
+ .then(function () {
46
+ // Skip the deferred commentCount recompute once the connection
47
+ // is no longer `connected` — it would only throw teardown-noise.
48
+ // Normal operation (readyState === 1) is unaffected.
49
+ if (!crowi.isMongoConnected())
50
+ return;
51
+ return Comment.countCommentByPageId(savedComment.page).then(function (count) {
52
+ return Page.updateCommentCount(savedComment.page, count);
53
+ });
54
+ })
55
+ .then(function (page) {
56
+ debug('CommentCount Updated', page);
57
+ })
58
+ .catch(function (err) {
59
+ debug('Failed to update commentCount', err);
60
+ }));
61
+ crowi.trackSideEffect(Promise.resolve()
62
+ .then(function () {
63
+ if (!crowi.isMongoConnected())
64
+ return;
65
+ return Activity.createByPageComment(savedComment);
66
+ })
67
+ .then(function (activityLog) {
68
+ debug('Activity created', activityLog);
69
+ })
70
+ .catch(function (err) {
71
+ debug('Failed to create comment Activity', err);
72
+ }));
73
+ });
74
+ const commentEvent = crowi.event('Comment');
75
+ commentEvent.on('remove', async function (comment) {
76
+ const Activity = crowi.model('Activity');
77
+ try {
78
+ await Activity.removeByPageCommentDelete(comment);
79
+ }
80
+ catch (err) {
81
+ debug(err);
82
+ }
83
+ });
84
+ const Comment = (0, mongoose_1.model)('Comment', commentSchema);
85
+ return Comment;
86
+ };
87
+ //# sourceMappingURL=comment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comment.js","sourceRoot":"","sources":["../../src/models/comment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export declare function isSensitiveConfig(ns: string, key: string): boolean;
2
+ /**
3
+ * Add to the runtime sensitive set. The PluginManager calls this once
4
+ * per loaded plugin during boot, after walking `configSchema` for
5
+ * `@sensitive` fields. Idempotent — re-registering the same key on a
6
+ * subsequent boot is a no-op.
7
+ */
8
+ export declare function registerSensitiveConfigKeys(compoundKeys: Iterable<string>): void;
9
+ /**
10
+ * Drop all runtime-registered keys. Used by long-lived test processes
11
+ * that boot the Crowi app multiple times across describe blocks.
12
+ */
13
+ export declare function resetRuntimeSensitiveConfigKeys(): void;
14
+ /**
15
+ * Returns the full set of sensitive (ns, key) pairs for admin scan / re-encrypt
16
+ * tooling. Internal copy; do not mutate.
17
+ */
18
+ export declare function listSensitiveConfigKeys(): Array<{
19
+ ns: string;
20
+ key: string;
21
+ }>;
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isSensitiveConfig = isSensitiveConfig;
4
+ exports.registerSensitiveConfigKeys = registerSensitiveConfigKeys;
5
+ exports.resetRuntimeSensitiveConfigKeys = resetRuntimeSensitiveConfigKeys;
6
+ exports.listSensitiveConfigKeys = listSensitiveConfigKeys;
7
+ /**
8
+ * Registry of Config (ns, key) pairs whose values should be encrypted at rest.
9
+ *
10
+ * Anything stored in the Config collection that resembles a secret token,
11
+ * password, or third-party API credential goes here. Equality lookups against
12
+ * these values are not supported (encryption is non-deterministic), but the
13
+ * Config flow only ever loads them by (ns, key) so that constraint is fine.
14
+ *
15
+ * Out of scope:
16
+ * - User.password (already bcrypt-hashed, one-way)
17
+ * - PersonalAccessToken.tokenHash (already SHA-256-hashed, one-way; the
18
+ * legacy User.apiToken this replaced was removed in RFC-0010 Phase 2)
19
+ * - Share.secretKeyword (looked up by equality, needs deterministic scheme)
20
+ */
21
+ const SENSITIVE_CONFIG_KEYS = new Set([
22
+ // Slack notification credentials.
23
+ 'notification:slack:clientSecret',
24
+ 'notification:slack:token',
25
+ // Storage / mail / other third-party credentials live in their plugin's
26
+ // config namespace (`crowi:plugin:<name>:<field>`) and are registered at
27
+ // boot from each plugin's `@sensitive`-marked schema fields — see
28
+ // `RUNTIME_SENSITIVE_KEYS` below. They are not listed statically here.
29
+ ]);
30
+ /**
31
+ * Runtime-extensible sensitive set. Plugins contribute their
32
+ * `@sensitive`-marked configSchema fields here at boot via
33
+ * `registerSensitiveConfigKeys`, so the persisted plugin config
34
+ * rows (`crowi:plugin:<name>:<field>`) inherit the same encrypt /
35
+ * decrypt path as the legacy keys above. Stored as the same
36
+ * `<ns>:<key>` compound shape as the static set.
37
+ */
38
+ const RUNTIME_SENSITIVE_KEYS = new Set();
39
+ function isSensitiveConfig(ns, key) {
40
+ const compound = `${ns}:${key}`;
41
+ return SENSITIVE_CONFIG_KEYS.has(compound) || RUNTIME_SENSITIVE_KEYS.has(compound);
42
+ }
43
+ /**
44
+ * Add to the runtime sensitive set. The PluginManager calls this once
45
+ * per loaded plugin during boot, after walking `configSchema` for
46
+ * `@sensitive` fields. Idempotent — re-registering the same key on a
47
+ * subsequent boot is a no-op.
48
+ */
49
+ function registerSensitiveConfigKeys(compoundKeys) {
50
+ for (const compound of compoundKeys)
51
+ RUNTIME_SENSITIVE_KEYS.add(compound);
52
+ }
53
+ /**
54
+ * Drop all runtime-registered keys. Used by long-lived test processes
55
+ * that boot the Crowi app multiple times across describe blocks.
56
+ */
57
+ function resetRuntimeSensitiveConfigKeys() {
58
+ RUNTIME_SENSITIVE_KEYS.clear();
59
+ }
60
+ /**
61
+ * Returns the full set of sensitive (ns, key) pairs for admin scan / re-encrypt
62
+ * tooling. Internal copy; do not mutate.
63
+ */
64
+ function listSensitiveConfigKeys() {
65
+ const all = new Set([...SENSITIVE_CONFIG_KEYS, ...RUNTIME_SENSITIVE_KEYS]);
66
+ return Array.from(all).map((compound) => {
67
+ const idx = compound.indexOf(':');
68
+ return { ns: compound.slice(0, idx), key: compound.slice(idx + 1) };
69
+ });
70
+ }
71
+ //# sourceMappingURL=config-sensitive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-sensitive.js","sourceRoot":"","sources":["../../src/models/config-sensitive.ts"],"names":[],"mappings":";;AAkCA,8CAGC;AAQD,kEAEC;AAMD,0EAEC;AAMD,0DAMC;AAnED;;;;;;;;;;;;;GAaG;AACH,MAAM,qBAAqB,GAAwB,IAAI,GAAG,CAAC;IACzD,kCAAkC;IAClC,iCAAiC;IACjC,0BAA0B;IAC1B,wEAAwE;IACxE,yEAAyE;IACzE,kEAAkE;IAClE,uEAAuE;CACxE,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAU,CAAC;AAEjD,SAAgB,iBAAiB,CAAC,EAAU,EAAE,GAAW;IACvD,MAAM,QAAQ,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,CAAC;IAChC,OAAO,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACrF,CAAC;AAED;;;;;GAKG;AACH,SAAgB,2BAA2B,CAAC,YAA8B;IACxE,KAAK,MAAM,QAAQ,IAAI,YAAY;QAAE,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC5E,CAAC;AAED;;;GAGG;AACH,SAAgB,+BAA+B;IAC7C,sBAAsB,CAAC,KAAK,EAAE,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,SAAgB,uBAAuB;IACrC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAS,CAAC,GAAG,qBAAqB,EAAE,GAAG,sBAAsB,CAAC,CAAC,CAAC;IACnF,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QACtC,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,34 @@
1
+ import Crowi from '../crowi';
2
+ import { Types, Document, Model } from 'mongoose';
3
+ interface Config {
4
+ crowi: object;
5
+ notification: object;
6
+ }
7
+ export interface ConfigDocument extends Document {
8
+ _id: Types.ObjectId;
9
+ ns: string;
10
+ key: string;
11
+ value: string;
12
+ }
13
+ export declare const registrationMode: Record<string, any>;
14
+ export declare function isRequiredThirdPartyAuth(config: Config): boolean;
15
+ export declare function isDisabledPasswordAuth(config: Config): boolean;
16
+ export declare function googleLoginEnabled(config: Config): boolean;
17
+ export declare function githubLoginEnabled(config: Config): boolean;
18
+ export declare function hasSlackConfig(config: Config): boolean;
19
+ export declare function hasSlackToken(config: Config): boolean;
20
+ export interface ConfigModel extends Model<ConfigDocument> {
21
+ applicationInstall(): Promise<void>;
22
+ updateByParams(ns: string, key: string, value: string): Promise<void>;
23
+ updateConfig(ns: string, key: string, value: string): Promise<void>;
24
+ updateConfigByNamespace(ns: string, nsConfig: Record<string, any>): Promise<void>;
25
+ deleteByParams(ns: string, key: string): Promise<void>;
26
+ deleteConfig(ns: string, key: string): Promise<void>;
27
+ loadAllConfig(): Promise<object>;
28
+ isUploadable(): boolean;
29
+ SECURITY_REGISTRATION_MODE_OPEN: string;
30
+ SECURITY_REGISTRATION_MODE_RESTRICTED: string;
31
+ SECURITY_REGISTRATION_MODE_CLOSED: string;
32
+ }
33
+ declare const _default: (crowi: Crowi) => ConfigModel;
34
+ export default _default;
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.registrationMode = void 0;
7
+ exports.isRequiredThirdPartyAuth = isRequiredThirdPartyAuth;
8
+ exports.isDisabledPasswordAuth = isDisabledPasswordAuth;
9
+ exports.googleLoginEnabled = googleLoginEnabled;
10
+ exports.githubLoginEnabled = githubLoginEnabled;
11
+ exports.hasSlackConfig = hasSlackConfig;
12
+ exports.hasSlackToken = hasSlackToken;
13
+ const mongoose_1 = require("mongoose");
14
+ const debug_1 = __importDefault(require("debug"));
15
+ const crypto_1 = require("../util/crypto");
16
+ const config_sensitive_1 = require("./config-sensitive");
17
+ const SECURITY_REGISTRATION_MODE_OPEN = 'Open';
18
+ const SECURITY_REGISTRATION_MODE_RESTRICTED = 'Resricted';
19
+ const SECURITY_REGISTRATION_MODE_CLOSED = 'Closed';
20
+ exports.registrationMode = {
21
+ [SECURITY_REGISTRATION_MODE_OPEN]: 'open',
22
+ [SECURITY_REGISTRATION_MODE_RESTRICTED]: 'restricted',
23
+ [SECURITY_REGISTRATION_MODE_CLOSED]: 'closed',
24
+ };
25
+ function isRequiredThirdPartyAuth(config) {
26
+ return !!config.crowi['auth:requireThirdPartyAuth'];
27
+ }
28
+ function isDisabledPasswordAuth(config) {
29
+ return !!config.crowi['auth:disablePasswordAuth'];
30
+ }
31
+ function googleLoginEnabled(config) {
32
+ return config.crowi['google:clientId'] && config.crowi['google:clientSecret'];
33
+ }
34
+ function githubLoginEnabled(config) {
35
+ return config.crowi['github:clientId'] && config.crowi['github:clientSecret'];
36
+ }
37
+ function hasSlackConfig(config) {
38
+ if (!config.notification) {
39
+ return false;
40
+ }
41
+ if (!config.notification['slack:clientId'] || !config.notification['slack:clientSecret']) {
42
+ return false;
43
+ }
44
+ return true;
45
+ }
46
+ function hasSlackToken(config) {
47
+ if (!hasSlackConfig(config)) {
48
+ return false;
49
+ }
50
+ if (!config.notification['slack:token']) {
51
+ return false;
52
+ }
53
+ return true;
54
+ }
55
+ exports.default = (crowi) => {
56
+ const debug = (0, debug_1.default)('crowi:models:config');
57
+ const configSchema = new mongoose_1.Schema({
58
+ ns: { type: String, required: true, index: true },
59
+ key: { type: String, required: true, index: true },
60
+ value: { type: String, required: true },
61
+ });
62
+ function getArrayForInstalling() {
63
+ return {
64
+ // 'app:installed' : "0.0.0",
65
+ 'app:title': 'Crowi',
66
+ 'app:confidential': '',
67
+ 'app:setupChecklistDismissed': false,
68
+ 'security:registrationMode': 'Open',
69
+ 'security:registrationWhiteList': [],
70
+ 'auth:requireThirdPartyAuth': false,
71
+ 'auth:disablePasswordAuth': false,
72
+ // Storage credentials (incl. AWS) live in the storage plugin's own
73
+ // config namespace (`plugin:@crowi/plugin-aws:*` /
74
+ // `plugin:@crowi/plugin-storage-*:*`), entered via the admin Plugins
75
+ // screen — not seeded here.
76
+ // The sender-independent "from" address stays in core config; each
77
+ // sender's transport credentials (SMTP host/auth, Resend API key,
78
+ // SES via @crowi/plugin-aws) live in their plugin's config
79
+ // namespace (`plugin:@crowi/plugin-mail-*:*`).
80
+ 'mail:from': '',
81
+ // Google / GitHub social-login credentials are no longer seeded:
82
+ // third-party sign-in was removed from core in the 2.0.0-alpha line and
83
+ // will return as an auth provider plugin. The `googleLoginEnabled` /
84
+ // `githubLoginEnabled` readers below are kept (they now always return
85
+ // false) because dormant `User` methods still reference them.
86
+ };
87
+ }
88
+ // Execute only once for installing application
89
+ configSchema.statics.applicationInstall = async function () {
90
+ const count = await Config.countDocuments({ ns: 'crowi' }).exec();
91
+ if (count > 0) {
92
+ throw new Error('Application already installed');
93
+ }
94
+ await Config.updateConfigByNamespace('crowi', getArrayForInstalling());
95
+ };
96
+ configSchema.statics.updateByParams = async function (ns, key, value) {
97
+ let serialized = JSON.stringify(value);
98
+ // Encrypt at rest for sensitive entries when a key is configured. Without
99
+ // a key we silently fall back to plaintext (legacy behaviour) so missing
100
+ // CROWI_ENCRYPTION_KEY never blocks an admin save.
101
+ if ((0, config_sensitive_1.isSensitiveConfig)(ns, key) && (0, crypto_1.isEncryptionConfigured)()) {
102
+ serialized = (0, crypto_1.encrypt)(serialized);
103
+ }
104
+ await Config.findOneAndUpdate({ ns, key }, { ns, key, value: serialized }, { upsert: true }).exec();
105
+ };
106
+ configSchema.statics.updateConfig = async function (ns, key, value) {
107
+ try {
108
+ await Config.updateByParams(ns, key, value);
109
+ }
110
+ catch (err) {
111
+ debug('updateConfig', err);
112
+ }
113
+ };
114
+ configSchema.statics.updateConfigByNamespace = async function (ns, nsConfig) {
115
+ try {
116
+ await Promise.all(Object.entries(nsConfig).map(([key, value]) => Config.updateByParams(ns, key, value)));
117
+ }
118
+ catch (err) {
119
+ debug('updateConfigByNamespace', err);
120
+ }
121
+ };
122
+ configSchema.statics.deleteByParams = async function (ns, key) {
123
+ await Config.deleteOne({ ns, key }).exec();
124
+ };
125
+ configSchema.statics.deleteConfig = async function (ns, key) {
126
+ try {
127
+ await Config.deleteByParams(ns, key);
128
+ }
129
+ catch (err) {
130
+ debug('deleteConfig', err);
131
+ }
132
+ };
133
+ configSchema.statics.loadAllConfig = async function () {
134
+ const config = { crowi: {} };
135
+ const doc = await Config.find().sort({ ns: 1, key: 1 }).exec();
136
+ doc.forEach(({ ns, key, value }) => {
137
+ if (!config[ns]) {
138
+ config[ns] = {};
139
+ }
140
+ // Encrypted values carry our prefix; everything else (legacy plaintext
141
+ // and ordinary settings) is parsed as-is. decrypt() throws on tampered
142
+ // ciphertext but is a no-op for non-prefixed values.
143
+ const raw = (0, crypto_1.isEncrypted)(value) ? (0, crypto_1.decrypt)(value) : value;
144
+ config[ns][key] = JSON.parse(raw);
145
+ });
146
+ return config;
147
+ };
148
+ // True iff a storage driver is registered for the active plugin
149
+ // configuration. The driver itself owns "is the bucket configured /
150
+ // is the path writable" — Config no longer reaches into AWS keys.
151
+ configSchema.statics.isUploadable = function () {
152
+ return crowi.getPlugins().active.storage !== null;
153
+ };
154
+ const Config = (0, mongoose_1.model)('Config', configSchema);
155
+ // 静的プロパティをスキーマではなくモデルに直接割り当て
156
+ Config.SECURITY_REGISTRATION_MODE_OPEN = SECURITY_REGISTRATION_MODE_OPEN;
157
+ Config.SECURITY_REGISTRATION_MODE_RESTRICTED = SECURITY_REGISTRATION_MODE_RESTRICTED;
158
+ Config.SECURITY_REGISTRATION_MODE_CLOSED = SECURITY_REGISTRATION_MODE_CLOSED;
159
+ return Config;
160
+ };
161
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/models/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ declare const _default: {
2
+ Page: (crowi: import("../crowi").default) => import("./page").PageModel;
3
+ User: (crowi: import("../crowi").default) => import("./user").UserModel;
4
+ Revision: (crowi: import("../crowi").default) => import("./revision").RevisionModel;
5
+ Backlink: (crowi: import("../crowi").default) => import("./backlink").BacklinkModel;
6
+ Bookmark: (crowi: import("../crowi").default) => import("./bookmark").BookmarkModel;
7
+ Comment: (crowi: import("../crowi").default) => import("./comment").CommentModel;
8
+ Attachment: (crowi: import("../crowi").default) => import("./attachment").AttachmentModel;
9
+ UpdatePost: (crowi: import("../crowi").default) => import("./updatePost").UpdatePostModel;
10
+ Share: (crowi: import("../crowi").default) => import("./share").ShareModel;
11
+ Tracking: (crowi: import("../crowi").default) => import("mongoose").Model<import("./tracking").TrackingDocument, {}, {}, {}, import("mongoose").Document<unknown, {}, import("./tracking").TrackingDocument, {}, {}> & import("./tracking").TrackingDocument & Required<{
12
+ _id: import("mongoose").Types.ObjectId;
13
+ }> & {
14
+ __v: number;
15
+ }, any>;
16
+ ShareAccess: (crowi: import("../crowi").default) => import("./shareAccess").ShareAccessModel;
17
+ Activity: (crowi: import("../crowi").default) => import("./activity").ActivityModel;
18
+ Notification: (crowi: import("../crowi").default) => import("./notification").NotificationModel;
19
+ Watcher: (crowi: import("../crowi").default) => import("./watcher").WatcherModel;
20
+ Config: (crowi: import("../crowi").default) => import("./config").ConfigModel;
21
+ MigrationApplication: (crowi: import("../crowi").default) => import("./migration-application").MigrationApplicationModel;
22
+ PluginRenderCache: (_crowi: import("../crowi").default) => import("./plugin-render-cache").PluginRenderCacheModel;
23
+ PageYjsUpdate: (_crowi: import("../crowi").default) => import("./page-yjs-update").PageYjsUpdateModel;
24
+ PersonalAccessToken: (crowi: import("../crowi").default) => import("./personal-access-token").PersonalAccessTokenModel;
25
+ OAuthClient: (_crowi: import("../crowi").default) => import("./oauth-client").OAuthClientModel;
26
+ OAuthAuthorizationCode: (_crowi: import("../crowi").default) => import("./oauth-authorization-code").OAuthAuthorizationCodeModel;
27
+ OAuthDeviceCode: (_crowi: import("../crowi").default) => import("./oauth-device-code").OAuthDeviceCodeModel;
28
+ OAuthRefreshToken: (_crowi: import("../crowi").default) => import("./oauth-refresh-token").OAuthRefreshTokenModel;
29
+ };
30
+ export default _default;