@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":"apiResponse.js","sourceRoot":"","sources":["../../src/util/apiResponse.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACb,KAAK,CAAC,GAAI,EAAE,IAAI,GAAG,EAAE;QACnB,MAAM,MAAM,GAIR;YACF,EAAE,EAAE,KAAK;YACT,IAAI;SACL,CAAC;QAEF,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;QACrB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,CAAC,IAAK;QACX,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QAE1B,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;QACjB,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC"}
@@ -1,11 +0,0 @@
1
- declare const _default: {
2
- isLoggedIn(crowi: any, req: any): any;
3
- isAccessTokenExpired(req: any): boolean;
4
- reauth(req: any, config: any): Promise<any>;
5
- saveTokenToSession(req: any, provider: string | undefined, { accessToken, refreshToken, expiryDate }: {
6
- accessToken: string | null;
7
- refreshToken: string | null;
8
- expiryDate: number | null;
9
- }): void;
10
- };
11
- export default _default;
package/dist/util/auth.js DELETED
@@ -1,48 +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 googleAuth_1 = __importDefault(require("./googleAuth"));
7
- const githubAuth_1 = __importDefault(require("./githubAuth"));
8
- exports.default = {
9
- isLoggedIn(crowi, req) {
10
- const { user = {} } = req;
11
- const User = crowi.model('User');
12
- const isLoggedIn = user && '_id' in user && user.status === User.STATUS_ACTIVE;
13
- return isLoggedIn;
14
- },
15
- isAccessTokenExpired(req) {
16
- const { auth = {} } = req.session;
17
- const { expiryDate = null } = auth;
18
- if (expiryDate === null) {
19
- return false;
20
- }
21
- const now = new Date().getTime();
22
- return expiryDate < now;
23
- },
24
- async reauth(req, config) {
25
- const { auth = {} } = req.session;
26
- const { provider = '', accessToken = null, refreshToken = null } = auth;
27
- const authServices = {
28
- google: (0, googleAuth_1.default)(config),
29
- github: (0, githubAuth_1.default)(config),
30
- };
31
- const providers = [authServices.google.PROVIDER, authServices.github.PROVIDER];
32
- if (providers.includes(provider)) {
33
- const authService = authServices[provider];
34
- const serviceId = req.user[provider + 'Id'];
35
- const { success, tokens } = await authService.reauth(serviceId, { accessToken, refreshToken });
36
- if (success) {
37
- this.saveTokenToSession(req, provider, tokens);
38
- }
39
- return success;
40
- }
41
- return false;
42
- },
43
- saveTokenToSession(req, provider = '', { accessToken = null, refreshToken = null, expiryDate = null }) {
44
- expiryDate = expiryDate || new Date().getTime() + 60 * 60 * 1000;
45
- req.session.auth = { provider, accessToken, refreshToken, expiryDate };
46
- },
47
- };
48
- //# sourceMappingURL=auth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/util/auth.ts"],"names":[],"mappings":";;;;;AAAA,8DAAsC;AACtC,8DAAsC;AAEtC,kBAAe;IACb,UAAU,CAAC,KAAK,EAAE,GAAG;QACnB,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC;QAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAC;QAC/E,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,oBAAoB,CAAC,GAAG;QACtB,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC;QAClC,MAAM,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;QACnC,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACjC,OAAO,UAAU,GAAG,GAAG,CAAC;IAC1B,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM;QACtB,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC;QAClC,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,WAAW,GAAG,IAAI,EAAE,YAAY,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;QACxE,MAAM,YAAY,GAAG;YACnB,MAAM,EAAE,IAAA,oBAAU,EAAC,MAAM,CAAC;YAC1B,MAAM,EAAE,IAAA,oBAAU,EAAC,MAAM,CAAC;SAC3B,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/E,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC3C,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;YAC5C,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC;YAC/F,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACjD,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,kBAAkB,CAChB,GAAG,EACH,QAAQ,GAAG,EAAE,EACb,EAAE,WAAW,GAAG,IAAI,EAAE,YAAY,GAAG,IAAI,EAAE,UAAU,GAAG,IAAI,EAA0F;QAEtJ,UAAU,GAAG,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACjE,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;IACzE,CAAC;CACF,CAAC"}
@@ -1,11 +0,0 @@
1
- import type Crowi from '../crowi';
2
- /**
3
- * Copy legacy `upload:aws:*` config into the new plugin namespace
4
- * (`plugin:@crowi/plugin-aws:*` and `plugin:@crowi/plugin-storage-aws-s3:bucket`).
5
- * Idempotent: target keys are written only when empty / missing. Returns
6
- * the number of keys actually migrated.
7
- *
8
- * The legacy keys are kept in place so a downgrade still finds its config;
9
- * cleanup is a follow-up once the new namespace is verified in production.
10
- */
11
- export declare function runAwsConfigMigration(crowi: Crowi): Promise<number>;
@@ -1,68 +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
- exports.runAwsConfigMigration = runAwsConfigMigration;
7
- const debug_1 = __importDefault(require("debug"));
8
- const debug = (0, debug_1.default)('crowi:util:aws-config-migration');
9
- /**
10
- * Copy legacy `upload:aws:*` config into the new plugin namespace
11
- * (`plugin:@crowi/plugin-aws:*` and `plugin:@crowi/plugin-storage-aws-s3:bucket`).
12
- * Idempotent: target keys are written only when empty / missing. Returns
13
- * the number of keys actually migrated.
14
- *
15
- * The legacy keys are kept in place so a downgrade still finds its config;
16
- * cleanup is a follow-up once the new namespace is verified in production.
17
- */
18
- async function runAwsConfigMigration(crowi) {
19
- const cfg = crowi.getConfig();
20
- if (!cfg || typeof cfg !== 'object') {
21
- debug('config not loaded yet, skipping aws migration');
22
- return 0;
23
- }
24
- const ns = cfg.crowi;
25
- if (!ns) {
26
- debug('crowi namespace missing, skipping aws migration');
27
- return 0;
28
- }
29
- const pairs = [
30
- { legacy: 'upload:aws:region', next: 'plugin:@crowi/plugin-aws:region' },
31
- { legacy: 'upload:aws:accessKeyId', next: 'plugin:@crowi/plugin-aws:accessKeyId' },
32
- { legacy: 'upload:aws:secretAccessKey', next: 'plugin:@crowi/plugin-aws:secretAccessKey' },
33
- // The S3 bucket lives in the storage-aws-s3 plugin's own namespace
34
- // because it's S3-specific config rather than shared AWS credentials.
35
- { legacy: 'upload:aws:bucket', next: 'plugin:@crowi/plugin-storage-aws-s3:bucket' },
36
- ];
37
- const updates = {};
38
- for (const { legacy, next } of pairs) {
39
- const legacyValue = ns[legacy];
40
- if (!hasMeaningfulValue(legacyValue))
41
- continue;
42
- if (hasMeaningfulValue(ns[next]))
43
- continue;
44
- updates[next] = legacyValue;
45
- }
46
- if (Object.keys(updates).length === 0) {
47
- debug('no aws keys to migrate');
48
- return 0;
49
- }
50
- // Write through the model directly to avoid `notifyUpdated()` which
51
- // would fire `setupSlack` / `setupMailer` — both run again a few lines
52
- // later in `Crowi.init()` anyway, and the redis pubsub may not be wired
53
- // yet at this point in boot.
54
- const Config = crowi.model('Config');
55
- await Config.updateConfigByNamespace('crowi', updates);
56
- Object.assign(ns, updates);
57
- console.log(`[crowi] Migrated ${Object.keys(updates).length} legacy upload:aws:* config key(s) into the plugin namespace.`);
58
- debug('migrated keys: %o', Object.keys(updates));
59
- return Object.keys(updates).length;
60
- }
61
- function hasMeaningfulValue(value) {
62
- if (value === null || value === undefined)
63
- return false;
64
- if (typeof value === 'string' && value === '')
65
- return false;
66
- return true;
67
- }
68
- //# sourceMappingURL=aws-config-migration.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aws-config-migration.js","sourceRoot":"","sources":["../../src/util/aws-config-migration.ts"],"names":[],"mappings":";;;;;AAcA,sDA6CC;AA3DD,kDAA0B;AAG1B,MAAM,KAAK,GAAG,IAAA,eAAK,EAAC,iCAAiC,CAAC,CAAC;AAEvD;;;;;;;;GAQG;AACI,KAAK,UAAU,qBAAqB,CAAC,KAAY;IACtD,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;IAC9B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACvD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,EAAE,GAAI,GAA2C,CAAC,KAAK,CAAC;IAC9D,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACzD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,KAAK,GAAuC;QAChD,EAAE,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,iCAAiC,EAAE;QACxE,EAAE,MAAM,EAAE,wBAAwB,EAAE,IAAI,EAAE,sCAAsC,EAAE;QAClF,EAAE,MAAM,EAAE,4BAA4B,EAAE,IAAI,EAAE,0CAA0C,EAAE;QAC1F,mEAAmE;QACnE,sEAAsE;QACtE,EAAE,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,4CAA4C,EAAE;KACpF,CAAC;IAEF,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,EAAE,CAAC;QACrC,MAAM,WAAW,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;YAAE,SAAS;QAC/C,IAAI,kBAAkB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAAE,SAAS;QAC3C,OAAO,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC;IAC9B,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,oEAAoE;IACpE,uEAAuE;IACvE,wEAAwE;IACxE,6BAA6B;IAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,MAAM,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvD,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAE3B,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,+DAA+D,CAAC,CAAC;IAC5H,KAAK,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;AACrC,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IAC5D,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const normalizeCRLFFilter: (value: any) => any;
2
- export declare const stringToArrayFilter: (value: any) => any;
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.stringToArrayFilter = exports.normalizeCRLFFilter = void 0;
4
- const normalizeCRLFFilter = (value) => {
5
- return value.replace(/\r\n/g, '\n').replace(/\r/g, '\n');
6
- };
7
- exports.normalizeCRLFFilter = normalizeCRLFFilter;
8
- const stringToArrayFilter = (value) => {
9
- if (!value || value === '') {
10
- return [];
11
- }
12
- return value.split('\n');
13
- };
14
- exports.stringToArrayFilter = stringToArrayFilter;
15
- //# sourceMappingURL=formUtil.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formUtil.js","sourceRoot":"","sources":["../../src/util/formUtil.ts"],"names":[],"mappings":";;;AAAO,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,EAAE;IAC3C,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC3D,CAAC,CAAC;AAFW,QAAA,mBAAmB,uBAE9B;AAEK,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,EAAE;IAC3C,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC,CAAC;AANW,QAAA,mBAAmB,uBAM9B"}
@@ -1,2 +0,0 @@
1
- declare const _default: (config: any) => any;
2
- export default _default;
@@ -1,82 +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 debug_1 = __importDefault(require("debug"));
7
- const auth_1 = __importDefault(require("./auth"));
8
- const passport_1 = __importDefault(require("passport"));
9
- const passport_github_1 = require("passport-github");
10
- const url_1 = require("./url");
11
- // import Octokit from '@octokit/rest'
12
- const debug = (0, debug_1.default)('crowi:lib:githubAuth');
13
- exports.default = (config) => {
14
- const lib = {};
15
- lib.PROVIDER = 'github';
16
- function useGitHubStrategy(config, callbackQuery = '') {
17
- passport_1.default.use(new passport_github_1.Strategy({
18
- clientID: config.crowi['github:clientId'],
19
- clientSecret: config.crowi['github:clientSecret'],
20
- callbackURL: `${config.crowi['app:url']}/github/callback${callbackQuery}`,
21
- scope: ['user:email', 'read:org'],
22
- }, async (accessToken, refreshToken, profile, callback) => {
23
- debug('profile', profile);
24
- // 一時的に組織情報を取得する機能を無効化
25
- // const octokit = new Octokit({ auth: accessToken })
26
- // const { data: orgs } = await octokit.orgs.listForAuthenticatedUser()
27
- // const orgNames = orgs.map((org) => org.login)
28
- const orgNames = [];
29
- debug(orgNames);
30
- callback(null, {
31
- token: accessToken,
32
- user_id: profile.id,
33
- email: profile.emails.filter((v) => v.primary)[0].value,
34
- name: profile.displayName || '',
35
- picture: profile.photos[0].value,
36
- organizations: orgNames,
37
- });
38
- }));
39
- }
40
- lib.authenticate = function (req, res, next) {
41
- const continueUrl = (0, url_1.getContinueUrl)(req);
42
- const query = continueUrl === '/' ? '' : `?continue=${continueUrl}`;
43
- useGitHubStrategy(config, query);
44
- passport_1.default.authenticate('github')(req, res, next);
45
- };
46
- lib.getOrganization = () => { };
47
- lib.reauth = async function (id, { accessToken }) {
48
- try {
49
- // 一時的に再認証機能を簡略化
50
- // const octokit = new Octokit({ auth: accessToken })
51
- // const {
52
- // data: { id: userId },
53
- // } = await octokit.users.getAuthenticated()
54
- // const { data: orgs } = await octokit.orgs.listForAuthenticatedUser()
55
- // const orgNames = orgs.map((org) => org.login)
56
- // const organization = config.crowi['github:organization']
57
- // const success = id === String(userId) && (!organization || orgNames.includes(organization))
58
- // 常に成功を返す一時的な実装
59
- const success = true;
60
- const tokens = { accessToken };
61
- return { success, tokens };
62
- }
63
- catch (err) {
64
- debug('Error on reauthenticating', err);
65
- return { success: false };
66
- }
67
- };
68
- lib.handleCallback = function (req, res, next) {
69
- return function (callback) {
70
- useGitHubStrategy(config);
71
- passport_1.default.authenticate('github', function (err, user, info) {
72
- if (err) {
73
- return callback(err, null);
74
- }
75
- auth_1.default.saveTokenToSession(req, lib.PROVIDER, { accessToken: user.token, refreshToken: null, expiryDate: null });
76
- return callback(err, user);
77
- })(req, res, next);
78
- };
79
- };
80
- return lib;
81
- };
82
- //# sourceMappingURL=githubAuth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"githubAuth.js","sourceRoot":"","sources":["../../src/util/githubAuth.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- declare const _default: (config: any) => any;
2
- export default _default;
@@ -1,85 +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 debug_1 = __importDefault(require("debug"));
7
- const auth_1 = __importDefault(require("./auth"));
8
- const googleapis_1 = require("googleapis");
9
- const debug = (0, debug_1.default)('crowi:lib:googleAuth');
10
- exports.default = (config) => {
11
- const lib = {};
12
- lib.PROVIDER = 'google';
13
- function createOauth2Client() {
14
- const clientId = config.crowi['google:clientId'];
15
- const clientSecret = config.crowi['google:clientSecret'];
16
- const callbackUrl = config.crowi['app:url'] + '/google/callback';
17
- return new googleapis_1.google.auth.OAuth2(clientId, clientSecret, callbackUrl);
18
- }
19
- lib.createAuthUrl = function (req, callback) {
20
- const oauth2Client = createOauth2Client();
21
- googleapis_1.google.options({ auth: oauth2Client });
22
- const redirectUrl = oauth2Client.generateAuthUrl({
23
- access_type: 'offline',
24
- scope: ['profile', 'email'],
25
- state: req.query.continue,
26
- prompt: 'consent',
27
- });
28
- callback(null, redirectUrl);
29
- };
30
- lib.refreshAccessToken = async (tokens) => {
31
- const oauth2Client = createOauth2Client();
32
- googleapis_1.google.options({ auth: oauth2Client });
33
- oauth2Client.setCredentials({ access_token: tokens.accessToken, refresh_token: tokens.refreshToken });
34
- const { res: { data: { access_token: accessToken, refresh_token: refreshToken, expiry_date: expiryDate }, }, } = (await oauth2Client.refreshAccessToken());
35
- return { accessToken, refreshToken, expiryDate };
36
- };
37
- lib.reauth = async (id, { accessToken, refreshToken }) => {
38
- try {
39
- const tokens = await lib.refreshAccessToken({ accessToken, refreshToken });
40
- const oauth2Client = createOauth2Client();
41
- googleapis_1.google.options({ auth: oauth2Client });
42
- oauth2Client.setCredentials({ access_token: tokens.accessToken, refresh_token: tokens.refreshToken });
43
- const { data: { user_id: userId }, } = await googleapis_1.google.oauth2('v2').tokeninfo({ access_token: tokens.accessToken });
44
- const success = id === userId;
45
- return { success, tokens };
46
- }
47
- catch (err) {
48
- debug('Error on reauthenticating', err);
49
- return { success: false };
50
- }
51
- };
52
- lib.handleCallback = function (req, callback) {
53
- const oauth2Client = createOauth2Client();
54
- googleapis_1.google.options({ auth: oauth2Client });
55
- const { google = {} } = req.session;
56
- const { authCode: code } = google;
57
- if (!code) {
58
- return callback(new Error('No code exists.'), null);
59
- }
60
- debug('Request googleToken by auth code', code);
61
- oauth2Client.getToken(code, function (err, tokens) {
62
- debug('Result of google.getToken()', err, tokens);
63
- if (err) {
64
- return callback(new Error('[googleAuth.handleCallback] Error to get token.'), null);
65
- }
66
- oauth2Client.setCredentials({
67
- access_token: tokens.access_token,
68
- });
69
- const oauth2 = googleapis_1.google.oauth2('v2');
70
- oauth2.userinfo.get({}, function (err, response) {
71
- debug('Response of oauth2.userinfo.get', err, response && response.data);
72
- if (err) {
73
- return callback(new Error('[googleAuth.handleCallback] Error while proceccing userinfo.get.'), null);
74
- }
75
- const { access_token: accessToken, refresh_token: refreshToken, expiry_date: expiryDate } = tokens;
76
- auth_1.default.saveTokenToSession(req, lib.PROVIDER, { accessToken, refreshToken, expiryDate });
77
- const { data } = response;
78
- data.user_id = data.id; // This is for B.C. (tokeninfo をつかっている前提のコードに対してのもの)
79
- return callback(null, data);
80
- });
81
- });
82
- };
83
- return lib;
84
- };
85
- //# sourceMappingURL=googleAuth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"googleAuth.js","sourceRoot":"","sources":["../../src/util/googleAuth.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- declare const _default: (crowi: any) => {
2
- createSMTPClient: (option?: any) => any;
3
- createSESClient: (option?: any) => any;
4
- mailer: any;
5
- send: (config: any, callback: any) => any;
6
- };
7
- export default _default;
@@ -1,98 +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 debug_1 = __importDefault(require("debug"));
7
- const nodemailer_1 = __importDefault(require("nodemailer"));
8
- const nodemailer_ses_transport_1 = __importDefault(require("nodemailer-ses-transport"));
9
- const debug = (0, debug_1.default)('crowi:lib:mailer');
10
- exports.default = (crowi) => {
11
- 'use strict';
12
- const config = crowi.getConfig();
13
- const mailConfig = {};
14
- let mailer = {};
15
- function createSMTPClient(option) {
16
- debug('createSMTPClient option', option);
17
- if (!option) {
18
- option = {
19
- host: config.crowi['mail:smtpHost'],
20
- port: config.crowi['mail:smtpPort'],
21
- };
22
- if (config.crowi['mail:smtpUser'] && config.crowi['mail:smtpPassword']) {
23
- option.auth = {
24
- user: config.crowi['mail:smtpUser'],
25
- pass: config.crowi['mail:smtpPassword'],
26
- };
27
- }
28
- if (option.port === 465) {
29
- option.secure = true;
30
- }
31
- }
32
- option.tls = { rejectUnauthorized: false };
33
- const client = nodemailer_1.default.createTransport(option);
34
- debug('mailer set up for SMTP', client);
35
- return client;
36
- }
37
- function createSESClient(option) {
38
- if (!option) {
39
- option = {
40
- accessKeyId: config.crowi['mail:aws:accessKeyId'],
41
- secretAccessKey: config.crowi['mail:aws:secretAccessKey'],
42
- };
43
- }
44
- const client = nodemailer_1.default.createTransport((0, nodemailer_ses_transport_1.default)(option));
45
- debug('mailer set up for SES', client);
46
- return client;
47
- }
48
- function initialize() {
49
- if (!config.crowi || !config.crowi['mail:from']) {
50
- mailer = undefined;
51
- return;
52
- }
53
- if (config.crowi['mail:smtpHost'] && config.crowi['mail:smtpPort']) {
54
- // SMTP 設定がある場合はそれを優先
55
- mailer = createSMTPClient();
56
- }
57
- else if (config.crowi['mail:aws:accessKeyId'] && config.crowi['mail:aws:secretAccessKey']) {
58
- // AWS 設定がある場合はSESを設定
59
- mailer = createSESClient();
60
- }
61
- else {
62
- mailer = undefined;
63
- }
64
- mailConfig.from = config.crowi['mail:from'];
65
- mailConfig.subject = config.crowi['app:title'] + 'からのメール';
66
- debug('mailer initialized');
67
- }
68
- function setupMailConfig(overrideConfig) {
69
- const c = overrideConfig;
70
- let mc = {};
71
- mc = mailConfig;
72
- mc.to = c.to;
73
- mc.from = c.from || mailConfig.from;
74
- mc.text = c.text;
75
- mc.subject = c.subject || mailConfig.subject;
76
- return mc;
77
- }
78
- function send(config, callback) {
79
- if (mailer) {
80
- // テンプレート処理をシンプルなテキスト代入に変更
81
- // 将来的には別のメールテンプレートエンジンに置き換える必要があります
82
- config.text = config.vars ? JSON.stringify(config.vars) : 'メール本文(テンプレートエンジン削除のため詳細は表示できません)';
83
- return mailer.sendMail(setupMailConfig(config), callback);
84
- }
85
- else {
86
- debug('Mailer is not completed to set up. Please set up SMTP or AWS setting.');
87
- return callback(new Error('Mailer is not completed to set up. Please set up SMTP or AWS setting.'), null);
88
- }
89
- }
90
- initialize();
91
- return {
92
- createSMTPClient: createSMTPClient,
93
- createSESClient: createSESClient,
94
- mailer: mailer,
95
- send: send,
96
- };
97
- };
98
- //# sourceMappingURL=mailer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mailer.js","sourceRoot":"","sources":["../../src/util/mailer.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,4DAAoC;AACpC,wFAA2C;AAE3C,MAAM,KAAK,GAAG,IAAA,eAAK,EAAC,kBAAkB,CAAC,CAAC;AAExC,kBAAe,CAAC,KAAK,EAAE,EAAE;IACvB,YAAY,CAAC;IAEb,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;IACjC,MAAM,UAAU,GAAQ,EAAE,CAAC;IAC3B,IAAI,MAAM,GAAQ,EAAE,CAAC;IAErB,SAAS,gBAAgB,CAAC,MAAO;QAC/B,KAAK,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG;gBACP,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC;gBACnC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC;aACpC,CAAC;YAEF,IAAI,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACvE,MAAM,CAAC,IAAI,GAAG;oBACZ,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC;oBACnC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC;iBACxC,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBACxB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACvB,CAAC;QACH,CAAC;QACD,MAAM,CAAC,GAAG,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;QAE3C,MAAM,MAAM,GAAG,oBAAU,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAElD,KAAK,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;QACxC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,SAAS,eAAe,CAAC,MAAO;QAC9B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG;gBACP,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC;gBACjD,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC;aAC1D,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,oBAAU,CAAC,eAAe,CAAC,IAAA,kCAAG,EAAC,MAAM,CAAC,CAAC,CAAC;QAEvD,KAAK,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;QACvC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,SAAS,UAAU;QACjB,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YAChD,MAAM,GAAG,SAAS,CAAC;YACnB,OAAO;QACT,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;YACnE,qBAAqB;YACrB,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAC9B,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC;YAC5F,qBAAqB;YACrB,MAAM,GAAG,eAAe,EAAE,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC;QAED,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC5C,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC;QAE1D,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS,eAAe,CAAC,cAAc;QACrC,MAAM,CAAC,GAAG,cAAc,CAAC;QACzB,IAAI,EAAE,GAAQ,EAAE,CAAC;QACjB,EAAE,GAAG,UAAU,CAAC;QAEhB,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;QACb,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC;QACpC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;QACjB,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC;QAE7C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,IAAI,CAAC,MAAM,EAAE,QAAQ;QAC5B,IAAI,MAAM,EAAE,CAAC;YACX,0BAA0B;YAC1B,oCAAoC;YACpC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kCAAkC,CAAC;YAC7F,OAAO,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,uEAAuE,CAAC,CAAC;YAC/E,OAAO,QAAQ,CAAC,IAAI,KAAK,CAAC,uEAAuE,CAAC,EAAE,IAAI,CAAC,CAAC;QAC5G,CAAC;IACH,CAAC;IAED,UAAU,EAAE,CAAC;IAEb,OAAO;QACL,gBAAgB,EAAE,gBAAgB;QAClC,eAAe,EAAE,eAAe;QAChC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC,CAAC"}
@@ -1,23 +0,0 @@
1
- import type Crowi from '../crowi';
2
- /**
3
- * RFC-0004 backfill: stamp `status: 'published'` onto every legacy
4
- * `Page` row that has no `status` (the field is missing, or stored as
5
- * `null`).
6
- *
7
- * Why this is needed: RFC-0004 introduces a first-class `draft` state
8
- * and the listing / search / backlink queries now branch on
9
- * `Page.status`. Pages created before the `status` field existed read
10
- * back as `null`; `Page.isPublished()` already treats `null` as
11
- * published for back-compat, but the query-level `$or` filters and the
12
- * collab draft gate are clearer — and future-proof against a stricter
13
- * `required: true` — when every row carries an explicit value.
14
- *
15
- * Idempotent: the filter only matches rows that are still unset, so a
16
- * second run touches nothing. Pages already `published` / `draft` /
17
- * `deleted` / `deprecated` / `wip` are left exactly as they are — in
18
- * particular this never rewrites a `draft` back to `published`, which
19
- * would violate the one-way transition rule.
20
- *
21
- * Returns the number of rows updated, so the boot log can report it.
22
- */
23
- export declare function runPageStatusMigration(crowi: Crowi): Promise<number>;
@@ -1,48 +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
- exports.runPageStatusMigration = runPageStatusMigration;
7
- const debug_1 = __importDefault(require("debug"));
8
- const page_1 = require("../models/page");
9
- const debug = (0, debug_1.default)('crowi:util:page-status-migration');
10
- /**
11
- * RFC-0004 backfill: stamp `status: 'published'` onto every legacy
12
- * `Page` row that has no `status` (the field is missing, or stored as
13
- * `null`).
14
- *
15
- * Why this is needed: RFC-0004 introduces a first-class `draft` state
16
- * and the listing / search / backlink queries now branch on
17
- * `Page.status`. Pages created before the `status` field existed read
18
- * back as `null`; `Page.isPublished()` already treats `null` as
19
- * published for back-compat, but the query-level `$or` filters and the
20
- * collab draft gate are clearer — and future-proof against a stricter
21
- * `required: true` — when every row carries an explicit value.
22
- *
23
- * Idempotent: the filter only matches rows that are still unset, so a
24
- * second run touches nothing. Pages already `published` / `draft` /
25
- * `deleted` / `deprecated` / `wip` are left exactly as they are — in
26
- * particular this never rewrites a `draft` back to `published`, which
27
- * would violate the one-way transition rule.
28
- *
29
- * Returns the number of rows updated, so the boot log can report it.
30
- */
31
- async function runPageStatusMigration(crowi) {
32
- const Page = crowi.model('Page');
33
- // `status: null` matches both an explicit null and a missing field
34
- // in MongoDB query semantics, so a single condition covers every
35
- // legacy shape.
36
- const result = await Page.updateMany({ status: null }, { $set: { status: page_1.STATUS_PUBLISHED } });
37
- // Mongoose's UpdateResult exposes `modifiedCount`; fall back to 0 for
38
- // any driver shape that omits it.
39
- const modified = result.modifiedCount ?? 0;
40
- if (modified > 0) {
41
- console.log(`[crowi] Backfilled status='published' on ${modified} legacy page row(s).`);
42
- }
43
- else {
44
- debug('no legacy pages without status — nothing to migrate');
45
- }
46
- return modified;
47
- }
48
- //# sourceMappingURL=page-status-migration.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"page-status-migration.js","sourceRoot":"","sources":["../../src/util/page-status-migration.ts"],"names":[],"mappings":";;;;;AA2BA,wDAiBC;AA5CD,kDAA0B;AAE1B,0CAAmD;AAEnD,MAAM,KAAK,GAAG,IAAA,eAAK,EAAC,kCAAkC,CAAC,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;GAoBG;AACI,KAAK,UAAU,sBAAsB,CAAC,KAAY;IACvD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAEjC,mEAAmE;IACnE,iEAAiE;IACjE,gBAAgB;IAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,uBAAgB,EAAE,EAAE,CAAC,CAAC;IAE/F,sEAAsE;IACtE,kCAAkC;IAClC,MAAM,QAAQ,GAAI,MAAqC,CAAC,aAAa,IAAI,CAAC,CAAC;IAC3E,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,4CAA4C,QAAQ,sBAAsB,CAAC,CAAC;IAC1F,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,qDAAqD,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,3 +0,0 @@
1
- import Crowi from '../crowi';
2
- export declare const getPath: (crowi: Crowi, path: string) => string;
3
- export declare const assetPath: (path: string) => string;
package/dist/util/ssr.js DELETED
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.assetPath = exports.getPath = void 0;
4
- const getPath = (crowi, path) => (crowi.node_env === 'development' ? `${path}.tsx` : `${path}.js`);
5
- exports.getPath = getPath;
6
- // FIXME: Use webpack mainfest in production
7
- const assetPath = (path) => path;
8
- exports.assetPath = assetPath;
9
- //# sourceMappingURL=ssr.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ssr.js","sourceRoot":"","sources":["../../src/util/ssr.ts"],"names":[],"mappings":";;;AAEO,MAAM,OAAO,GAAG,CAAC,KAAY,EAAE,IAAY,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC;AAA5G,QAAA,OAAO,WAAqG;AAEzH,4CAA4C;AACrC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC;AAAnC,QAAA,SAAS,aAA0B"}
@@ -1,10 +0,0 @@
1
- import Crowi from '../crowi';
2
- import { AppContext } from 'src/types/appContext';
3
- export declare const parentPath: (path: string) => string;
4
- export declare const isUserPageList: (path: string) => boolean;
5
- export declare const isUserPage: (path: string) => boolean;
6
- export declare const isTopPage: (path: string) => path is "/";
7
- export declare const isTrashPage: (path: string) => boolean;
8
- export declare const userPageRoot: (user: any) => string;
9
- export declare const picture: (user: any) => any;
10
- export declare const getAppContext: (crowi: Crowi, req: any) => AppContext;