@crowi/api 2.0.0-alpha.1 → 2.0.0-alpha.3

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 (439) hide show
  1. package/dist/collab/attach.d.ts +34 -10
  2. package/dist/collab/attach.js +77 -1
  3. package/dist/collab/attach.js.map +1 -1
  4. package/dist/crowi/index.js +7 -6
  5. package/dist/crowi/index.js.map +1 -1
  6. package/dist/hono/handlers/activation.d.ts +3 -3
  7. package/dist/hono/handlers/admin/users.d.ts +118 -0
  8. package/dist/hono/handlers/admin/users.js +28 -0
  9. package/dist/hono/handlers/admin/users.js.map +1 -1
  10. package/dist/hono/handlers/app.d.ts +1 -0
  11. package/dist/hono/handlers/app.js +11 -0
  12. package/dist/hono/handlers/app.js.map +1 -1
  13. package/dist/hono/handlers/attachment-stream.js +23 -0
  14. package/dist/hono/handlers/attachment-stream.js.map +1 -1
  15. package/dist/hono/handlers/draft.js +10 -0
  16. package/dist/hono/handlers/draft.js.map +1 -1
  17. package/dist/hono/handlers/emailChange.d.ts +4 -4
  18. package/dist/hono/handlers/inviteAccept.d.ts +6 -6
  19. package/dist/hono/handlers/page-collab.js +4 -0
  20. package/dist/hono/handlers/page-collab.js.map +1 -1
  21. package/dist/hono/handlers/page.d.ts +251 -0
  22. package/dist/hono/handlers/page.js +123 -6
  23. package/dist/hono/handlers/page.js.map +1 -1
  24. package/dist/hono/handlers/passwordReset.d.ts +5 -5
  25. package/dist/hono/handlers/tokenAuth.d.ts +7 -7
  26. package/dist/mcp/result.d.ts +42 -16
  27. package/dist/mcp/result.js +56 -10
  28. package/dist/mcp/result.js.map +1 -1
  29. package/dist/mcp/tools/page.js +21 -1
  30. package/dist/mcp/tools/page.js.map +1 -1
  31. package/dist/mcp/tools/search.d.ts +12 -0
  32. package/dist/mcp/tools/search.js +21 -5
  33. package/dist/mcp/tools/search.js.map +1 -1
  34. package/dist/migration/cli-api.d.ts +8 -1
  35. package/dist/migration/cli-api.js +2 -0
  36. package/dist/migration/cli-api.js.map +1 -1
  37. package/dist/migration/helpers.d.ts +13 -0
  38. package/dist/migration/helpers.js +29 -0
  39. package/dist/migration/helpers.js.map +1 -0
  40. package/dist/migration/migrations/code-mask.d.ts +76 -0
  41. package/dist/migration/migrations/code-mask.js +224 -0
  42. package/dist/migration/migrations/code-mask.js.map +1 -0
  43. package/dist/migration/migrations/files-url-to-attachments.d.ts +99 -0
  44. package/dist/migration/migrations/files-url-to-attachments.js +305 -0
  45. package/dist/migration/migrations/files-url-to-attachments.js.map +1 -0
  46. package/dist/migration/migrations/index.js +4 -0
  47. package/dist/migration/migrations/index.js.map +1 -1
  48. package/dist/migration/migrations/page-status-default.d.ts +31 -1
  49. package/dist/migration/migrations/published-current-revision.d.ts +47 -0
  50. package/dist/migration/migrations/published-current-revision.js +90 -0
  51. package/dist/migration/migrations/published-current-revision.js.map +1 -0
  52. package/dist/migration/migrations/relocate-reserved-api-paths.d.ts +37 -1
  53. package/dist/migration/migrations/relocate-reserved-api-paths.js +11 -3
  54. package/dist/migration/migrations/relocate-reserved-api-paths.js.map +1 -1
  55. package/dist/migration/migrations/revisions-schema-unify.d.ts +35 -1
  56. package/dist/migration/migrations/user-unique-prepare.d.ts +55 -1
  57. package/dist/migration/migrations/user-unique-prepare.js +5 -0
  58. package/dist/migration/migrations/user-unique-prepare.js.map +1 -1
  59. package/dist/migration/migrations/wikilink-format.d.ts +75 -12
  60. package/dist/migration/migrations/wikilink-format.js +23 -157
  61. package/dist/migration/migrations/wikilink-format.js.map +1 -1
  62. package/dist/migration/migrations/wikilink-html-recover.d.ts +191 -0
  63. package/dist/migration/migrations/wikilink-html-recover.js +340 -0
  64. package/dist/migration/migrations/wikilink-html-recover.js.map +1 -0
  65. package/dist/migration/registry.d.ts +8 -2
  66. package/dist/migration/registry.js +5 -1
  67. package/dist/migration/registry.js.map +1 -1
  68. package/dist/migration/run-boot-migrations.d.ts +4 -1
  69. package/dist/migration/run-boot-migrations.js +55 -23
  70. package/dist/migration/run-boot-migrations.js.map +1 -1
  71. package/dist/migration/runner.js +8 -1
  72. package/dist/migration/runner.js.map +1 -1
  73. package/dist/migration/types.d.ts +57 -5
  74. package/dist/migration/types.js.map +1 -1
  75. package/dist/models/page.d.ts +23 -3
  76. package/dist/models/page.js +91 -5
  77. package/dist/models/page.js.map +1 -1
  78. package/dist/models/user.d.ts +1 -0
  79. package/dist/models/user.js +40 -21
  80. package/dist/models/user.js.map +1 -1
  81. package/dist/plugin/plugin-manager.js +1 -1
  82. package/dist/renderer/core/headings.d.ts +12 -1
  83. package/dist/renderer/core/headings.js +48 -8
  84. package/dist/renderer/core/headings.js.map +1 -1
  85. package/dist/renderer/pipeline.d.ts +6 -0
  86. package/dist/renderer/pipeline.js.map +1 -1
  87. package/dist/renderer/registry.js +1 -1
  88. package/dist/util/page-response.js +19 -2
  89. package/dist/util/page-response.js.map +1 -1
  90. package/dist/util/ws-token.d.ts +13 -0
  91. package/dist/util/ws-token.js +43 -3
  92. package/dist/util/ws-token.js.map +1 -1
  93. package/package.json +13 -7
  94. package/views/mail/layout.mjml +7 -5
  95. package/dist/common/functions/path2name.d.ts +0 -1
  96. package/dist/common/functions/path2name.js +0 -22
  97. package/dist/common/functions/path2name.js.map +0 -1
  98. package/dist/common/functions/renderIcon.d.ts +0 -1
  99. package/dist/common/functions/renderIcon.js +0 -9
  100. package/dist/common/functions/renderIcon.js.map +0 -1
  101. package/dist/controllers/admin.d.ts +0 -3
  102. package/dist/controllers/admin.js +0 -474
  103. package/dist/controllers/admin.js.map +0 -1
  104. package/dist/controllers/attachment.d.ts +0 -4
  105. package/dist/controllers/attachment.js +0 -200
  106. package/dist/controllers/attachment.js.map +0 -1
  107. package/dist/controllers/backlink.d.ts +0 -3
  108. package/dist/controllers/backlink.js +0 -42
  109. package/dist/controllers/backlink.js.map +0 -1
  110. package/dist/controllers/bookmark.d.ts +0 -3
  111. package/dist/controllers/bookmark.js +0 -100
  112. package/dist/controllers/bookmark.js.map +0 -1
  113. package/dist/controllers/comment.d.ts +0 -3
  114. package/dist/controllers/comment.js +0 -111
  115. package/dist/controllers/comment.js.map +0 -1
  116. package/dist/controllers/index.d.ts +0 -25
  117. package/dist/controllers/index.js +0 -44
  118. package/dist/controllers/index.js.map +0 -1
  119. package/dist/controllers/installer.d.ts +0 -3
  120. package/dist/controllers/installer.js +0 -48
  121. package/dist/controllers/installer.js.map +0 -1
  122. package/dist/controllers/login.d.ts +0 -4
  123. package/dist/controllers/login.js +0 -438
  124. package/dist/controllers/login.js.map +0 -1
  125. package/dist/controllers/logout.d.ts +0 -5
  126. package/dist/controllers/logout.js +0 -11
  127. package/dist/controllers/logout.js.map +0 -1
  128. package/dist/controllers/me.d.ts +0 -4
  129. package/dist/controllers/me.js +0 -369
  130. package/dist/controllers/me.js.map +0 -1
  131. package/dist/controllers/notification.d.ts +0 -3
  132. package/dist/controllers/notification.js +0 -88
  133. package/dist/controllers/notification.js.map +0 -1
  134. package/dist/controllers/page.d.ts +0 -3
  135. package/dist/controllers/page.js +0 -881
  136. package/dist/controllers/page.js.map +0 -1
  137. package/dist/controllers/revision.d.ts +0 -3
  138. package/dist/controllers/revision.js +0 -91
  139. package/dist/controllers/revision.js.map +0 -1
  140. package/dist/controllers/search.d.ts +0 -3
  141. package/dist/controllers/search.js +0 -93
  142. package/dist/controllers/search.js.map +0 -1
  143. package/dist/controllers/share.d.ts +0 -3
  144. package/dist/controllers/share.js +0 -207
  145. package/dist/controllers/share.js.map +0 -1
  146. package/dist/controllers/shareAccess.d.ts +0 -3
  147. package/dist/controllers/shareAccess.js +0 -28
  148. package/dist/controllers/shareAccess.js.map +0 -1
  149. package/dist/controllers/slack.d.ts +0 -3
  150. package/dist/controllers/slack.js +0 -87
  151. package/dist/controllers/slack.js.map +0 -1
  152. package/dist/controllers/tokenAuth.d.ts +0 -10
  153. package/dist/controllers/tokenAuth.js +0 -292
  154. package/dist/controllers/tokenAuth.js.map +0 -1
  155. package/dist/controllers/user.d.ts +0 -3
  156. package/dist/controllers/user.js +0 -67
  157. package/dist/controllers/user.js.map +0 -1
  158. package/dist/controllers/version.d.ts +0 -4
  159. package/dist/controllers/version.js +0 -19
  160. package/dist/controllers/version.js.map +0 -1
  161. package/dist/crowi/express-init.d.ts +0 -4
  162. package/dist/crowi/express-init.js +0 -101
  163. package/dist/crowi/express-init.js.map +0 -1
  164. package/dist/form/admin/app.d.ts +0 -2
  165. package/dist/form/admin/app.js +0 -9
  166. package/dist/form/admin/app.js.map +0 -1
  167. package/dist/form/admin/auth.d.ts +0 -2
  168. package/dist/form/admin/auth.js +0 -9
  169. package/dist/form/admin/auth.js.map +0 -1
  170. package/dist/form/admin/aws.d.ts +0 -2
  171. package/dist/form/admin/aws.js +0 -13
  172. package/dist/form/admin/aws.js.map +0 -1
  173. package/dist/form/admin/github.d.ts +0 -2
  174. package/dist/form/admin/github.js +0 -15
  175. package/dist/form/admin/github.js.map +0 -1
  176. package/dist/form/admin/google.d.ts +0 -2
  177. package/dist/form/admin/google.js +0 -13
  178. package/dist/form/admin/google.js.map +0 -1
  179. package/dist/form/admin/mail.d.ts +0 -2
  180. package/dist/form/admin/mail.js +0 -13
  181. package/dist/form/admin/mail.js.map +0 -1
  182. package/dist/form/admin/sec.d.ts +0 -2
  183. package/dist/form/admin/sec.js +0 -10
  184. package/dist/form/admin/sec.js.map +0 -1
  185. package/dist/form/admin/slackSetting.d.ts +0 -2
  186. package/dist/form/admin/slackSetting.js +0 -13
  187. package/dist/form/admin/slackSetting.js.map +0 -1
  188. package/dist/form/admin/userEdit.d.ts +0 -2
  189. package/dist/form/admin/userEdit.js +0 -9
  190. package/dist/form/admin/userEdit.js.map +0 -1
  191. package/dist/form/admin/userInvite.d.ts +0 -2
  192. package/dist/form/admin/userInvite.js +0 -9
  193. package/dist/form/admin/userInvite.js.map +0 -1
  194. package/dist/form/comment.d.ts +0 -2
  195. package/dist/form/comment.js +0 -9
  196. package/dist/form/comment.js.map +0 -1
  197. package/dist/form/index.d.ts +0 -25
  198. package/dist/form/index.js +0 -48
  199. package/dist/form/index.js.map +0 -1
  200. package/dist/form/invited.d.ts +0 -2
  201. package/dist/form/invited.js +0 -13
  202. package/dist/form/invited.js.map +0 -1
  203. package/dist/form/login.d.ts +0 -2
  204. package/dist/form/login.js +0 -11
  205. package/dist/form/login.js.map +0 -1
  206. package/dist/form/me/apiToken.d.ts +0 -2
  207. package/dist/form/me/apiToken.js +0 -9
  208. package/dist/form/me/apiToken.js.map +0 -1
  209. package/dist/form/me/password.d.ts +0 -2
  210. package/dist/form/me/password.js +0 -11
  211. package/dist/form/me/password.js.map +0 -1
  212. package/dist/form/me/user.d.ts +0 -2
  213. package/dist/form/me/user.js +0 -9
  214. package/dist/form/me/user.js.map +0 -1
  215. package/dist/form/register.d.ts +0 -2
  216. package/dist/form/register.js +0 -13
  217. package/dist/form/register.js.map +0 -1
  218. package/dist/form/revision.d.ts +0 -2
  219. package/dist/form/revision.js +0 -13
  220. package/dist/form/revision.js.map +0 -1
  221. package/dist/hono/handlers/admin/share.d.ts +0 -106
  222. package/dist/hono/handlers/admin/share.js +0 -55
  223. package/dist/hono/handlers/admin/share.js.map +0 -1
  224. package/dist/middlewares/accessTokenParser.d.ts +0 -4
  225. package/dist/middlewares/accessTokenParser.js +0 -29
  226. package/dist/middlewares/accessTokenParser.js.map +0 -1
  227. package/dist/middlewares/adminRequired.d.ts +0 -10
  228. package/dist/middlewares/adminRequired.js +0 -35
  229. package/dist/middlewares/adminRequired.js.map +0 -1
  230. package/dist/middlewares/applicationInstalled.d.ts +0 -3
  231. package/dist/middlewares/applicationInstalled.js +0 -20
  232. package/dist/middlewares/applicationInstalled.js.map +0 -1
  233. package/dist/middlewares/applicationNotInstalled.d.ts +0 -3
  234. package/dist/middlewares/applicationNotInstalled.js +0 -13
  235. package/dist/middlewares/applicationNotInstalled.js.map +0 -1
  236. package/dist/middlewares/basicAuth.d.ts +0 -4
  237. package/dist/middlewares/basicAuth.js +0 -23
  238. package/dist/middlewares/basicAuth.js.map +0 -1
  239. package/dist/middlewares/csrfVerify.d.ts +0 -4
  240. package/dist/middlewares/csrfVerify.js +0 -24
  241. package/dist/middlewares/csrfVerify.js.map +0 -1
  242. package/dist/middlewares/encodeSpace.d.ts +0 -3
  243. package/dist/middlewares/encodeSpace.js +0 -14
  244. package/dist/middlewares/encodeSpace.js.map +0 -1
  245. package/dist/middlewares/fileAccessRightOrLoginRequired.d.ts +0 -4
  246. package/dist/middlewares/fileAccessRightOrLoginRequired.js +0 -29
  247. package/dist/middlewares/fileAccessRightOrLoginRequired.js.map +0 -1
  248. package/dist/middlewares/index.d.ts +0 -16
  249. package/dist/middlewares/index.js +0 -30
  250. package/dist/middlewares/index.js.map +0 -1
  251. package/dist/middlewares/jwtAdminRequired.d.ts +0 -8
  252. package/dist/middlewares/jwtAdminRequired.js +0 -35
  253. package/dist/middlewares/jwtAdminRequired.js.map +0 -1
  254. package/dist/middlewares/jwtAuth.d.ts +0 -4
  255. package/dist/middlewares/jwtAuth.js +0 -104
  256. package/dist/middlewares/jwtAuth.js.map +0 -1
  257. package/dist/middlewares/loginChecker.d.ts +0 -4
  258. package/dist/middlewares/loginChecker.js +0 -32
  259. package/dist/middlewares/loginChecker.js.map +0 -1
  260. package/dist/middlewares/loginRequired.d.ts +0 -4
  261. package/dist/middlewares/loginRequired.js +0 -88
  262. package/dist/middlewares/loginRequired.js.map +0 -1
  263. package/dist/routes/admin.d.ts +0 -4
  264. package/dist/routes/admin.js +0 -17
  265. package/dist/routes/admin.js.map +0 -1
  266. package/dist/routes/api/admin.d.ts +0 -4
  267. package/dist/routes/api/admin.js +0 -37
  268. package/dist/routes/api/admin.js.map +0 -1
  269. package/dist/routes/api/attachment.d.ts +0 -4
  270. package/dist/routes/api/attachment.js +0 -19
  271. package/dist/routes/api/attachment.js.map +0 -1
  272. package/dist/routes/api/bookmark.d.ts +0 -4
  273. package/dist/routes/api/bookmark.js +0 -15
  274. package/dist/routes/api/bookmark.js.map +0 -1
  275. package/dist/routes/api/comment.d.ts +0 -4
  276. package/dist/routes/api/comment.js +0 -14
  277. package/dist/routes/api/comment.js.map +0 -1
  278. package/dist/routes/api/index.d.ts +0 -4
  279. package/dist/routes/api/index.js +0 -36
  280. package/dist/routes/api/index.js.map +0 -1
  281. package/dist/routes/api/like.d.ts +0 -4
  282. package/dist/routes/api/like.js +0 -13
  283. package/dist/routes/api/like.js.map +0 -1
  284. package/dist/routes/api/notification.d.ts +0 -4
  285. package/dist/routes/api/notification.js +0 -15
  286. package/dist/routes/api/notification.js.map +0 -1
  287. package/dist/routes/api/page.d.ts +0 -4
  288. package/dist/routes/api/page.js +0 -24
  289. package/dist/routes/api/page.js.map +0 -1
  290. package/dist/routes/api/revision.d.ts +0 -4
  291. package/dist/routes/api/revision.js +0 -14
  292. package/dist/routes/api/revision.js.map +0 -1
  293. package/dist/routes/api/share.d.ts +0 -4
  294. package/dist/routes/api/share.js +0 -16
  295. package/dist/routes/api/share.js.map +0 -1
  296. package/dist/routes/api/version.d.ts +0 -4
  297. package/dist/routes/api/version.js +0 -10
  298. package/dist/routes/api/version.js.map +0 -1
  299. package/dist/routes/index.d.ts +0 -4
  300. package/dist/routes/index.js +0 -71
  301. package/dist/routes/index.js.map +0 -1
  302. package/dist/routes/login.d.ts +0 -4
  303. package/dist/routes/login.js +0 -18
  304. package/dist/routes/login.js.map +0 -1
  305. package/dist/routes/me.d.ts +0 -4
  306. package/dist/routes/me.js +0 -24
  307. package/dist/routes/me.js.map +0 -1
  308. package/dist/routes/ts-rest/admin/app.d.ts +0 -4
  309. package/dist/routes/ts-rest/admin/app.js +0 -67
  310. package/dist/routes/ts-rest/admin/app.js.map +0 -1
  311. package/dist/routes/ts-rest/admin/auth.d.ts +0 -4
  312. package/dist/routes/ts-rest/admin/auth.js +0 -95
  313. package/dist/routes/ts-rest/admin/auth.js.map +0 -1
  314. package/dist/routes/ts-rest/admin/index.d.ts +0 -10
  315. package/dist/routes/ts-rest/admin/index.js +0 -35
  316. package/dist/routes/ts-rest/admin/index.js.map +0 -1
  317. package/dist/routes/ts-rest/admin/mail.d.ts +0 -4
  318. package/dist/routes/ts-rest/admin/mail.js +0 -156
  319. package/dist/routes/ts-rest/admin/mail.js.map +0 -1
  320. package/dist/routes/ts-rest/admin/plugins.d.ts +0 -4
  321. package/dist/routes/ts-rest/admin/plugins.js +0 -317
  322. package/dist/routes/ts-rest/admin/plugins.js.map +0 -1
  323. package/dist/routes/ts-rest/admin/search.d.ts +0 -4
  324. package/dist/routes/ts-rest/admin/search.js +0 -67
  325. package/dist/routes/ts-rest/admin/search.js.map +0 -1
  326. package/dist/routes/ts-rest/admin/security.d.ts +0 -4
  327. package/dist/routes/ts-rest/admin/security.js +0 -114
  328. package/dist/routes/ts-rest/admin/security.js.map +0 -1
  329. package/dist/routes/ts-rest/admin/share.d.ts +0 -4
  330. package/dist/routes/ts-rest/admin/share.js +0 -69
  331. package/dist/routes/ts-rest/admin/share.js.map +0 -1
  332. package/dist/routes/ts-rest/admin/storage.d.ts +0 -4
  333. package/dist/routes/ts-rest/admin/storage.js +0 -59
  334. package/dist/routes/ts-rest/admin/storage.js.map +0 -1
  335. package/dist/routes/ts-rest/admin/users.d.ts +0 -4
  336. package/dist/routes/ts-rest/admin/users.js +0 -215
  337. package/dist/routes/ts-rest/admin/users.js.map +0 -1
  338. package/dist/routes/ts-rest/adminCrypto.d.ts +0 -4
  339. package/dist/routes/ts-rest/adminCrypto.js +0 -111
  340. package/dist/routes/ts-rest/adminCrypto.js.map +0 -1
  341. package/dist/routes/ts-rest/app.d.ts +0 -4
  342. package/dist/routes/ts-rest/app.js +0 -23
  343. package/dist/routes/ts-rest/app.js.map +0 -1
  344. package/dist/routes/ts-rest/attachment.d.ts +0 -4
  345. package/dist/routes/ts-rest/attachment.js +0 -830
  346. package/dist/routes/ts-rest/attachment.js.map +0 -1
  347. package/dist/routes/ts-rest/auth.d.ts +0 -4
  348. package/dist/routes/ts-rest/auth.js +0 -70
  349. package/dist/routes/ts-rest/auth.js.map +0 -1
  350. package/dist/routes/ts-rest/autocomplete.d.ts +0 -30
  351. package/dist/routes/ts-rest/autocomplete.js +0 -189
  352. package/dist/routes/ts-rest/autocomplete.js.map +0 -1
  353. package/dist/routes/ts-rest/backlink.d.ts +0 -4
  354. package/dist/routes/ts-rest/backlink.js +0 -106
  355. package/dist/routes/ts-rest/backlink.js.map +0 -1
  356. package/dist/routes/ts-rest/bookmark.d.ts +0 -4
  357. package/dist/routes/ts-rest/bookmark.js +0 -189
  358. package/dist/routes/ts-rest/bookmark.js.map +0 -1
  359. package/dist/routes/ts-rest/comment.d.ts +0 -4
  360. package/dist/routes/ts-rest/comment.js +0 -217
  361. package/dist/routes/ts-rest/comment.js.map +0 -1
  362. package/dist/routes/ts-rest/draft.d.ts +0 -22
  363. package/dist/routes/ts-rest/draft.js +0 -200
  364. package/dist/routes/ts-rest/draft.js.map +0 -1
  365. package/dist/routes/ts-rest/index.d.ts +0 -4
  366. package/dist/routes/ts-rest/index.js +0 -103
  367. package/dist/routes/ts-rest/index.js.map +0 -1
  368. package/dist/routes/ts-rest/installer.d.ts +0 -4
  369. package/dist/routes/ts-rest/installer.js +0 -77
  370. package/dist/routes/ts-rest/installer.js.map +0 -1
  371. package/dist/routes/ts-rest/me.d.ts +0 -4
  372. package/dist/routes/ts-rest/me.js +0 -410
  373. package/dist/routes/ts-rest/me.js.map +0 -1
  374. package/dist/routes/ts-rest/notification.d.ts +0 -4
  375. package/dist/routes/ts-rest/notification.js +0 -241
  376. package/dist/routes/ts-rest/notification.js.map +0 -1
  377. package/dist/routes/ts-rest/page-collab.d.ts +0 -29
  378. package/dist/routes/ts-rest/page-collab.js +0 -90
  379. package/dist/routes/ts-rest/page-collab.js.map +0 -1
  380. package/dist/routes/ts-rest/page-preview.d.ts +0 -26
  381. package/dist/routes/ts-rest/page-preview.js +0 -80
  382. package/dist/routes/ts-rest/page-preview.js.map +0 -1
  383. package/dist/routes/ts-rest/page.d.ts +0 -4
  384. package/dist/routes/ts-rest/page.js +0 -676
  385. package/dist/routes/ts-rest/page.js.map +0 -1
  386. package/dist/routes/ts-rest/presence.d.ts +0 -30
  387. package/dist/routes/ts-rest/presence.js +0 -155
  388. package/dist/routes/ts-rest/presence.js.map +0 -1
  389. package/dist/routes/ts-rest/revision.d.ts +0 -4
  390. package/dist/routes/ts-rest/revision.js +0 -240
  391. package/dist/routes/ts-rest/revision.js.map +0 -1
  392. package/dist/routes/ts-rest/search.d.ts +0 -4
  393. package/dist/routes/ts-rest/search.js +0 -121
  394. package/dist/routes/ts-rest/search.js.map +0 -1
  395. package/dist/routes/ts-rest/tokenAuth.d.ts +0 -4
  396. package/dist/routes/ts-rest/tokenAuth.js +0 -94
  397. package/dist/routes/ts-rest/tokenAuth.js.map +0 -1
  398. package/dist/routes/ts-rest/user.d.ts +0 -4
  399. package/dist/routes/ts-rest/user.js +0 -307
  400. package/dist/routes/ts-rest/user.js.map +0 -1
  401. package/dist/types/express.d.ts +0 -34
  402. package/dist/types/express.js +0 -50
  403. package/dist/types/express.js.map +0 -1
  404. package/dist/util/accessTokenParser.d.ts +0 -1
  405. package/dist/util/accessTokenParser.js +0 -34
  406. package/dist/util/accessTokenParser.js.map +0 -1
  407. package/dist/util/apiPaginate.d.ts +0 -11
  408. package/dist/util/apiPaginate.js +0 -33
  409. package/dist/util/apiPaginate.js.map +0 -1
  410. package/dist/util/apiResponse.d.ts +0 -9
  411. package/dist/util/apiResponse.js +0 -23
  412. package/dist/util/apiResponse.js.map +0 -1
  413. package/dist/util/auth.d.ts +0 -11
  414. package/dist/util/auth.js +0 -48
  415. package/dist/util/auth.js.map +0 -1
  416. package/dist/util/aws-config-migration.d.ts +0 -11
  417. package/dist/util/aws-config-migration.js +0 -68
  418. package/dist/util/aws-config-migration.js.map +0 -1
  419. package/dist/util/formUtil.d.ts +0 -2
  420. package/dist/util/formUtil.js +0 -15
  421. package/dist/util/formUtil.js.map +0 -1
  422. package/dist/util/githubAuth.d.ts +0 -2
  423. package/dist/util/githubAuth.js +0 -82
  424. package/dist/util/githubAuth.js.map +0 -1
  425. package/dist/util/googleAuth.d.ts +0 -2
  426. package/dist/util/googleAuth.js +0 -85
  427. package/dist/util/googleAuth.js.map +0 -1
  428. package/dist/util/mailer.d.ts +0 -7
  429. package/dist/util/mailer.js +0 -98
  430. package/dist/util/mailer.js.map +0 -1
  431. package/dist/util/page-status-migration.d.ts +0 -23
  432. package/dist/util/page-status-migration.js +0 -48
  433. package/dist/util/page-status-migration.js.map +0 -1
  434. package/dist/util/ssr.d.ts +0 -3
  435. package/dist/util/ssr.js +0 -9
  436. package/dist/util/ssr.js.map +0 -1
  437. package/dist/util/view.d.ts +0 -10
  438. package/dist/util/view.js +0 -99
  439. package/dist/util/view.js.map +0 -1
