@crowi/api 2.0.0-alpha.0 → 2.0.0-alpha.2
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.
- package/dist/hono/handlers/access-token.d.ts +55 -55
- package/dist/hono/handlers/activation.d.ts +27 -27
- package/dist/hono/handlers/admin/app.d.ts +26 -26
- package/dist/hono/handlers/admin/auth.d.ts +24 -24
- package/dist/hono/handlers/admin/mail.d.ts +30 -30
- package/dist/hono/handlers/admin/plugins.d.ts +112 -112
- package/dist/hono/handlers/admin/search.d.ts +21 -21
- package/dist/hono/handlers/admin/security.d.ts +24 -24
- package/dist/hono/handlers/admin/storage.d.ts +19 -19
- package/dist/hono/handlers/admin/users.d.ts +399 -281
- package/dist/hono/handlers/admin/users.js +28 -0
- package/dist/hono/handlers/admin/users.js.map +1 -1
- package/dist/hono/handlers/adminCrypto.d.ts +32 -32
- package/dist/hono/handlers/app.d.ts +12 -8
- package/dist/hono/handlers/app.js +42 -1
- package/dist/hono/handlers/app.js.map +1 -1
- package/dist/hono/handlers/attachment-stream.js +23 -0
- package/dist/hono/handlers/attachment-stream.js.map +1 -1
- package/dist/hono/handlers/attachment.d.ts +180 -180
- package/dist/hono/handlers/autocomplete.d.ts +45 -45
- package/dist/hono/handlers/backlink.d.ts +33 -33
- package/dist/hono/handlers/bookmark.d.ts +95 -95
- package/dist/hono/handlers/comment.d.ts +55 -55
- package/dist/hono/handlers/draft.d.ts +27 -27
- package/dist/hono/handlers/draft.js +10 -0
- package/dist/hono/handlers/draft.js.map +1 -1
- package/dist/hono/handlers/emailChange.d.ts +25 -25
- package/dist/hono/handlers/installer.d.ts +16 -16
- package/dist/hono/handlers/inviteAccept.d.ts +37 -37
- package/dist/hono/handlers/me.d.ts +92 -92
- package/dist/hono/handlers/notification.d.ts +94 -94
- package/dist/hono/handlers/oauth.d.ts +58 -58
- package/dist/hono/handlers/page-collab.d.ts +20 -20
- package/dist/hono/handlers/page-preview.d.ts +7 -7
- package/dist/hono/handlers/page.d.ts +575 -324
- package/dist/hono/handlers/page.js +123 -6
- package/dist/hono/handlers/page.js.map +1 -1
- package/dist/hono/handlers/passwordReset.d.ts +37 -37
- package/dist/hono/handlers/presence.d.ts +44 -44
- package/dist/hono/handlers/revision.d.ts +99 -99
- package/dist/hono/handlers/search.d.ts +64 -64
- package/dist/hono/handlers/tokenAuth.d.ts +80 -80
- package/dist/hono/handlers/user.d.ts +102 -102
- package/dist/hono/handlers/user.js +15 -5
- package/dist/hono/handlers/user.js.map +1 -1
- package/dist/hono/index.d.ts +94 -94
- package/dist/mcp/result.d.ts +52 -11
- package/dist/mcp/result.js +66 -1
- package/dist/mcp/result.js.map +1 -1
- package/dist/mcp/tools/page.js +30 -5
- package/dist/mcp/tools/page.js.map +1 -1
- package/dist/mcp/tools/search.d.ts +12 -0
- package/dist/mcp/tools/search.js +21 -5
- package/dist/mcp/tools/search.js.map +1 -1
- package/dist/migration/helpers.d.ts +13 -0
- package/dist/migration/helpers.js +29 -0
- package/dist/migration/helpers.js.map +1 -0
- package/dist/migration/migrations/files-url-to-attachments.d.ts +35 -0
- package/dist/migration/migrations/files-url-to-attachments.js +291 -0
- package/dist/migration/migrations/files-url-to-attachments.js.map +1 -0
- package/dist/migration/migrations/index.js +6 -0
- package/dist/migration/migrations/index.js.map +1 -1
- package/dist/migration/migrations/published-current-revision.d.ts +47 -0
- package/dist/migration/migrations/published-current-revision.js +90 -0
- package/dist/migration/migrations/published-current-revision.js.map +1 -0
- package/dist/migration/migrations/relocate-reserved-api-paths.d.ts +3 -0
- package/dist/migration/migrations/relocate-reserved-api-paths.js +135 -0
- package/dist/migration/migrations/relocate-reserved-api-paths.js.map +1 -0
- package/dist/migration/migrations/wikilink-format.d.ts +0 -11
- package/dist/migration/migrations/wikilink-format.js +5 -156
- package/dist/migration/migrations/wikilink-format.js.map +1 -1
- package/dist/migration/migrations/wikilink-html-recover.d.ts +116 -0
- package/dist/migration/migrations/wikilink-html-recover.js +314 -0
- package/dist/migration/migrations/wikilink-html-recover.js.map +1 -0
- package/dist/models/page.d.ts +3 -0
- package/dist/models/page.js +40 -2
- package/dist/models/page.js.map +1 -1
- package/dist/models/user.d.ts +1 -0
- package/dist/models/user.js +40 -21
- package/dist/models/user.js.map +1 -1
- package/dist/renderer/core/headings.d.ts +12 -1
- package/dist/renderer/core/headings.js +48 -8
- package/dist/renderer/core/headings.js.map +1 -1
- package/dist/renderer/pipeline.d.ts +6 -0
- package/dist/renderer/pipeline.js.map +1 -1
- package/dist/util/page-response.js +19 -2
- package/dist/util/page-response.js.map +1 -1
- package/dist/util/replace-url.d.ts +85 -0
- package/dist/util/replace-url.js +251 -0
- package/dist/util/replace-url.js.map +1 -0
- package/package.json +13 -5
- package/public/images/file-not-found.png +0 -0
- package/views/mail/activation.mjml +9 -0
- package/views/mail/activation.text +13 -0
- package/views/mail/adminApprovalPending.mjml +7 -0
- package/views/mail/adminApprovalPending.text +11 -0
- package/views/mail/emailChange.mjml +9 -0
- package/views/mail/emailChange.text +13 -0
- package/views/mail/invite.mjml +9 -0
- package/views/mail/invite.text +13 -0
- package/views/mail/layout.mjml +38 -0
- package/views/mail/passwordChanged.mjml +4 -0
- package/views/mail/passwordChanged.text +9 -0
- package/views/mail/passwordReset.mjml +9 -0
- package/views/mail/passwordReset.text +13 -0
- package/views/mail/test.mjml +2 -0
- package/views/mail/test.text +7 -0
- package/dist/common/functions/path2name.d.ts +0 -1
- package/dist/common/functions/path2name.js +0 -22
- package/dist/common/functions/path2name.js.map +0 -1
- package/dist/common/functions/renderIcon.d.ts +0 -1
- package/dist/common/functions/renderIcon.js +0 -9
- package/dist/common/functions/renderIcon.js.map +0 -1
- package/dist/controllers/admin.d.ts +0 -3
- package/dist/controllers/admin.js +0 -474
- package/dist/controllers/admin.js.map +0 -1
- package/dist/controllers/attachment.d.ts +0 -4
- package/dist/controllers/attachment.js +0 -200
- package/dist/controllers/attachment.js.map +0 -1
- package/dist/controllers/backlink.d.ts +0 -3
- package/dist/controllers/backlink.js +0 -42
- package/dist/controllers/backlink.js.map +0 -1
- package/dist/controllers/bookmark.d.ts +0 -3
- package/dist/controllers/bookmark.js +0 -100
- package/dist/controllers/bookmark.js.map +0 -1
- package/dist/controllers/comment.d.ts +0 -3
- package/dist/controllers/comment.js +0 -111
- package/dist/controllers/comment.js.map +0 -1
- package/dist/controllers/index.d.ts +0 -25
- package/dist/controllers/index.js +0 -44
- package/dist/controllers/index.js.map +0 -1
- package/dist/controllers/installer.d.ts +0 -3
- package/dist/controllers/installer.js +0 -48
- package/dist/controllers/installer.js.map +0 -1
- package/dist/controllers/login.d.ts +0 -4
- package/dist/controllers/login.js +0 -438
- package/dist/controllers/login.js.map +0 -1
- package/dist/controllers/logout.d.ts +0 -5
- package/dist/controllers/logout.js +0 -11
- package/dist/controllers/logout.js.map +0 -1
- package/dist/controllers/me.d.ts +0 -4
- package/dist/controllers/me.js +0 -369
- package/dist/controllers/me.js.map +0 -1
- package/dist/controllers/notification.d.ts +0 -3
- package/dist/controllers/notification.js +0 -88
- package/dist/controllers/notification.js.map +0 -1
- package/dist/controllers/page.d.ts +0 -3
- package/dist/controllers/page.js +0 -881
- package/dist/controllers/page.js.map +0 -1
- package/dist/controllers/revision.d.ts +0 -3
- package/dist/controllers/revision.js +0 -91
- package/dist/controllers/revision.js.map +0 -1
- package/dist/controllers/search.d.ts +0 -3
- package/dist/controllers/search.js +0 -93
- package/dist/controllers/search.js.map +0 -1
- package/dist/controllers/share.d.ts +0 -3
- package/dist/controllers/share.js +0 -207
- package/dist/controllers/share.js.map +0 -1
- package/dist/controllers/shareAccess.d.ts +0 -3
- package/dist/controllers/shareAccess.js +0 -28
- package/dist/controllers/shareAccess.js.map +0 -1
- package/dist/controllers/slack.d.ts +0 -3
- package/dist/controllers/slack.js +0 -87
- package/dist/controllers/slack.js.map +0 -1
- package/dist/controllers/tokenAuth.d.ts +0 -10
- package/dist/controllers/tokenAuth.js +0 -292
- package/dist/controllers/tokenAuth.js.map +0 -1
- package/dist/controllers/user.d.ts +0 -3
- package/dist/controllers/user.js +0 -67
- package/dist/controllers/user.js.map +0 -1
- package/dist/controllers/version.d.ts +0 -4
- package/dist/controllers/version.js +0 -19
- package/dist/controllers/version.js.map +0 -1
- package/dist/crowi/express-init.d.ts +0 -4
- package/dist/crowi/express-init.js +0 -101
- package/dist/crowi/express-init.js.map +0 -1
- package/dist/form/admin/app.d.ts +0 -2
- package/dist/form/admin/app.js +0 -9
- package/dist/form/admin/app.js.map +0 -1
- package/dist/form/admin/auth.d.ts +0 -2
- package/dist/form/admin/auth.js +0 -9
- package/dist/form/admin/auth.js.map +0 -1
- package/dist/form/admin/aws.d.ts +0 -2
- package/dist/form/admin/aws.js +0 -13
- package/dist/form/admin/aws.js.map +0 -1
- package/dist/form/admin/github.d.ts +0 -2
- package/dist/form/admin/github.js +0 -15
- package/dist/form/admin/github.js.map +0 -1
- package/dist/form/admin/google.d.ts +0 -2
- package/dist/form/admin/google.js +0 -13
- package/dist/form/admin/google.js.map +0 -1
- package/dist/form/admin/mail.d.ts +0 -2
- package/dist/form/admin/mail.js +0 -13
- package/dist/form/admin/mail.js.map +0 -1
- package/dist/form/admin/sec.d.ts +0 -2
- package/dist/form/admin/sec.js +0 -10
- package/dist/form/admin/sec.js.map +0 -1
- package/dist/form/admin/slackSetting.d.ts +0 -2
- package/dist/form/admin/slackSetting.js +0 -13
- package/dist/form/admin/slackSetting.js.map +0 -1
- package/dist/form/admin/userEdit.d.ts +0 -2
- package/dist/form/admin/userEdit.js +0 -9
- package/dist/form/admin/userEdit.js.map +0 -1
- package/dist/form/admin/userInvite.d.ts +0 -2
- package/dist/form/admin/userInvite.js +0 -9
- package/dist/form/admin/userInvite.js.map +0 -1
- package/dist/form/comment.d.ts +0 -2
- package/dist/form/comment.js +0 -9
- package/dist/form/comment.js.map +0 -1
- package/dist/form/index.d.ts +0 -25
- package/dist/form/index.js +0 -48
- package/dist/form/index.js.map +0 -1
- package/dist/form/invited.d.ts +0 -2
- package/dist/form/invited.js +0 -13
- package/dist/form/invited.js.map +0 -1
- package/dist/form/login.d.ts +0 -2
- package/dist/form/login.js +0 -11
- package/dist/form/login.js.map +0 -1
- package/dist/form/me/apiToken.d.ts +0 -2
- package/dist/form/me/apiToken.js +0 -9
- package/dist/form/me/apiToken.js.map +0 -1
- package/dist/form/me/password.d.ts +0 -2
- package/dist/form/me/password.js +0 -11
- package/dist/form/me/password.js.map +0 -1
- package/dist/form/me/user.d.ts +0 -2
- package/dist/form/me/user.js +0 -9
- package/dist/form/me/user.js.map +0 -1
- package/dist/form/register.d.ts +0 -2
- package/dist/form/register.js +0 -13
- package/dist/form/register.js.map +0 -1
- package/dist/form/revision.d.ts +0 -2
- package/dist/form/revision.js +0 -13
- package/dist/form/revision.js.map +0 -1
- package/dist/hono/handlers/admin/share.d.ts +0 -106
- package/dist/hono/handlers/admin/share.js +0 -55
- package/dist/hono/handlers/admin/share.js.map +0 -1
- package/dist/middlewares/accessTokenParser.d.ts +0 -4
- package/dist/middlewares/accessTokenParser.js +0 -29
- package/dist/middlewares/accessTokenParser.js.map +0 -1
- package/dist/middlewares/adminRequired.d.ts +0 -10
- package/dist/middlewares/adminRequired.js +0 -35
- package/dist/middlewares/adminRequired.js.map +0 -1
- package/dist/middlewares/applicationInstalled.d.ts +0 -3
- package/dist/middlewares/applicationInstalled.js +0 -20
- package/dist/middlewares/applicationInstalled.js.map +0 -1
- package/dist/middlewares/applicationNotInstalled.d.ts +0 -3
- package/dist/middlewares/applicationNotInstalled.js +0 -13
- package/dist/middlewares/applicationNotInstalled.js.map +0 -1
- package/dist/middlewares/basicAuth.d.ts +0 -4
- package/dist/middlewares/basicAuth.js +0 -23
- package/dist/middlewares/basicAuth.js.map +0 -1
- package/dist/middlewares/csrfVerify.d.ts +0 -4
- package/dist/middlewares/csrfVerify.js +0 -24
- package/dist/middlewares/csrfVerify.js.map +0 -1
- package/dist/middlewares/encodeSpace.d.ts +0 -3
- package/dist/middlewares/encodeSpace.js +0 -14
- package/dist/middlewares/encodeSpace.js.map +0 -1
- package/dist/middlewares/fileAccessRightOrLoginRequired.d.ts +0 -4
- package/dist/middlewares/fileAccessRightOrLoginRequired.js +0 -29
- package/dist/middlewares/fileAccessRightOrLoginRequired.js.map +0 -1
- package/dist/middlewares/index.d.ts +0 -16
- package/dist/middlewares/index.js +0 -30
- package/dist/middlewares/index.js.map +0 -1
- package/dist/middlewares/jwtAdminRequired.d.ts +0 -8
- package/dist/middlewares/jwtAdminRequired.js +0 -35
- package/dist/middlewares/jwtAdminRequired.js.map +0 -1
- package/dist/middlewares/jwtAuth.d.ts +0 -4
- package/dist/middlewares/jwtAuth.js +0 -104
- package/dist/middlewares/jwtAuth.js.map +0 -1
- package/dist/middlewares/loginChecker.d.ts +0 -4
- package/dist/middlewares/loginChecker.js +0 -32
- package/dist/middlewares/loginChecker.js.map +0 -1
- package/dist/middlewares/loginRequired.d.ts +0 -4
- package/dist/middlewares/loginRequired.js +0 -88
- package/dist/middlewares/loginRequired.js.map +0 -1
- package/dist/routes/admin.d.ts +0 -4
- package/dist/routes/admin.js +0 -17
- package/dist/routes/admin.js.map +0 -1
- package/dist/routes/api/admin.d.ts +0 -4
- package/dist/routes/api/admin.js +0 -37
- package/dist/routes/api/admin.js.map +0 -1
- package/dist/routes/api/attachment.d.ts +0 -4
- package/dist/routes/api/attachment.js +0 -19
- package/dist/routes/api/attachment.js.map +0 -1
- package/dist/routes/api/bookmark.d.ts +0 -4
- package/dist/routes/api/bookmark.js +0 -15
- package/dist/routes/api/bookmark.js.map +0 -1
- package/dist/routes/api/comment.d.ts +0 -4
- package/dist/routes/api/comment.js +0 -14
- package/dist/routes/api/comment.js.map +0 -1
- package/dist/routes/api/index.d.ts +0 -4
- package/dist/routes/api/index.js +0 -36
- package/dist/routes/api/index.js.map +0 -1
- package/dist/routes/api/like.d.ts +0 -4
- package/dist/routes/api/like.js +0 -13
- package/dist/routes/api/like.js.map +0 -1
- package/dist/routes/api/notification.d.ts +0 -4
- package/dist/routes/api/notification.js +0 -15
- package/dist/routes/api/notification.js.map +0 -1
- package/dist/routes/api/page.d.ts +0 -4
- package/dist/routes/api/page.js +0 -24
- package/dist/routes/api/page.js.map +0 -1
- package/dist/routes/api/revision.d.ts +0 -4
- package/dist/routes/api/revision.js +0 -14
- package/dist/routes/api/revision.js.map +0 -1
- package/dist/routes/api/share.d.ts +0 -4
- package/dist/routes/api/share.js +0 -16
- package/dist/routes/api/share.js.map +0 -1
- package/dist/routes/api/version.d.ts +0 -4
- package/dist/routes/api/version.js +0 -10
- package/dist/routes/api/version.js.map +0 -1
- package/dist/routes/index.d.ts +0 -4
- package/dist/routes/index.js +0 -71
- package/dist/routes/index.js.map +0 -1
- package/dist/routes/login.d.ts +0 -4
- package/dist/routes/login.js +0 -18
- package/dist/routes/login.js.map +0 -1
- package/dist/routes/me.d.ts +0 -4
- package/dist/routes/me.js +0 -24
- package/dist/routes/me.js.map +0 -1
- package/dist/routes/ts-rest/admin/app.d.ts +0 -4
- package/dist/routes/ts-rest/admin/app.js +0 -67
- package/dist/routes/ts-rest/admin/app.js.map +0 -1
- package/dist/routes/ts-rest/admin/auth.d.ts +0 -4
- package/dist/routes/ts-rest/admin/auth.js +0 -95
- package/dist/routes/ts-rest/admin/auth.js.map +0 -1
- package/dist/routes/ts-rest/admin/index.d.ts +0 -10
- package/dist/routes/ts-rest/admin/index.js +0 -35
- package/dist/routes/ts-rest/admin/index.js.map +0 -1
- package/dist/routes/ts-rest/admin/mail.d.ts +0 -4
- package/dist/routes/ts-rest/admin/mail.js +0 -156
- package/dist/routes/ts-rest/admin/mail.js.map +0 -1
- package/dist/routes/ts-rest/admin/plugins.d.ts +0 -4
- package/dist/routes/ts-rest/admin/plugins.js +0 -317
- package/dist/routes/ts-rest/admin/plugins.js.map +0 -1
- package/dist/routes/ts-rest/admin/search.d.ts +0 -4
- package/dist/routes/ts-rest/admin/search.js +0 -67
- package/dist/routes/ts-rest/admin/search.js.map +0 -1
- package/dist/routes/ts-rest/admin/security.d.ts +0 -4
- package/dist/routes/ts-rest/admin/security.js +0 -114
- package/dist/routes/ts-rest/admin/security.js.map +0 -1
- package/dist/routes/ts-rest/admin/share.d.ts +0 -4
- package/dist/routes/ts-rest/admin/share.js +0 -69
- package/dist/routes/ts-rest/admin/share.js.map +0 -1
- package/dist/routes/ts-rest/admin/storage.d.ts +0 -4
- package/dist/routes/ts-rest/admin/storage.js +0 -59
- package/dist/routes/ts-rest/admin/storage.js.map +0 -1
- package/dist/routes/ts-rest/admin/users.d.ts +0 -4
- package/dist/routes/ts-rest/admin/users.js +0 -215
- package/dist/routes/ts-rest/admin/users.js.map +0 -1
- package/dist/routes/ts-rest/adminCrypto.d.ts +0 -4
- package/dist/routes/ts-rest/adminCrypto.js +0 -111
- package/dist/routes/ts-rest/adminCrypto.js.map +0 -1
- package/dist/routes/ts-rest/app.d.ts +0 -4
- package/dist/routes/ts-rest/app.js +0 -23
- package/dist/routes/ts-rest/app.js.map +0 -1
- package/dist/routes/ts-rest/attachment.d.ts +0 -4
- package/dist/routes/ts-rest/attachment.js +0 -830
- package/dist/routes/ts-rest/attachment.js.map +0 -1
- package/dist/routes/ts-rest/auth.d.ts +0 -4
- package/dist/routes/ts-rest/auth.js +0 -70
- package/dist/routes/ts-rest/auth.js.map +0 -1
- package/dist/routes/ts-rest/autocomplete.d.ts +0 -30
- package/dist/routes/ts-rest/autocomplete.js +0 -189
- package/dist/routes/ts-rest/autocomplete.js.map +0 -1
- package/dist/routes/ts-rest/backlink.d.ts +0 -4
- package/dist/routes/ts-rest/backlink.js +0 -106
- package/dist/routes/ts-rest/backlink.js.map +0 -1
- package/dist/routes/ts-rest/bookmark.d.ts +0 -4
- package/dist/routes/ts-rest/bookmark.js +0 -189
- package/dist/routes/ts-rest/bookmark.js.map +0 -1
- package/dist/routes/ts-rest/comment.d.ts +0 -4
- package/dist/routes/ts-rest/comment.js +0 -217
- package/dist/routes/ts-rest/comment.js.map +0 -1
- package/dist/routes/ts-rest/draft.d.ts +0 -22
- package/dist/routes/ts-rest/draft.js +0 -200
- package/dist/routes/ts-rest/draft.js.map +0 -1
- package/dist/routes/ts-rest/index.d.ts +0 -4
- package/dist/routes/ts-rest/index.js +0 -103
- package/dist/routes/ts-rest/index.js.map +0 -1
- package/dist/routes/ts-rest/installer.d.ts +0 -4
- package/dist/routes/ts-rest/installer.js +0 -77
- package/dist/routes/ts-rest/installer.js.map +0 -1
- package/dist/routes/ts-rest/me.d.ts +0 -4
- package/dist/routes/ts-rest/me.js +0 -410
- package/dist/routes/ts-rest/me.js.map +0 -1
- package/dist/routes/ts-rest/notification.d.ts +0 -4
- package/dist/routes/ts-rest/notification.js +0 -241
- package/dist/routes/ts-rest/notification.js.map +0 -1
- package/dist/routes/ts-rest/page-collab.d.ts +0 -29
- package/dist/routes/ts-rest/page-collab.js +0 -90
- package/dist/routes/ts-rest/page-collab.js.map +0 -1
- package/dist/routes/ts-rest/page-preview.d.ts +0 -26
- package/dist/routes/ts-rest/page-preview.js +0 -80
- package/dist/routes/ts-rest/page-preview.js.map +0 -1
- package/dist/routes/ts-rest/page.d.ts +0 -4
- package/dist/routes/ts-rest/page.js +0 -676
- package/dist/routes/ts-rest/page.js.map +0 -1
- package/dist/routes/ts-rest/presence.d.ts +0 -30
- package/dist/routes/ts-rest/presence.js +0 -155
- package/dist/routes/ts-rest/presence.js.map +0 -1
- package/dist/routes/ts-rest/revision.d.ts +0 -4
- package/dist/routes/ts-rest/revision.js +0 -240
- package/dist/routes/ts-rest/revision.js.map +0 -1
- package/dist/routes/ts-rest/search.d.ts +0 -4
- package/dist/routes/ts-rest/search.js +0 -121
- package/dist/routes/ts-rest/search.js.map +0 -1
- package/dist/routes/ts-rest/tokenAuth.d.ts +0 -4
- package/dist/routes/ts-rest/tokenAuth.js +0 -94
- package/dist/routes/ts-rest/tokenAuth.js.map +0 -1
- package/dist/routes/ts-rest/user.d.ts +0 -4
- package/dist/routes/ts-rest/user.js +0 -307
- package/dist/routes/ts-rest/user.js.map +0 -1
- package/dist/types/express.d.ts +0 -34
- package/dist/types/express.js +0 -50
- package/dist/types/express.js.map +0 -1
- package/dist/util/accessTokenParser.d.ts +0 -1
- package/dist/util/accessTokenParser.js +0 -34
- package/dist/util/accessTokenParser.js.map +0 -1
- package/dist/util/apiPaginate.d.ts +0 -11
- package/dist/util/apiPaginate.js +0 -33
- package/dist/util/apiPaginate.js.map +0 -1
- package/dist/util/apiResponse.d.ts +0 -9
- package/dist/util/apiResponse.js +0 -23
- package/dist/util/apiResponse.js.map +0 -1
- package/dist/util/auth.d.ts +0 -11
- package/dist/util/auth.js +0 -48
- package/dist/util/auth.js.map +0 -1
- package/dist/util/aws-config-migration.d.ts +0 -11
- package/dist/util/aws-config-migration.js +0 -68
- package/dist/util/aws-config-migration.js.map +0 -1
- package/dist/util/formUtil.d.ts +0 -2
- package/dist/util/formUtil.js +0 -15
- package/dist/util/formUtil.js.map +0 -1
- package/dist/util/githubAuth.d.ts +0 -2
- package/dist/util/githubAuth.js +0 -82
- package/dist/util/githubAuth.js.map +0 -1
- package/dist/util/googleAuth.d.ts +0 -2
- package/dist/util/googleAuth.js +0 -85
- package/dist/util/googleAuth.js.map +0 -1
- package/dist/util/mailer.d.ts +0 -7
- package/dist/util/mailer.js +0 -98
- package/dist/util/mailer.js.map +0 -1
- package/dist/util/page-status-migration.d.ts +0 -23
- package/dist/util/page-status-migration.js +0 -48
- package/dist/util/page-status-migration.js.map +0 -1
- package/dist/util/ssr.d.ts +0 -3
- package/dist/util/ssr.js +0 -9
- package/dist/util/ssr.js.map +0 -1
- package/dist/util/view.d.ts +0 -10
- package/dist/util/view.js +0 -99
- 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"}
|
package/dist/util/auth.d.ts
DELETED
|
@@ -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
|
package/dist/util/auth.js.map
DELETED
|
@@ -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"}
|
package/dist/util/formUtil.d.ts
DELETED
package/dist/util/formUtil.js
DELETED
|
@@ -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"}
|
package/dist/util/githubAuth.js
DELETED
|
@@ -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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"}
|
package/dist/util/googleAuth.js
DELETED
|
@@ -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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"}
|
package/dist/util/mailer.d.ts
DELETED
package/dist/util/mailer.js
DELETED
|
@@ -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
|
package/dist/util/mailer.js.map
DELETED
|
@@ -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"}
|
package/dist/util/ssr.d.ts
DELETED
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
|
package/dist/util/ssr.js.map
DELETED
|
@@ -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"}
|
package/dist/util/view.d.ts
DELETED
|
@@ -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;
|