@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.
- package/dist/collab/attach.d.ts +34 -10
- package/dist/collab/attach.js +77 -1
- package/dist/collab/attach.js.map +1 -1
- package/dist/crowi/index.js +7 -6
- package/dist/crowi/index.js.map +1 -1
- package/dist/hono/handlers/activation.d.ts +3 -3
- package/dist/hono/handlers/admin/users.d.ts +118 -0
- package/dist/hono/handlers/admin/users.js +28 -0
- package/dist/hono/handlers/admin/users.js.map +1 -1
- package/dist/hono/handlers/app.d.ts +1 -0
- package/dist/hono/handlers/app.js +11 -0
- 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/draft.js +10 -0
- package/dist/hono/handlers/draft.js.map +1 -1
- package/dist/hono/handlers/emailChange.d.ts +4 -4
- package/dist/hono/handlers/inviteAccept.d.ts +6 -6
- package/dist/hono/handlers/page-collab.js +4 -0
- package/dist/hono/handlers/page-collab.js.map +1 -1
- package/dist/hono/handlers/page.d.ts +251 -0
- package/dist/hono/handlers/page.js +123 -6
- package/dist/hono/handlers/page.js.map +1 -1
- package/dist/hono/handlers/passwordReset.d.ts +5 -5
- package/dist/hono/handlers/tokenAuth.d.ts +7 -7
- package/dist/mcp/result.d.ts +42 -16
- package/dist/mcp/result.js +56 -10
- package/dist/mcp/result.js.map +1 -1
- package/dist/mcp/tools/page.js +21 -1
- 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/cli-api.d.ts +8 -1
- package/dist/migration/cli-api.js +2 -0
- package/dist/migration/cli-api.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/code-mask.d.ts +76 -0
- package/dist/migration/migrations/code-mask.js +224 -0
- package/dist/migration/migrations/code-mask.js.map +1 -0
- package/dist/migration/migrations/files-url-to-attachments.d.ts +99 -0
- package/dist/migration/migrations/files-url-to-attachments.js +305 -0
- package/dist/migration/migrations/files-url-to-attachments.js.map +1 -0
- package/dist/migration/migrations/index.js +4 -0
- package/dist/migration/migrations/index.js.map +1 -1
- package/dist/migration/migrations/page-status-default.d.ts +31 -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 +37 -1
- package/dist/migration/migrations/relocate-reserved-api-paths.js +11 -3
- package/dist/migration/migrations/relocate-reserved-api-paths.js.map +1 -1
- package/dist/migration/migrations/revisions-schema-unify.d.ts +35 -1
- package/dist/migration/migrations/user-unique-prepare.d.ts +55 -1
- package/dist/migration/migrations/user-unique-prepare.js +5 -0
- package/dist/migration/migrations/user-unique-prepare.js.map +1 -1
- package/dist/migration/migrations/wikilink-format.d.ts +75 -12
- package/dist/migration/migrations/wikilink-format.js +23 -157
- package/dist/migration/migrations/wikilink-format.js.map +1 -1
- package/dist/migration/migrations/wikilink-html-recover.d.ts +191 -0
- package/dist/migration/migrations/wikilink-html-recover.js +340 -0
- package/dist/migration/migrations/wikilink-html-recover.js.map +1 -0
- package/dist/migration/registry.d.ts +8 -2
- package/dist/migration/registry.js +5 -1
- package/dist/migration/registry.js.map +1 -1
- package/dist/migration/run-boot-migrations.d.ts +4 -1
- package/dist/migration/run-boot-migrations.js +55 -23
- package/dist/migration/run-boot-migrations.js.map +1 -1
- package/dist/migration/runner.js +8 -1
- package/dist/migration/runner.js.map +1 -1
- package/dist/migration/types.d.ts +57 -5
- package/dist/migration/types.js.map +1 -1
- package/dist/models/page.d.ts +23 -3
- package/dist/models/page.js +91 -5
- 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/plugin/plugin-manager.js +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/renderer/registry.js +1 -1
- package/dist/util/page-response.js +19 -2
- package/dist/util/page-response.js.map +1 -1
- package/dist/util/ws-token.d.ts +13 -0
- package/dist/util/ws-token.js +43 -3
- package/dist/util/ws-token.js.map +1 -1
- package/package.json +13 -7
- package/views/mail/layout.mjml +7 -5
- 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":"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"}
|
|
@@ -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;
|