@@ -22,6 +22,30 @@ export type MigrationDb = mongo.Db;
22
22
  * hence there is no `build-index` stage and no `ownedIndexes`.
23
23
  */
24
24
  export type MigrationLayer = 'boot' | 'preflight';
25
+ /**
26
+ * Boot-block classification for a `preflight` migration (RFC-0008 §4.2.7
27
+ * amendment / §12.7).
28
+ *
29
+ * - `blocking` — an index-impacting / data-integrity migration (e.g.
30
+ * `user-unique-prepare`). When pending, boot is refused
31
+ * under the `block` policy (downgradeable to a warning via
32
+ * `MIGRATION_PREFLIGHT_UNAPPLIED_POLICY=warn`), because
33
+ * booting against not-yet-prepared data risks an autoIndex
34
+ * E11000 (§9).
35
+ * - `cosmetic` — a display-only migration (no data-integrity hazard), e.g.
36
+ * the body-rewriting `wikilink-format` or the path-relocating
37
+ * `relocate-reserved-api-paths`. When pending it only ever
38
+ * warns and boot continues — independent of the global
39
+ * policy. This avoids the structural deadlock where new
40
+ * content keeps a corpus-scan `isPending` perpetually true
41
+ * (§6.1/§6.2) and would otherwise refuse the whole cluster
42
+ * forever (BUG 2).
43
+ *
44
+ * `severity` lives only on a `preflight` migration (see the
45
+ * `MigrationDefinition` discriminated union): `boot`-layer migrations are
46
+ * auto-applied and never boot-probed, so they carry no `severity`.
47
+ */
48
+ export type MigrationSeverity = 'cosmetic' | 'blocking';
25
49
  /**
26
50
  * Minimal logger surface the runner hands to a migration. Backed by the
27
51
  * runner's structured logger (console / `debug`); kept narrow so a
@@ -114,13 +138,13 @@ export interface MigrationStage {
114
138
  /** Must no-op when `ctx.dryRun` is true. */
