@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
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../../src/routes/ts-rest/admin/plugins.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { Express } from 'express';
2
- import Crowi from '../../../crowi';
3
- declare const _default: (crowi: Crowi, _app: Express) => import("express-serve-static-core").Router;
4
- export default _default;
@@ -1,67 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const express_1 = require("@ts-rest/express");
4
- const api_contract_1 = require("@crowi/api-contract");
5
- const express_2 = require("express");
6
- exports.default = (crowi, _app) => {
7
- const s = (0, express_1.initServer)();
8
- const router = (0, express_2.Router)();
9
- const searchRouter = s.router(api_contract_1.apiContract.admin.search, {
10
- /**
11
- * GET /api/v2/admin/search
12
- *
13
- * Returns the active search driver pointer and the full list of
14
- * registered drivers. Authorization is handled by the surrounding
15
- * adminRouter middleware (`jwtAdminRequired`); this handler only runs
16
- * for authenticated admins.
17
- *
18
- * Active resolution mirrors `admin/storage.ts`: walk `search.list()`
19
- * and find the entry whose driver instance is `===` the resolved
20
- * active driver. Reference equality is safe because `DriverRegistry`
21
- * stores each driver instance once.
22
- *
23
- * `supportsRebuild` is `typeof driver.rebuild === 'function'` — the
24
- * registry interface declares `rebuild?` as optional, so drivers
25
- * without a persistent index (e.g. Mongo regex) won't expose it. The
26
- * web admin uses this flag to gate the `crowi-admin search rebuild`
27
- * hint.
28
- */
29
- getSearchStatus: async () => {
30
- const plugins = crowi.getPlugins();
31
- const activeDriver = plugins.active.search;
32
- const list = plugins.search.list();
33
- let activeName = null;
34
- let activePlugin = null;
35
- let activeSupportsRebuild = false;
36
- if (activeDriver) {
37
- for (const entry of list) {
38
- if (plugins.search.get(entry.driverName) === activeDriver) {
39
- activeName = entry.driverName;
40
- activePlugin = entry.plugin;
41
- activeSupportsRebuild = typeof activeDriver.rebuild === 'function';
42
- break;
43
- }
44
- }
45
- }
46
- const drivers = list.map((entry) => {
47
- const instance = plugins.search.get(entry.driverName);
48
- return {
49
- driverName: entry.driverName,
50
- pluginName: entry.plugin,
51
- isActive: entry.driverName === activeName,
52
- supportsRebuild: typeof instance?.rebuild === 'function',
53
- };
54
- });
55
- return {
56
- status: 200,
57
- body: {
58
- active: activeName && activePlugin ? { driverName: activeName, pluginName: activePlugin, supportsRebuild: activeSupportsRebuild } : null,
59
- drivers,
60
- },
61
- };
62
- },
63
- });
64
- (0, express_1.createExpressEndpoints)(api_contract_1.apiContract.admin.search, searchRouter, router);
65
- return router;
66
- };
67
- //# sourceMappingURL=search.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../../src/routes/ts-rest/admin/search.ts"],"names":[],"mappings":";;AAAA,8CAAsE;AACtE,sDAA0E;AAC1E,qCAA0C;AAG1C,kBAAe,CAAC,KAAY,EAAE,IAAa,EAAE,EAAE;IAC7C,MAAM,CAAC,GAAG,IAAA,oBAAU,GAAE,CAAC;IACvB,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;IAExB,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,0BAAW,CAAC,KAAK,CAAC,MAAM,EAAE;QACtD;;;;;;;;;;;;;;;;;;WAkBG;QACH,eAAe,EAAE,KAAK,IAAI,EAAE;YAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;YACnC,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAEnC,IAAI,UAAU,GAAkB,IAAI,CAAC;YACrC,IAAI,YAAY,GAAkB,IAAI,CAAC;YACvC,IAAI,qBAAqB,GAAG,KAAK,CAAC;YAClC,IAAI,YAAY,EAAE,CAAC;gBACjB,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;oBACzB,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,YAAY,EAAE,CAAC;wBAC1D,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;wBAC9B,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC;wBAC5B,qBAAqB,GAAG,OAAO,YAAY,CAAC,OAAO,KAAK,UAAU,CAAC;wBACnE,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,OAAO,GAAwB,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBACtD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACtD,OAAO;oBACL,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,UAAU,EAAE,KAAK,CAAC,MAAM;oBACxB,QAAQ,EAAE,KAAK,CAAC,UAAU,KAAK,UAAU;oBACzC,eAAe,EAAE,OAAO,QAAQ,EAAE,OAAO,KAAK,UAAU;iBACzD,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,OAAO;gBACL,MAAM,EAAE,GAAY;gBACpB,IAAI,EAAE;oBACJ,MAAM,EAAE,UAAU,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,IAAI;oBACxI,OAAO;iBACR;aACF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,IAAA,gCAAsB,EAAC,0BAAW,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAEvE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
@@ -1,4 +0,0 @@
1
- import Crowi from '../../../crowi';
2
- import { Express } from 'express';
3
- declare const _default: (crowi: Crowi, _app: Express) => import("express-serve-static-core").Router;
4
- export default _default;
@@ -1,114 +0,0 @@
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 express_1 = require("@ts-rest/express");
7
- const api_contract_1 = require("@crowi/api-contract");
8
- const express_2 = require("express");
9
- const admin_config_1 = require("../../../util/admin-config");
10
- const ts_rest_helpers_1 = require("../../../util/ts-rest-helpers");
11
- const debug_1 = __importDefault(require("debug"));
12
- const debug = (0, debug_1.default)('crowi:routes:ts-rest:admin:security');
13
- /**
14
- * Default values for the security:* config keys, mirroring the legacy
15
- * `getArrayForInstalling` defaults in `packages/api/src/models/config.ts`.
16
- *
17
- * - basicName / basicSecret are not set on a fresh install -> empty string
18
- * - registrationMode defaults to 'Open'
19
- * - registrationWhiteList defaults to []
20
- *
21
- * The handler reads from `crowi.getConfig().crowi` which is populated from
22
- * Mongo on boot; if the keys are missing (e.g. older installs that pre-date
23
- * basic-auth support) we fall back to these defaults rather than 500ing.
24
- */
25
- const DEFAULT_BASIC_NAME = '';
26
- const DEFAULT_BASIC_SECRET = '';
27
- const DEFAULT_REGISTRATION_MODE = 'Open';
28
- /**
29
- * Coerce an unknown config value to a RegistrationMode. Anything outside the
30
- * known enum is treated as the default ('Open') to avoid surfacing a 500 on
31
- * the GET endpoint when the database holds a stale or hand-edited value.
32
- */
33
- const toRegistrationMode = (value) => {
34
- if (value === 'Open' || value === 'Resricted' || value === 'Closed') {
35
- return value;
36
- }
37
- return DEFAULT_REGISTRATION_MODE;
38
- };
39
- /**
40
- * Trim each entry and drop empty strings. Mirrors the legacy
41
- * `stringToArrayFilter` semantics (after CRLF normalization), but applies
42
- * to an already-split array since the API contract requires string[].
43
- */
44
- const sanitizeWhiteList = (list) => {
45
- return list.map((entry) => entry.trim()).filter((entry) => entry.length > 0);
46
- };
47
- const readSecuritySettings = (crowi) => {
48
- const ns = (0, admin_config_1.getCrowiConfigNamespace)(crowi);
49
- return {
50
- basicName: (0, admin_config_1.coerceString)(ns['security:basicName'], DEFAULT_BASIC_NAME),
51
- basicSecret: (0, admin_config_1.coerceString)(ns['security:basicSecret'], DEFAULT_BASIC_SECRET),
52
- registrationMode: toRegistrationMode(ns['security:registrationMode']),
53
- // coerceStringArray already returns [] when the value is missing — that doubles as the default.
54
- registrationWhiteList: (0, admin_config_1.coerceStringArray)(ns['security:registrationWhiteList']),
55
- };
56
- };
57
- exports.default = (crowi, _app) => {
58
- const s = (0, express_1.initServer)();
59
- const router = (0, express_2.Router)();
60
- const securityRouter = s.router(api_contract_1.apiContract.admin.security, {
61
- /**
62
- * GET /api/v2/admin/security
63
- * Returns the four `security:*` config values currently in effect.
64
- * Authorization (jwt + admin) is handled by the surrounding adminRouter
65
- * middleware; missing/forbidden auth never reaches this handler.
66
- */
67
- getSecuritySettings: async () => {
68
- try {
69
- const settings = readSecuritySettings(crowi);
70
- return { status: 200, body: settings };
71
- }
72
- catch (err) {
73
- const error = err;
74
- debug('Error reading security settings:', error.message);
75
- return ts_rest_helpers_1.internalServerErrorResponse;
76
- }
77
- },
78
- /**
79
- * PUT /api/v2/admin/security
80
- * Persists the four `security:*` keys via configService.saveConfig('crowi', ...).
81
- *
82
- * - registrationWhiteList entries are trimmed and empty entries dropped,
83
- * matching the legacy `normalizeCRLFFilter` + `stringToArrayFilter`
84
- * behavior at the form layer.
85
- * - We only write the four security keys we own; saveConfig merges into
86
- * the existing 'crowi' namespace so unrelated keys (app:*, mail:*,
87
- * auth:*) are untouched.
88
- * - Returns the post-save settings so the UI doesn't need a follow-up GET.
89
- */
90
- updateSecuritySettings: async ({ body }) => {
91
- const configService = crowi.getConfigService();
92
- const sanitizedWhiteList = sanitizeWhiteList(body.registrationWhiteList);
93
- try {
94
- await configService.saveConfig('crowi', {
95
- 'security:basicName': body.basicName,
96
- 'security:basicSecret': body.basicSecret,
97
- 'security:registrationMode': body.registrationMode,
98
- 'security:registrationWhiteList': sanitizedWhiteList,
99
- });
100
- }
101
- catch (err) {
102
- const error = err;
103
- debug('Error saving security settings:', error.message);
104
- return ts_rest_helpers_1.internalServerErrorResponse;
105
- }
106
- // Re-read from the in-memory cache (saveConfig updates it) so the
107
- // response reflects the new values without a Mongo round-trip.
108
- return { status: 200, body: readSecuritySettings(crowi) };
109
- },
110
- });
111
- (0, express_1.createExpressEndpoints)(api_contract_1.apiContract.admin.security, securityRouter, router);
112
- return router;
113
- };
114
- //# sourceMappingURL=security.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"security.js","sourceRoot":"","sources":["../../../../src/routes/ts-rest/admin/security.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsE;AACtE,sDAAgG;AAEhG,qCAA0C;AAC1C,wDAAiG;AACjG,8DAAuE;AACvE,kDAA0B;AAE1B,MAAM,KAAK,GAAG,IAAA,eAAK,EAAC,qCAAqC,CAAC,CAAC;AAE3D;;;;;;;;;;;GAWG;AACH,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,yBAAyB,GAAqB,MAAM,CAAC;AAE3D;;;;GAIG;AACH,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAAoB,EAAE;IAC9D,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACpE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,yBAAyB,CAAC;AACnC,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,CAAC,IAAc,EAAY,EAAE;IACrD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,KAAY,EAAoB,EAAE;IAC9D,MAAM,EAAE,GAAG,IAAA,sCAAuB,EAAC,KAAK,CAAC,CAAC;IAC1C,OAAO;QACL,SAAS,EAAE,IAAA,2BAAY,EAAC,EAAE,CAAC,oBAAoB,CAAC,EAAE,kBAAkB,CAAC;QACrE,WAAW,EAAE,IAAA,2BAAY,EAAC,EAAE,CAAC,sBAAsB,CAAC,EAAE,oBAAoB,CAAC;QAC3E,gBAAgB,EAAE,kBAAkB,CAAC,EAAE,CAAC,2BAA2B,CAAC,CAAC;QACrE,gGAAgG;QAChG,qBAAqB,EAAE,IAAA,gCAAiB,EAAC,EAAE,CAAC,gCAAgC,CAAC,CAAC;KAC/E,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,CAAC,KAAY,EAAE,IAAa,EAAE,EAAE;IAC7C,MAAM,CAAC,GAAG,IAAA,oBAAU,GAAE,CAAC;IACvB,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;IAExB,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,0BAAW,CAAC,KAAK,CAAC,QAAQ,EAAE;QAC1D;;;;;WAKG;QACH,mBAAmB,EAAE,KAAK,IAAI,EAAE;YAC9B,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBAC7C,OAAO,EAAE,MAAM,EAAE,GAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAClD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,KAAK,GAAG,GAAY,CAAC;gBAC3B,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBACzD,OAAO,6CAA2B,CAAC;YACrC,CAAC;QACH,CAAC;QAED;;;;;;;;;;;WAWG;QACH,sBAAsB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YACzC,MAAM,aAAa,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC/C,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAEzE,IAAI,CAAC;gBACH,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,EAAE;oBACtC,oBAAoB,EAAE,IAAI,CAAC,SAAS;oBACpC,sBAAsB,EAAE,IAAI,CAAC,WAAW;oBACxC,2BAA2B,EAAE,IAAI,CAAC,gBAAgB;oBAClD,gCAAgC,EAAE,kBAAkB;iBACrD,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,KAAK,GAAG,GAAY,CAAC;gBAC3B,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBACxD,OAAO,6CAA2B,CAAC;YACrC,CAAC;YAED,kEAAkE;YAClE,+DAA+D;YAC/D,OAAO,EAAE,MAAM,EAAE,GAAY,EAAE,IAAI,EAAE,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;QACrE,CAAC;KACF,CAAC,CAAC;IAEH,IAAA,gCAAsB,EAAC,0BAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IAE3E,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
@@ -1,4 +0,0 @@
1
- import Crowi from '../../../crowi';
2
- import { Express } from 'express';
3
- declare const _default: (crowi: Crowi, _app: Express) => import("express-serve-static-core").Router;
4
- export default _default;
@@ -1,69 +0,0 @@
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 express_1 = require("@ts-rest/express");
7
- const api_contract_1 = require("@crowi/api-contract");
8
- const express_2 = require("express");
9
- const admin_config_1 = require("../../../util/admin-config");
10
- const ts_rest_helpers_1 = require("../../../util/ts-rest-helpers");
11
- const debug_1 = __importDefault(require("debug"));
12
- const debug = (0, debug_1.default)('crowi:routes:ts-rest:admin:share');
13
- const KEY_EXTERNAL_SHARE = 'app:externalShare';
14
- /**
15
- * Read the current share-related settings from the in-memory config cache.
16
- * Defaults to `{ externalShare: false }` when the key is missing — same as
17
- * `models/config.ts` defaults for a fresh install.
18
- */
19
- const readShareSettings = (crowi) => {
20
- const ns = (0, admin_config_1.getCrowiConfigNamespace)(crowi);
21
- return {
22
- externalShare: (0, admin_config_1.coerceBoolean)(ns[KEY_EXTERNAL_SHARE]),
23
- };
24
- };
25
- exports.default = (crowi, _app) => {
26
- const s = (0, express_1.initServer)();
27
- const router = (0, express_2.Router)();
28
- const shareRouter = s.router(api_contract_1.apiContract.admin.share, {
29
- /**
30
- * GET /api/v2/admin/share
31
- * Returns the current `app:externalShare` setting. Authorization is
32
- * handled by the surrounding adminRouter middleware; this handler only
33
- * runs for authenticated admins.
34
- */
35
- getShareSettings: async () => {
36
- // crowi.getConfig() is a synchronous in-memory cache read; no try/catch
37
- // needed here. The PUT path keeps its catch because saveConfig is async.
38
- return { status: 200, body: readShareSettings(crowi) };
39
- },
40
- /**
41
- * PUT /api/v2/admin/share
42
- * Persists the `app:externalShare` toggle via
43
- * `configService.saveConfig('crowi', ...)`. saveConfig merges into the
44
- * existing `crowi` namespace, so unrelated keys (`app:title`, `mail:*`,
45
- * `security:*`, ...) are not touched.
46
- *
47
- * Returns the post-save settings so the UI doesn't need a follow-up GET.
48
- */
49
- updateShareSettings: async ({ body }) => {
50
- const configService = crowi.getConfigService();
51
- try {
52
- await configService.saveConfig('crowi', {
53
- [KEY_EXTERNAL_SHARE]: body.externalShare,
54
- });
55
- }
56
- catch (err) {
57
- const error = err;
58
- debug('Error saving share settings:', error.message);
59
- return ts_rest_helpers_1.internalServerErrorResponse;
60
- }
61
- // Re-read from the in-memory cache (saveConfig updates it) so the
62
- // response reflects the new value without an extra Mongo round-trip.
63
- return { status: 200, body: readShareSettings(crowi) };
64
- },
65
- });
66
- (0, express_1.createExpressEndpoints)(api_contract_1.apiContract.admin.share, shareRouter, router);
67
- return router;
68
- };
69
- //# sourceMappingURL=share.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"share.js","sourceRoot":"","sources":["../../../../src/routes/ts-rest/admin/share.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsE;AACtE,sDAAsE;AAEtE,qCAA0C;AAC1C,wDAA+E;AAC/E,8DAAuE;AACvE,kDAA0B;AAE1B,MAAM,KAAK,GAAG,IAAA,eAAK,EAAC,kCAAkC,CAAC,CAAC;AAExD,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAE/C;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,CAAC,KAAY,EAAiB,EAAE;IACxD,MAAM,EAAE,GAAG,IAAA,sCAAuB,EAAC,KAAK,CAAC,CAAC;IAC1C,OAAO;QACL,aAAa,EAAE,IAAA,4BAAa,EAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC;KACrD,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,CAAC,KAAY,EAAE,IAAa,EAAE,EAAE;IAC7C,MAAM,CAAC,GAAG,IAAA,oBAAU,GAAE,CAAC;IACvB,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;IAExB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,0BAAW,CAAC,KAAK,CAAC,KAAK,EAAE;QACpD;;;;;WAKG;QACH,gBAAgB,EAAE,KAAK,IAAI,EAAE;YAC3B,wEAAwE;YACxE,yEAAyE;YACzE,OAAO,EAAE,MAAM,EAAE,GAAY,EAAE,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAClE,CAAC;QAED;;;;;;;;WAQG;QACH,mBAAmB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YACtC,MAAM,aAAa,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAE/C,IAAI,CAAC;gBACH,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,EAAE;oBACtC,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,aAAa;iBACzC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,KAAK,GAAG,GAAY,CAAC;gBAC3B,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBACrD,OAAO,6CAA2B,CAAC;YACrC,CAAC;YAED,kEAAkE;YAClE,qEAAqE;YACrE,OAAO,EAAE,MAAM,EAAE,GAAY,EAAE,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAClE,CAAC;KACF,CAAC,CAAC;IAEH,IAAA,gCAAsB,EAAC,0BAAW,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAErE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
@@ -1,4 +0,0 @@
1
- import { Express } from 'express';
2
- import Crowi from '../../../crowi';
3
- declare const _default: (crowi: Crowi, _app: Express) => import("express-serve-static-core").Router;
4
- export default _default;
@@ -1,59 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const express_1 = require("@ts-rest/express");
4
- const api_contract_1 = require("@crowi/api-contract");
5
- const express_2 = require("express");
6
- exports.default = (crowi, _app) => {
7
- const s = (0, express_1.initServer)();
8
- const router = (0, express_2.Router)();
9
- const storageRouter = s.router(api_contract_1.apiContract.admin.storage, {
10
- /**
11
- * GET /api/v2/admin/storage
12
- *
13
- * Returns the active storage driver pointer and the full list of
14
- * registered drivers. Authorization is handled by the surrounding
15
- * adminRouter middleware (`jwtAdminRequired`); this handler only runs
16
- * for authenticated admins.
17
- *
18
- * Active resolution: we look up the active driver instance from
19
- * `getPlugins().active.storage`, then walk `storage.list()` to find
20
- * the matching `(driverName, plugin)` pair. Comparing by reference is
21
- * safe — `DriverRegistry` stores each driver instance once, and
22
- * `resolveActiveDrivers` re-uses that exact instance.
23
- */
24
- getStorageStatus: async () => {
25
- const plugins = crowi.getPlugins();
26
- const activeDriver = plugins.active.storage;
27
- const list = plugins.storage.list();
28
- // Find which `(driverName, plugin)` pair resolves to the active
29
- // driver instance. Falls back to null when the active slot is
30
- // empty (legacy in-core handling — see PluginManager.resolveOrWarn).
31
- let activeName = null;
32
- let activePlugin = null;
33
- if (activeDriver) {
34
- for (const entry of list) {
35
- if (plugins.storage.get(entry.driverName) === activeDriver) {
36
- activeName = entry.driverName;
37
- activePlugin = entry.plugin;
38
- break;
39
- }
40
- }
41
- }
42
- const drivers = list.map((entry) => ({
43
- driverName: entry.driverName,
44
- pluginName: entry.plugin,
45
- isActive: entry.driverName === activeName,
46
- }));
47
- return {
48
- status: 200,
49
- body: {
50
- active: activeName && activePlugin ? { driverName: activeName, pluginName: activePlugin } : null,
51
- drivers,
52
- },
53
- };
54
- },
55
- });
56
- (0, express_1.createExpressEndpoints)(api_contract_1.apiContract.admin.storage, storageRouter, router);
57
- return router;
58
- };
59
- //# sourceMappingURL=storage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../../src/routes/ts-rest/admin/storage.ts"],"names":[],"mappings":";;AAAA,8CAAsE;AACtE,sDAA2E;AAC3E,qCAA0C;AAG1C,kBAAe,CAAC,KAAY,EAAE,IAAa,EAAE,EAAE;IAC7C,MAAM,CAAC,GAAG,IAAA,oBAAU,GAAE,CAAC;IACvB,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;IAExB,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,0BAAW,CAAC,KAAK,CAAC,OAAO,EAAE;QACxD;;;;;;;;;;;;;WAaG;QACH,gBAAgB,EAAE,KAAK,IAAI,EAAE;YAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;YACnC,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;YAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAEpC,gEAAgE;YAChE,8DAA8D;YAC9D,qEAAqE;YACrE,IAAI,UAAU,GAAkB,IAAI,CAAC;YACrC,IAAI,YAAY,GAAkB,IAAI,CAAC;YACvC,IAAI,YAAY,EAAE,CAAC;gBACjB,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;oBACzB,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,YAAY,EAAE,CAAC;wBAC3D,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;wBAC9B,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC;wBAC5B,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,OAAO,GAAyB,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACzD,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,UAAU,EAAE,KAAK,CAAC,MAAM;gBACxB,QAAQ,EAAE,KAAK,CAAC,UAAU,KAAK,UAAU;aAC1C,CAAC,CAAC,CAAC;YAEJ,OAAO;gBACL,MAAM,EAAE,GAAY;gBACpB,IAAI,EAAE;oBACJ,MAAM,EAAE,UAAU,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI;oBAChG,OAAO;iBACR;aACF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,IAAA,gCAAsB,EAAC,0BAAW,CAAC,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IAEzE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
@@ -1,4 +0,0 @@
1
- import { Express } from 'express';
2
- import Crowi from '../../../crowi';
3
- declare const _default: (crowi: Crowi, _app: Express) => import("express-serve-static-core").Router;
4
- export default _default;
@@ -1,215 +0,0 @@
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 express_1 = require("@ts-rest/express");
7
- const api_contract_1 = require("@crowi/api-contract");
8
- const express_2 = require("express");
9
- const admin_pager_1 = require("../../../util/admin-pager");
10
- const ts_rest_helpers_1 = require("../../../util/ts-rest-helpers");
11
- const debug_1 = __importDefault(require("debug"));
12
- const debug = (0, debug_1.default)('crowi:routes:ts-rest:admin:users');
13
- const ADMIN_PAGINATE_SORT = { status: 1, username: 1, createdAt: 1 };
14
- const ADMIN_PAGINATE_SELECT = '-password -apiToken -googleId -githubId';
15
- const REGEX_META = /[-/\\^$*+?.()|[\]{}]/g;
16
- const escapeRegex = (s) => s.replace(REGEX_META, '\\$&');
17
- /**
18
- * Build the Mongo `$or` filter for the free-text search. Splits on the first
19
- * space so "alice bob" matches alice OR bob across username/name/email.
20
- * Tokens are regex-escaped so user input like '(' or '.' doesn't crash with
21
- * `SyntaxError` or match more than expected.
22
- */
23
- function buildSearchFilter(q) {
24
- if (!q)
25
- return {};
26
- const trimmed = q.trim();
27
- if (trimmed.length === 0)
28
- return {};
29
- const firstSpace = trimmed.indexOf(' ');
30
- const $regex = firstSpace === -1 ? escapeRegex(trimmed) : `${escapeRegex(trimmed.slice(0, firstSpace))}|${escapeRegex(trimmed.slice(firstSpace + 1))}`;
31
- return {
32
- $or: ['username', 'name', 'email'].map((field) => ({
33
- [field]: { $regex, $options: 'i' },
34
- })),
35
- };
36
- }
37
- const invalidUserIdResponse = (id) => ({
38
- status: 400,
39
- body: { error: { code: 'VALIDATION_ERROR', message: `Invalid user id: ${id}` } },
40
- });
41
- const userNotFoundResponse = {
42
- status: 404,
43
- body: { error: { code: 'NOT_FOUND', message: 'User not found' } },
44
- };
45
- const emailConflictResponse = {
46
- status: 409,
47
- body: { error: { code: 'CONFLICT', message: 'Email is already in use by another user' } },
48
- };
49
- /**
50
- * Wrap a handler so any thrown error is logged with `label` and converted to a
51
- * 500 response. Saves a 4-line try/catch boilerplate per endpoint.
52
- */
53
- const handle = async (label, fn) => {
54
- try {
55
- return await fn();
56
- }
57
- catch (err) {
58
- debug(`Error in ${label}:`, err.message);
59
- return ts_rest_helpers_1.internalServerErrorResponse;
60
- }
61
- };
62
- /**
63
- * Bridge a callback-style instance method (e.g. `user.makeAdmin(cb)`) so we
64
- * can `await` it. The model code is left in callback form to avoid touching
65
- * shared statics in this migration.
66
- */
67
- const promisifyMethod = (invoker) => new Promise((resolve, reject) => {
68
- invoker((err, data) => {
69
- if (err)
70
- return reject(err);
71
- resolve(data);
72
- });
73
- });
74
- const createUsersByInvitationAsync = (User, emailList, toSendEmail) => new Promise((resolve, reject) => {
75
- User.createUsersByInvitation(emailList, toSendEmail, (err, list) => {
76
- if (err)
77
- return reject(err);
78
- resolve(list);
79
- });
80
- });
81
- /**
82
- * The legacy callback collapses "exists" and "save failed" into the same
83
- * `{ password: null, user: null }` shape; we issue one extra `$in` lookup over
84
- * just the null-row emails to disambiguate (no extra query on the all-success
85
- * path).
86
- */
87
- const toInvitedUserResults = async (User, rows) => {
88
- const nullEmails = rows.filter((row) => !row.user).map((row) => row.email);
89
- const existingEmails = nullEmails.length === 0 ? new Set() : await findExistingEmails(User, nullEmails);
90
- return rows.map((row) => {
91
- if (row.user)
92
- return { email: row.email, status: 'created', userId: row.user._id.toString() };
93
- if (existingEmails.has(row.email))
94
- return { email: row.email, status: 'exists' };
95
- return { email: row.email, status: 'failed' };
96
- });
97
- };
98
- const findExistingEmails = async (User, emails) => {
99
- const docs = (await User.find({ email: { $in: emails } }, 'email').lean());
100
- return new Set(docs.map((doc) => doc.email));
101
- };
102
- const findEmailConflict = (existingByEmail, currentUser) => {
103
- if (existingByEmail && !currentUser.equals(existingByEmail))
104
- return emailConflictResponse;
105
- return null;
106
- };
107
- const runSimpleUserMutation = async (User, id, errLabel, mutate) => {
108
- if (!(0, ts_rest_helpers_1.isValidObjectId)(id))
109
- return invalidUserIdResponse(id);
110
- return handle(errLabel, async () => {
111
- const user = (await User.findById(id));
112
- if (!user)
113
- return userNotFoundResponse;
114
- const updated = await mutate(user);
115
- return { status: 200, body: { user: (0, ts_rest_helpers_1.toUserPublic)(updated) } };
116
- });
117
- };
118
- exports.default = (crowi, _app) => {
119
- const s = (0, express_1.initServer)();
120
- const router = (0, express_2.Router)();
121
- const User = crowi.model('User');
122
- const usersRouter = s.router(api_contract_1.apiContract.admin.users, {
123
- listUsers: async ({ query }) => handle('listUsers', async () => {
124
- const { q, page, limit } = query;
125
- const filter = buildSearchFilter(q);
126
- const result = await User.paginate(filter, {
127
- page,
128
- limit,
129
- sort: ADMIN_PAGINATE_SORT,
130
- select: ADMIN_PAGINATE_SELECT,
131
- });
132
- const pager = (0, admin_pager_1.createPager)(result.total, result.page ?? page, result.pages, admin_pager_1.MAX_PAGE_LIST);
133
- return {
134
- status: 200,
135
- body: {
136
- users: result.docs.map(ts_rest_helpers_1.toUserPublic),
137
- pager,
138
- },
139
- };
140
- }),
141
- searchUsersByEmail: async ({ query }) => handle('searchUsersByEmail', async () => {
142
- const users = await User.findUsersByPartOfEmail(query.email, {});
143
- return {
144
- status: 200,
145
- body: { users: users.map(ts_rest_helpers_1.toUserPublic) },
146
- };
147
- }),
148
- inviteUsers: async ({ body }) => {
149
- const emailList = body.emailList.map((email) => email.trim()).filter((email) => email.length > 0);
150
- if (emailList.length === 0) {
151
- return {
152
- status: 400,
153
- body: { error: { code: 'VALIDATION_ERROR', message: 'emailList must contain at least one non-empty email' } },
154
- };
155
- }
156
- return handle('inviteUsers', async () => {
157
- const rows = await createUsersByInvitationAsync(User, emailList, body.sendEmail ?? false);
158
- const results = await toInvitedUserResults(User, rows);
159
- return { status: 200, body: { results } };
160
- });
161
- },
162
- editUser: async ({ params, body }) => {
163
- const { id } = params;
164
- if (!(0, ts_rest_helpers_1.isValidObjectId)(id))
165
- return invalidUserIdResponse(id);
166
- return handle('editUser', async () => {
167
- const [user, duplicate] = (await Promise.all([User.findById(id).exec(), User.findUserByEmail(body.email)]));
168
- if (!user)
169
- return userNotFoundResponse;
170
- const conflict = findEmailConflict(duplicate, user);
171
- if (conflict)
172
- return conflict;
173
- const updated = (await user.updateNameAndEmail(body.name, body.email));
174
- return { status: 200, body: { user: (0, ts_rest_helpers_1.toUserPublic)(updated) } };
175
- });
176
- },
177
- makeAdmin: ({ params }) => runSimpleUserMutation(User, params.id, 'makeAdmin', (user) => promisifyMethod((cb) => user.makeAdmin(cb))),
178
- removeFromAdmin: ({ params }) => runSimpleUserMutation(User, params.id, 'removeFromAdmin', (user) => promisifyMethod((cb) => user.removeFromAdmin(cb))),
179
- activateUser: ({ params }) => runSimpleUserMutation(User, params.id, 'activateUser', (user) => promisifyMethod((cb) => user.statusActivate(cb))),
180
- suspendUser: ({ params }) => runSimpleUserMutation(User, params.id, 'suspendUser', (user) => promisifyMethod((cb) => user.statusSuspend(cb))),
181
- resetPassword: async ({ params }) => {
182
- const { id } = params;
183
- if (!(0, ts_rest_helpers_1.isValidObjectId)(id))
184
- return invalidUserIdResponse(id);
185
- return handle('resetPassword', async () => {
186
- const exists = (await User.findById(id));
187
- if (!exists)
188
- return userNotFoundResponse;
189
- const { user, newPassword } = await User.resetPasswordByRandomString(exists._id);
190
- return {
191
- status: 200,
192
- body: { user: (0, ts_rest_helpers_1.toUserPublic)(user), newPassword },
193
- };
194
- });
195
- },
196
- updateUserEmail: async ({ params, body }) => {
197
- const { id } = params;
198
- if (!(0, ts_rest_helpers_1.isValidObjectId)(id))
199
- return invalidUserIdResponse(id);
200
- return handle('updateUserEmail', async () => {
201
- const [user, duplicate] = (await Promise.all([User.findById(id).exec(), User.findUserByEmail(body.email)]));
202
- if (!user)
203
- return userNotFoundResponse;
204
- const conflict = findEmailConflict(duplicate, user);
205
- if (conflict)
206
- return conflict;
207
- const updated = (await user.updateEmail(body.email));
208
- return { status: 200, body: { user: (0, ts_rest_helpers_1.toUserPublic)(updated) } };
209
- });
210
- },
211
- });
212
- (0, express_1.createExpressEndpoints)(api_contract_1.apiContract.admin.users, usersRouter, router);
213
- return router;
214
- };
215
- //# sourceMappingURL=users.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"users.js","sourceRoot":"","sources":["../../../../src/routes/ts-rest/admin/users.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { Express } from 'express';
2
- import Crowi from '../../crowi';
3
- declare const _default: (crowi: Crowi, _app: Express) => import("express-serve-static-core").Router;
4
- export default _default;