115
139
  fn: (ctx: MigrationContext) => Promise<StageResult>;
116
140
  }
117
- export interface MigrationDefinition {
141
+ /** Fields shared by every migration, independent of `layer`. */
142
+ interface MigrationDefinitionBase {
118
143
  /** Stable identifier. Convention: dateless kebab-case slug (§5.4). */
119
144
  id: string;
120
145
  /** Version range this migration covers (e.g. '1.x' → '2.0'). */
121
146
  fromVersion: string;
122
147
  toVersion: string;
123
- layer: MigrationLayer;
124
148
  /** Short, human-readable description (shown by `plan` / `list`). */
125
149
  description: string;
126
150
  /**
@@ -133,8 +157,9 @@ export interface MigrationDefinition {
133
157
  /**
134
158
  * REQUIRED. A cheap pending probe — O(1) or index-backed. Called on every
135
159
  * boot for every instance (§4.2.1), so it MUST NOT be a full-collection
136
- * scan. For `preflight` + `block`, a false positive blocks boot for the
137
- * whole cluster (§4.2.7), so authors must write this conservatively (§6.2).
160
+ * scan. For a `blocking` `preflight` migration under `block`, a false
161
+ * positive refuses boot for the whole cluster (§4.2.7), so authors must
162
+ * write this conservatively (§6.2).
138
163
  */
139
164
  isPending: (ctx: MigrationContext) => Promise<boolean>;
140
165
  /**
@@ -144,10 +169,37 @@ export interface MigrationDefinition {
144
169
  */
145
170
  detect?: (ctx: MigrationContext) => Promise<DetectReport>;
146
171
  }
172
+ /**
173
+ * A `preflight` migration: heavy / potentially destructive, applied explicitly
174
+ * from `crowi-admin migrate apply`. Boot only *probes* these and, per the
175
+ * REQUIRED `severity`, either refuses boot (`blocking` under `block`) or warns
176
+ * and continues (`cosmetic`, always). `severity` has no default — omitting it
177
+ * is a compile error, so every preflight migration is forced to declare its
178
+ * boot-block risk (§4.2.7 amendment / §12.7).
179
+ */
180
+ export interface PreflightMigrationDefinition extends MigrationDefinitionBase {
181
+ layer: 'preflight';
182
+ severity: MigrationSeverity;
183
+ }
184
+ /**
185
+ * A `boot` migration: lightweight / safe, auto-applied during the boot
186
+ * sequence. It is never boot-probed, so it carries no `severity` — boot-block
187
+ * risk is a `preflight`-only concept.
188
+ */
189
+ export interface BootMigrationDefinition extends MigrationDefinitionBase {
190
+ layer: 'boot';
191
+ }
192
+ /**
193
+ * A migration definition. The `layer` discriminant decides whether a
194
+ * `severity` is required: a `preflight` migration declares one (it gates
195
+ * boot), a `boot` migration does not (auto-applied, never probed).
196
+ */
197
+ export type MigrationDefinition = PreflightMigrationDefinition | BootMigrationDefinition;
147
198
  /**
148
199
  * Identity helper that attaches the `MigrationDefinition` type to a literal
149
200
  * so migration modules get inference + a single import to depend on. Returns
150
201
  * its argument unchanged (no runtime behaviour, mirrors `defineConfig`-style
151
202
  * helpers).
152
203
  */
153
- export declare function defineMigration(def: MigrationDefinition): MigrationDefinition;
204
+ export declare function defineMigration<T extends MigrationDefinition>(def: T): T;
205
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/migration/types.ts"],"names":[],"mappings":";;AA8KA,0CAEC;AARD;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,GAAwB;IACtD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/migration/types.ts"],"names":[],"mappings":";;AAoOA,0CAEC;AARD;;;;;GAKG;AACH,SAAgB,eAAe,CAAgC,GAAM;IACnE,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -78,7 +78,7 @@ export interface PageDocument extends Document {
78
78
  * code path explicit. Phase 5 will populate it alongside `revision`
79
79
  * inside the save transaction; older pages and pages saved before
80
80
  * Phase 5 lands return `null` here and read code should fall back to
81
- * `revision`. The duplication is intentional during the v2.1
81
+ * `revision`. The duplication is intentional during the v2.0
82
82
  * transition — see `openQuestions[0]` in the Phase 1 task file.
83
83
  */
84
84
  currentRevision?: Types.ObjectId | null;
@@ -125,6 +125,23 @@ export interface PageDocument extends Document {
125
125
  updateExtended(extended: Record<string, any>): any;
126
126
  getNotificationTargetUsers(): any;
127
127
  }
128
+ /** Options for `Page.pushRevision`. */
129
+ export interface PushRevisionOptions {
130
+ /**
131
+ * When true, leave `lastUpdateUser` / `updatedAt` at their current values
132
+ * instead of bumping them to the acting user / now. Used by body-rewrite
133
+ * migrations so an `apply` doesn't reorder recently-updated lists or
134
+ * overwrite a page's "last updated by" with the migration bot. legacy pages
135
+ * whose values are null/undefined are left untouched (never set to
136
+ * `undefined`). See `migration/runner.ts` `rewritePageBody`.
137
+ */
138
+ preserveTimestamps?: boolean;
139
+ }
140
+ /** Options for `Page.updatePage` (4th arg). */
141
+ export interface UpdatePageOptions extends PushRevisionOptions {
142
+ grant?: number;
143
+ editVia?: string;
144
+ }
128
145
  export interface PageModel extends Model<PageDocument> {
129
146
  GRANT_PUBLIC: number;
130
147
  GRANT_RESTRICTED: number;
@@ -140,6 +157,9 @@ export interface PageModel extends Model<PageDocument> {
140
157
  updateCommentCount(page: any, num: any): any;
141
158
  hasPortalPage(path: any, user: any, revisionId?: any): Promise<boolean>;
142
159
  findPortalPage(path: any, user: any, revisionId?: any): Promise<PageDocument | null>;
160
+ findExistingTwin(path: string, options?: {
161
+ excludeId?: unknown;
162
+ }): Promise<PageDocument | null>;
143
163
  getGrantLabels(): any;
144
164
  normalizePath(path: any): any;
145
165
  getUserPagePath(user: any): any;
@@ -180,9 +200,9 @@ export interface PageModel extends Model<PageDocument> {
180
200
  updatePageProperty(page: any, updateData: any): any;
181
201
  updateGrant(page: any, grant: any, userData: any): any;
182
202
  pushToGrantedUsers(page: any, userData: any): any;
183
- pushRevision(pageData: any, newRevision: any, user: any): any;
203
+ pushRevision(pageData: any, newRevision: any, user: any, options?: PushRevisionOptions): any;
184
204
  createPage(path: any, body: any, user: any, options: any): any;
185
- updatePage(pageData: PageDocument, body: any, user: any, options: any): any;
205
+ updatePage(pageData: PageDocument, body: any, user: any, options: UpdatePageOptions): any;
186
206
  deletePage(pageData: PageDocument, user: any): any;
187
207
  revertDeletedPage(pageData: PageDocument, user: any): Promise<PageDocument>;
188
208
  completelyDeletePage(pageData: PageDocument, user?: any): Promise<PageDocument>;
@@ -108,6 +108,26 @@ exports.TYPES = [exports.TYPE_PORTAL, exports.TYPE_USER, exports.TYPE_PUBLIC];
108
108
  exports.default = (crowi) => {
109
109
  const debug = (0, debug_1.default)('crowi:models:page');
110
110
  const pageEvent = crowi.event('Page');
111
+ /**
112
+ * feature-editor-preview-reliability G1 — drive the in-process collab
113
+ * external-edit invalidator after an external write (`updatePage`) commits.
114
+ * Fire-and-forget: the invalidator is itself best-effort and never throws,
115
+ * but we still guard the call so an absent attachment (CLI / tests / boot
116
+ * not yet finished) or a synchronous throw can never bubble into the write.
117
+ *
118
+ * Multi-instance / out-of-process is out of scope (RFC-0003 §5b): the
119
+ * handle only reaches docs live in THIS api process. A live doc on another
120
+ * replica needs future Redis pub/sub — documented in the realtime-collab
121
+ * operations doc.
122
+ */
123
+ function invalidateLiveCollabDoc(pageId) {
124
+ const attachment = crowi.collabAttachment;
125
+ if (!attachment)
126
+ return;
127
+ void attachment.invalidatePages([String(pageId)], 'page-body-replaced').catch((err) => {
128
+ debug('collab invalidatePages failed for page %s: %s', String(pageId), err?.message ?? err);
129
+ });
130
+ }
111
131
  function isPortalPath(path) {
112
132
  return path.endsWith('/');
113
133
  }
@@ -155,7 +175,7 @@ exports.default = (crowi) => {
155
175
  createdAt: { type: Date, default: Date.now },
156
176
  updatedAt: Date,
157
177
  // RFC-0003: pointer to the latest collaborative-save `Revision`.
158
- // Co-exists with `revision` during the v2.1 transition; the
178
+ // Co-exists with `revision` during the v2.0 transition; the
159
179
  // legacy field stays the source of truth until Phase 5 lands
160
180
  // the dual-write inside the save transaction.
161
181
  currentRevision: { type: mongoose_1.Schema.Types.ObjectId, ref: 'Revision', default: null },
@@ -400,6 +420,37 @@ exports.default = (crowi) => {
400
420
  return null;
401
421
  }
402
422
  };
423
+ /**
424
+ * Find the "twin" of `path` — the same path with the trailing slash
425
+ * toggled (`/x` ↔ `/x/`). Used by the create / draft / rename guards to
426
+ * block the `/x` ↔ `/x/` double-state (feature-update-pages-list-ux §6):
427
+ * if `/x` exists you can't create `/x/` and vice versa.
428
+ *
429
+ * Only a REAL page counts (`redirectTo: null`) — a redirect stub left by
430
+ * a previous move is not a real twin and must not block. `excludeId` lets
431
+ * a self-targeting move (portalizing `/x` → `/x/`, where the twin `/x` is
432
+ * the page being moved) skip its own document. Returns `null` when no
433
+ * twin exists, the root `/` (which has no meaningful twin), or the only
434
+ * match is the excluded id.
435
+ *
436
+ * Note: this is a raw existence check independent of grant — the guard is
437
+ * about path uniqueness, not visibility, so a twin the caller cannot see
438
+ * still blocks (and we never leak it; the guard returns a generic 400).
439
+ */
440
+ pageSchema.statics.findExistingTwin = async function (path, options = {}) {
441
+ // The root portal `/` strips to '' — there is no `/x` ↔ `/x/` pairing
442
+ // to enforce there, so never treat it as having a twin.
443
+ if (path === '/' || path === '') {
444
+ return null;
445
+ }
446
+ const twinPath = isPortalPath(path) ? removeTrailingSlash(path) : addTrailingSlash(path);
447
+ const query = { path: twinPath, redirectTo: null };
448
+ const excludeId = options.excludeId;
449
+ if (excludeId != null) {
450
+ query._id = { $ne: excludeId };
451
+ }
452
+ return Page.findOne(query);
453
+ };
403
454
  pageSchema.statics.getGrantLabels = function () {
404
455
  const grantLabels = {};
405
456
  grantLabels[exports.GRANT_PUBLIC] = 'Public'; // 公開
@@ -794,7 +845,7 @@ exports.default = (crowi) => {
794
845
  page.grantedUsers.addToSet(userData);
795
846
  return page.save();
796
847
  };
797
- pageSchema.statics.pushRevision = async function (pageData, newRevision, user) {
848
+ pageSchema.statics.pushRevision = async function (pageData, newRevision, user, options = {}) {
798
849
  const isCreate = pageData.revision === undefined;
799
850
  if (isCreate) {
800
851
  debug('pushRevision on Create');
@@ -802,8 +853,15 @@ exports.default = (crowi) => {
802
853
  await newRevision.save();
803
854
  debug('Successfully saved new revision', newRevision);
804
855
  pageData.revision = newRevision;
805
- pageData.lastUpdateUser = user;
806
- pageData.updatedAt = Date.now();
856
+ // preserveTimestamps (body-rewrite migrations): keep the page's existing
857
+ // lastUpdateUser / updatedAt so an `apply` neither bumps the page to the
858
+ // top of recently-updated lists nor rewrites "last updated by" to the
859
+ // migration bot. Skip the assignment entirely — a legacy page whose values
860
+ // are null/undefined is therefore never overwritten with `undefined`.
861
+ if (!options.preserveTimestamps) {
862
+ pageData.lastUpdateUser = user;
863
+ pageData.updatedAt = Date.now();
864
+ }
807
865
  const data = pageData.save();
808
866
  if (!isCreate) {
809
867
  debug('pushRevision on Update');
@@ -855,6 +913,7 @@ exports.default = (crowi) => {
855
913
  pageSchema.statics.updatePage = async function (pageData, body, user, options = {}) {
856
914
  const Revision = crowi.model('Revision');
857
915
  const Bookmark = crowi.model('Bookmark');
916
+ const PageYjsUpdate = crowi.model('PageYjsUpdate');
858
917
  // Default to the page's CURRENT grant when the caller doesn't pass one, so a
859
918
  // body-only update leaves visibility untouched. A previous `options.grant ||
860
919
  // null` turned every grant-less call (e.g. `updatePage(page, body, user, {})`
@@ -878,7 +937,23 @@ exports.default = (crowi) => {
878
937
  pageData.currentRevision = newRevision;
879
938
  pageData.yjsState = null;
880
939
  pageData.yjsCheckpointAt = null;
881
- await Page.pushRevision(pageData, newRevision, user);
940
+ await Page.pushRevision(pageData, newRevision, user, { preserveTimestamps: options.preserveTimestamps });
941
+ // feature-editor-preview-reliability (High, G1) — an external body write
942
+ // abandons the persisted collab lineage (yjsState nulled above). The
943
+ // pending `PageYjsUpdate` append rows descend from that OLD lineage, so a
944
+ // fresh `onLoadDocument` materialisation would replay them on top of the
945
+ // new revision body and auto-merge stale content back in (contradicting
946
+ // the "external edit canonical, manual merge" design). Drop them here so
947
+ // the next materialisation replays nothing. Best-effort + fire-and-forget:
948
+ // a delete failure must never fail / delay the HTTP write, and the collab
949
+ // load path has its own time-gated purge as a backstop. `onLoadDocument`
950
+ // only re-applies rows that POSTDATE this new revision (genuine
951
+ // not-yet-folded edits), so clearing the pre-edit rows is safe.
952
+ void PageYjsUpdate.deleteMany({ pageId: pageData._id })
953
+ .exec()
954
+ .catch((err) => {
955
+ debug('updatePage: PageYjsUpdate.deleteMany failed for page %s: %s', String(pageData._id), err?.message ?? err);
956
+ });
882
957
  const bookmarkCount = await Bookmark.countByPageId(pageData._id);
883
958
  // The 4th arg flags "a new revision was created" so events/page.ts can
884
959
  // fan out an UPDATE notification only for body updates (not rename /
@@ -887,9 +962,20 @@ exports.default = (crowi) => {
887
962
  if (grant != pageData.grant) {
888
963
  const data = await Page.updateGrant(pageData, grant, user);
889
964
  pageEvent.emit('update', data, user, bookmarkCount, true);
965
+ invalidateLiveCollabDoc(pageData._id);
890
966
  return data;
891
967
  }
892
968
  pageEvent.emit('update', pageData, user, bookmarkCount, true);
969
+ // feature-editor-preview-reliability G1 — this external edit just nulled
970
+ // `yjsState` + bumped `currentRevision` (above). If a collab session is
971
+ // live on this page in THIS process, the live Y.Doc is now stale: a
972
+ // force-reload broadcast alone is a no-op under `unloadImmediately`
973
+ // (the doc survives while ≥1 client stays connected), so we drive the
974
+ // in-process invalidator (broadcast + tombstone + drain) AFTER the write
975
+ // committed. Best-effort + fire-and-forget: it must never fail / delay
976
+ // the HTTP write, and out-of-process / multi-instance live docs are out
977
+ // of scope (RFC-0003 §5b — documented limitation).
978
+ invalidateLiveCollabDoc(pageData._id);
893
979
  return pageData;
894
980
  };
895
981
  pageSchema.statics.deletePage = async function (pageData, user) {
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/models/page.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/models/page.ts"],"names":[],"mappings":"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"}
@@ -125,6 +125,7 @@ export interface UserModel extends PaginateModel<UserDocument> {
125
125
  newPassword: string;
126
126
  }>;
127
127
  createUsersByInvitation(emailList: any, toSendEmail: any, callback: any): any;
128
+ sendInvitationMail(user: UserDocument): Promise<void>;
128
129
  createUserByEmailAndPassword(name: any, username: any, email: any, password: any, lang: any, callback: any): any;
129
130
  createUserPictureFilePath(user: UserDocument, ext: string): string;
130
131
  getUsernameByPath(path: any): string | null;
@@ -551,10 +551,44 @@ exports.default = (crowi) => {
551
551
  const user = await userData.save();
552
552
  return { user, newPassword };
553
553
  };
554
+ /**
555
+ * Issue a fresh invite token and send the invitation email for `user`.
556
+ *
557
+ * Shared by the initial invitation (`createUsersByInvitation`) and the
558
+ * admin "resend invite" action so the token issuance + invite-link
559
+ * assembly + `mailer.send('invite')` live in exactly one place. The
560
+ * token is a stateless JWT (`util/mail-token.ts`, TTL 7 days, not stored
561
+ * in the DB), so a resend simply signs a new token — no old-token
562
+ * invalidation is needed; the accept handler's status check rejects a
563
+ * second acceptance.
564
+ *
565
+ * Throws on a send failure. Callers that must not abort their wider
566
+ * operation (the batch invite, where one bad address must not stop the
567
+ * rest) wrap this in try/catch; the resend handler lets the throw
568
+ * surface so it can be mapped to a 5xx.
569
+ */
570
+ userSchema.statics.sendInvitationMail = async function (user) {
571
+ const mailer = crowi.getMailer();
572
+ const mailTokenUtil = (0, mail_token_1.createMailTokenUtil)();
573
+ // Absolute base for the invite link (CLIENT_URL).
574
+ const baseUrl = crowi.getBaseUrl() || '';
575
+ // Token-based invite link — no plaintext password is ever emailed; the
576
+ // invitee sets their own credentials on accept.
577
+ const { token } = mailTokenUtil.signMailToken({
578
+ purpose: 'invite',
579
+ userId: user._id.toString(),
580
+ email: user.email,
581
+ });
582
+ const inviteUrl = `${baseUrl}/invite/accept?token=${token}`;
583
+ await mailer.send({
584
+ to: user.email,
585
+ htmlTemplate: 'invite',
586
+ vars: { ...mailer.brandVars(), inviteUrl, email: user.email },
587
+ });
588
+ };
554
589
  userSchema.statics.createUsersByInvitation = function (emailList, toSendEmail, callback) {
555
590
  const createdUserList = [];
556
591
  const config = crowi.getConfig();
557
- const mailer = crowi.getMailer();
558
592
  if (!Array.isArray(emailList)) {
559
593
  debug('emailList is not array');
560
594
  }
@@ -598,31 +632,16 @@ exports.default = (crowi) => {
598
632
  debug('error occured while iterate email list');
599
633
  }
600
634
  if (toSendEmail) {
601
- const mailTokenUtil = (0, mail_token_1.createMailTokenUtil)();
602
- const brand = mailer.brandVars();
603
- // Absolute base for the invite link (CLIENT_URL).
604
- const baseUrl = crowi.getBaseUrl() || '';
605
635
  async_1.default.each(createdUserList, function (item, next) {
606
636
  // Skip rows that already existed or failed to save.
607
637
  if (!item.user) {
608
638
  return next();
609
639
  }
610
- // Token-based invite link no plaintext password is ever
611
- // emailed; the invitee sets their own credentials on accept.
612
- const { token } = mailTokenUtil.signMailToken({
613
- purpose: 'invite',
614
- userId: item.user._id.toString(),
615
- email: item.email,
616
- });
617
- const inviteUrl = `${baseUrl}/invite/accept?token=${token}`;
618
- mailer
619
- .send({
620
- to: item.email,
621
- htmlTemplate: 'invite',
622
- vars: { ...brand, inviteUrl, email: item.email },
623
- })
624
- // A send failure must not abort user creation — log and
625
- // continue so the remaining invitations still go out.
640
+ // Token issuance + invite-link assembly + send is shared with
641
+ // the admin "resend invite" action via `sendInvitationMail`.
642
+ // A send failure must not abort the batch — log and continue
643
+ // so the remaining invitations still go out.
644
+ User.sendInvitationMail(item.user)
626
645
  .then(() => debug('completed to send invitation to', item.email))
627
646
  .catch((err) => debug('failed to send invitation email: ', err))
628
647
  .finally(() => next());