@crowi/api 2.0.0-alpha.0
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/LICENSE +21 -0
- package/dist/app.d.ts +8 -0
- package/dist/app.js +65 -0
- package/dist/app.js.map +1 -0
- package/dist/collab/attach.d.ts +33 -0
- package/dist/collab/attach.js +341 -0
- package/dist/collab/attach.js.map +1 -0
- package/dist/collab/extension-redis.d.ts +25 -0
- package/dist/collab/extension-redis.js +133 -0
- package/dist/collab/extension-redis.js.map +1 -0
- package/dist/common/functions/path2name.d.ts +1 -0
- package/dist/common/functions/path2name.js +22 -0
- package/dist/common/functions/path2name.js.map +1 -0
- package/dist/common/functions/renderIcon.d.ts +1 -0
- package/dist/common/functions/renderIcon.js +9 -0
- package/dist/common/functions/renderIcon.js.map +1 -0
- package/dist/controllers/admin.d.ts +3 -0
- package/dist/controllers/admin.js +474 -0
- package/dist/controllers/admin.js.map +1 -0
- package/dist/controllers/attachment.d.ts +4 -0
- package/dist/controllers/attachment.js +200 -0
- package/dist/controllers/attachment.js.map +1 -0
- package/dist/controllers/backlink.d.ts +3 -0
- package/dist/controllers/backlink.js +42 -0
- package/dist/controllers/backlink.js.map +1 -0
- package/dist/controllers/bookmark.d.ts +3 -0
- package/dist/controllers/bookmark.js +100 -0
- package/dist/controllers/bookmark.js.map +1 -0
- package/dist/controllers/comment.d.ts +3 -0
- package/dist/controllers/comment.js +111 -0
- package/dist/controllers/comment.js.map +1 -0
- package/dist/controllers/index.d.ts +25 -0
- package/dist/controllers/index.js +44 -0
- package/dist/controllers/index.js.map +1 -0
- package/dist/controllers/installer.d.ts +3 -0
- package/dist/controllers/installer.js +48 -0
- package/dist/controllers/installer.js.map +1 -0
- package/dist/controllers/login.d.ts +4 -0
- package/dist/controllers/login.js +438 -0
- package/dist/controllers/login.js.map +1 -0
- package/dist/controllers/logout.d.ts +5 -0
- package/dist/controllers/logout.js +11 -0
- package/dist/controllers/logout.js.map +1 -0
- package/dist/controllers/me.d.ts +4 -0
- package/dist/controllers/me.js +369 -0
- package/dist/controllers/me.js.map +1 -0
- package/dist/controllers/notification.d.ts +3 -0
- package/dist/controllers/notification.js +88 -0
- package/dist/controllers/notification.js.map +1 -0
- package/dist/controllers/page.d.ts +3 -0
- package/dist/controllers/page.js +881 -0
- package/dist/controllers/page.js.map +1 -0
- package/dist/controllers/revision.d.ts +3 -0
- package/dist/controllers/revision.js +91 -0
- package/dist/controllers/revision.js.map +1 -0
- package/dist/controllers/search.d.ts +3 -0
- package/dist/controllers/search.js +93 -0
- package/dist/controllers/search.js.map +1 -0
- package/dist/controllers/share.d.ts +3 -0
- package/dist/controllers/share.js +207 -0
- package/dist/controllers/share.js.map +1 -0
- package/dist/controllers/shareAccess.d.ts +3 -0
- package/dist/controllers/shareAccess.js +28 -0
- package/dist/controllers/shareAccess.js.map +1 -0
- package/dist/controllers/slack.d.ts +3 -0
- package/dist/controllers/slack.js +87 -0
- package/dist/controllers/slack.js.map +1 -0
- package/dist/controllers/tokenAuth.d.ts +10 -0
- package/dist/controllers/tokenAuth.js +292 -0
- package/dist/controllers/tokenAuth.js.map +1 -0
- package/dist/controllers/user.d.ts +3 -0
- package/dist/controllers/user.js +67 -0
- package/dist/controllers/user.js.map +1 -0
- package/dist/controllers/version.d.ts +4 -0
- package/dist/controllers/version.js +19 -0
- package/dist/controllers/version.js.map +1 -0
- package/dist/crowi/express-init.d.ts +4 -0
- package/dist/crowi/express-init.js +101 -0
- package/dist/crowi/express-init.js.map +1 -0
- package/dist/crowi/index.d.ts +245 -0
- package/dist/crowi/index.js +726 -0
- package/dist/crowi/index.js.map +1 -0
- package/dist/events/activity.d.ts +7 -0
- package/dist/events/activity.js +15 -0
- package/dist/events/activity.js.map +1 -0
- package/dist/events/bookmark.d.ts +8 -0
- package/dist/events/bookmark.js +16 -0
- package/dist/events/bookmark.js.map +1 -0
- package/dist/events/comment.d.ts +6 -0
- package/dist/events/comment.js +14 -0
- package/dist/events/comment.js.map +1 -0
- package/dist/events/config.d.ts +6 -0
- package/dist/events/config.js +12 -0
- package/dist/events/config.js.map +1 -0
- package/dist/events/index.d.ts +17 -0
- package/dist/events/index.js +22 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/mention-dispatch.d.ts +44 -0
- package/dist/events/mention-dispatch.js +151 -0
- package/dist/events/mention-dispatch.js.map +1 -0
- package/dist/events/notification.d.ts +7 -0
- package/dist/events/notification.js +15 -0
- package/dist/events/notification.js.map +1 -0
- package/dist/events/page.d.ts +44 -0
- package/dist/events/page.js +134 -0
- package/dist/events/page.js.map +1 -0
- package/dist/events/render-cache.d.ts +24 -0
- package/dist/events/render-cache.js +63 -0
- package/dist/events/render-cache.js.map +1 -0
- package/dist/events/user.d.ts +9 -0
- package/dist/events/user.js +39 -0
- package/dist/events/user.js.map +1 -0
- package/dist/form/admin/app.d.ts +2 -0
- package/dist/form/admin/app.js +9 -0
- package/dist/form/admin/app.js.map +1 -0
- package/dist/form/admin/auth.d.ts +2 -0
- package/dist/form/admin/auth.js +9 -0
- package/dist/form/admin/auth.js.map +1 -0
- package/dist/form/admin/aws.d.ts +2 -0
- package/dist/form/admin/aws.js +13 -0
- package/dist/form/admin/aws.js.map +1 -0
- package/dist/form/admin/github.d.ts +2 -0
- package/dist/form/admin/github.js +15 -0
- package/dist/form/admin/github.js.map +1 -0
- package/dist/form/admin/google.d.ts +2 -0
- package/dist/form/admin/google.js +13 -0
- package/dist/form/admin/google.js.map +1 -0
- package/dist/form/admin/mail.d.ts +2 -0
- package/dist/form/admin/mail.js +13 -0
- package/dist/form/admin/mail.js.map +1 -0
- package/dist/form/admin/sec.d.ts +2 -0
- package/dist/form/admin/sec.js +10 -0
- package/dist/form/admin/sec.js.map +1 -0
- package/dist/form/admin/slackSetting.d.ts +2 -0
- package/dist/form/admin/slackSetting.js +13 -0
- package/dist/form/admin/slackSetting.js.map +1 -0
- package/dist/form/admin/userEdit.d.ts +2 -0
- package/dist/form/admin/userEdit.js +9 -0
- package/dist/form/admin/userEdit.js.map +1 -0
- package/dist/form/admin/userInvite.d.ts +2 -0
- package/dist/form/admin/userInvite.js +9 -0
- package/dist/form/admin/userInvite.js.map +1 -0
- package/dist/form/comment.d.ts +2 -0
- package/dist/form/comment.js +9 -0
- package/dist/form/comment.js.map +1 -0
- package/dist/form/index.d.ts +25 -0
- package/dist/form/index.js +48 -0
- package/dist/form/index.js.map +1 -0
- package/dist/form/invited.d.ts +2 -0
- package/dist/form/invited.js +13 -0
- package/dist/form/invited.js.map +1 -0
- package/dist/form/login.d.ts +2 -0
- package/dist/form/login.js +11 -0
- package/dist/form/login.js.map +1 -0
- package/dist/form/me/apiToken.d.ts +2 -0
- package/dist/form/me/apiToken.js +9 -0
- package/dist/form/me/apiToken.js.map +1 -0
- package/dist/form/me/password.d.ts +2 -0
- package/dist/form/me/password.js +11 -0
- package/dist/form/me/password.js.map +1 -0
- package/dist/form/me/user.d.ts +2 -0
- package/dist/form/me/user.js +9 -0
- package/dist/form/me/user.js.map +1 -0
- package/dist/form/register.d.ts +2 -0
- package/dist/form/register.js +13 -0
- package/dist/form/register.js.map +1 -0
- package/dist/form/revision.d.ts +2 -0
- package/dist/form/revision.js +13 -0
- package/dist/form/revision.js.map +1 -0
- package/dist/hono/app.d.ts +19 -0
- package/dist/hono/app.js +21 -0
- package/dist/hono/app.js.map +1 -0
- package/dist/hono/handlers/_helpers/errors.d.ts +61 -0
- package/dist/hono/handlers/_helpers/errors.js +51 -0
- package/dist/hono/handlers/_helpers/errors.js.map +1 -0
- package/dist/hono/handlers/_helpers/user-shape.d.ts +46 -0
- package/dist/hono/handlers/_helpers/user-shape.js +23 -0
- package/dist/hono/handlers/_helpers/user-shape.js.map +1 -0
- package/dist/hono/handlers/access-token.d.ts +221 -0
- package/dist/hono/handlers/access-token.js +113 -0
- package/dist/hono/handlers/access-token.js.map +1 -0
- package/dist/hono/handlers/activation.d.ts +117 -0
- package/dist/hono/handlers/activation.js +77 -0
- package/dist/hono/handlers/activation.js.map +1 -0
- package/dist/hono/handlers/admin/app.d.ts +123 -0
- package/dist/hono/handlers/admin/app.js +76 -0
- package/dist/hono/handlers/admin/app.js.map +1 -0
- package/dist/hono/handlers/admin/auth.d.ts +127 -0
- package/dist/hono/handlers/admin/auth.js +91 -0
- package/dist/hono/handlers/admin/auth.js.map +1 -0
- package/dist/hono/handlers/admin/mail.d.ts +168 -0
- package/dist/hono/handlers/admin/mail.js +76 -0
- package/dist/hono/handlers/admin/mail.js.map +1 -0
- package/dist/hono/handlers/admin/plugins.d.ts +409 -0
- package/dist/hono/handlers/admin/plugins.js +257 -0
- package/dist/hono/handlers/admin/plugins.js.map +1 -0
- package/dist/hono/handlers/admin/search.d.ts +57 -0
- package/dist/hono/handlers/admin/search.js +55 -0
- package/dist/hono/handlers/admin/search.js.map +1 -0
- package/dist/hono/handlers/admin/security.d.ts +112 -0
- package/dist/hono/handlers/admin/security.js +71 -0
- package/dist/hono/handlers/admin/security.js.map +1 -0
- package/dist/hono/handlers/admin/share.d.ts +106 -0
- package/dist/hono/handlers/admin/share.js +55 -0
- package/dist/hono/handlers/admin/share.js.map +1 -0
- package/dist/hono/handlers/admin/storage.d.ts +55 -0
- package/dist/hono/handlers/admin/storage.js +40 -0
- package/dist/hono/handlers/admin/storage.js.map +1 -0
- package/dist/hono/handlers/admin/users.d.ts +1230 -0
- package/dist/hono/handlers/admin/users.js +316 -0
- package/dist/hono/handlers/admin/users.js.map +1 -0
- package/dist/hono/handlers/adminCrypto.d.ts +110 -0
- package/dist/hono/handlers/adminCrypto.js +151 -0
- package/dist/hono/handlers/adminCrypto.js.map +1 -0
- package/dist/hono/handlers/app.d.ts +26 -0
- package/dist/hono/handlers/app.js +34 -0
- package/dist/hono/handlers/app.js.map +1 -0
- package/dist/hono/handlers/attachment-stream.d.ts +4 -0
- package/dist/hono/handlers/attachment-stream.js +211 -0
- package/dist/hono/handlers/attachment-stream.js.map +1 -0
- package/dist/hono/handlers/attachment.d.ts +687 -0
- package/dist/hono/handlers/attachment.js +566 -0
- package/dist/hono/handlers/attachment.js.map +1 -0
- package/dist/hono/handlers/autocomplete.d.ts +160 -0
- package/dist/hono/handlers/autocomplete.js +181 -0
- package/dist/hono/handlers/autocomplete.js.map +1 -0
- package/dist/hono/handlers/backlink.d.ts +78 -0
- package/dist/hono/handlers/backlink.js +93 -0
- package/dist/hono/handlers/backlink.js.map +1 -0
- package/dist/hono/handlers/bookmark.d.ts +558 -0
- package/dist/hono/handlers/bookmark.js +166 -0
- package/dist/hono/handlers/bookmark.js.map +1 -0
- package/dist/hono/handlers/comment.d.ts +231 -0
- package/dist/hono/handlers/comment.js +191 -0
- package/dist/hono/handlers/comment.js.map +1 -0
- package/dist/hono/handlers/draft.d.ts +136 -0
- package/dist/hono/handlers/draft.js +191 -0
- package/dist/hono/handlers/draft.js.map +1 -0
- package/dist/hono/handlers/emailChange.d.ts +124 -0
- package/dist/hono/handlers/emailChange.js +79 -0
- package/dist/hono/handlers/emailChange.js.map +1 -0
- package/dist/hono/handlers/installer.d.ts +94 -0
- package/dist/hono/handlers/installer.js +93 -0
- package/dist/hono/handlers/installer.js.map +1 -0
- package/dist/hono/handlers/inviteAccept.d.ts +180 -0
- package/dist/hono/handlers/inviteAccept.js +94 -0
- package/dist/hono/handlers/inviteAccept.js.map +1 -0
- package/dist/hono/handlers/me.d.ts +401 -0
- package/dist/hono/handlers/me.js +390 -0
- package/dist/hono/handlers/me.js.map +1 -0
- package/dist/hono/handlers/notification.d.ts +274 -0
- package/dist/hono/handlers/notification.js +224 -0
- package/dist/hono/handlers/notification.js.map +1 -0
- package/dist/hono/handlers/oauth.d.ts +299 -0
- package/dist/hono/handlers/oauth.js +443 -0
- package/dist/hono/handlers/oauth.js.map +1 -0
- package/dist/hono/handlers/page-collab.d.ts +79 -0
- package/dist/hono/handlers/page-collab.js +98 -0
- package/dist/hono/handlers/page-collab.js.map +1 -0
- package/dist/hono/handlers/page-preview.d.ts +48 -0
- package/dist/hono/handlers/page-preview.js +83 -0
- package/dist/hono/handlers/page-preview.js.map +1 -0
- package/dist/hono/handlers/page.d.ts +2059 -0
- package/dist/hono/handlers/page.js +793 -0
- package/dist/hono/handlers/page.js.map +1 -0
- package/dist/hono/handlers/passwordReset.d.ts +181 -0
- package/dist/hono/handlers/passwordReset.js +101 -0
- package/dist/hono/handlers/passwordReset.js.map +1 -0
- package/dist/hono/handlers/presence.d.ts +178 -0
- package/dist/hono/handlers/presence.js +163 -0
- package/dist/hono/handlers/presence.js.map +1 -0
- package/dist/hono/handlers/revision.d.ts +345 -0
- package/dist/hono/handlers/revision.js +202 -0
- package/dist/hono/handlers/revision.js.map +1 -0
- package/dist/hono/handlers/search.d.ts +208 -0
- package/dist/hono/handlers/search.js +152 -0
- package/dist/hono/handlers/search.js.map +1 -0
- package/dist/hono/handlers/tokenAuth.d.ts +369 -0
- package/dist/hono/handlers/tokenAuth.js +240 -0
- package/dist/hono/handlers/tokenAuth.js.map +1 -0
- package/dist/hono/handlers/user.d.ts +710 -0
- package/dist/hono/handlers/user.js +212 -0
- package/dist/hono/handlers/user.js.map +1 -0
- package/dist/hono/index.d.ts +289 -0
- package/dist/hono/index.js +240 -0
- package/dist/hono/index.js.map +1 -0
- package/dist/hono/middleware/admin.d.ts +5 -0
- package/dist/hono/middleware/admin.js +34 -0
- package/dist/hono/middleware/admin.js.map +1 -0
- package/dist/hono/middleware/auth.d.ts +54 -0
- package/dist/hono/middleware/auth.js +142 -0
- package/dist/hono/middleware/auth.js.map +1 -0
- package/dist/hono/middleware/cors.d.ts +3 -0
- package/dist/hono/middleware/cors.js +86 -0
- package/dist/hono/middleware/cors.js.map +1 -0
- package/dist/hono/middleware/default-hook.d.ts +8 -0
- package/dist/hono/middleware/default-hook.js +17 -0
- package/dist/hono/middleware/default-hook.js.map +1 -0
- package/dist/hono/middleware/error-handler.d.ts +2 -0
- package/dist/hono/middleware/error-handler.js +20 -0
- package/dist/hono/middleware/error-handler.js.map +1 -0
- package/dist/hono/middleware/rate-limit.d.ts +57 -0
- package/dist/hono/middleware/rate-limit.js +42 -0
- package/dist/hono/middleware/rate-limit.js.map +1 -0
- package/dist/hono/middleware/require-scope.d.ts +50 -0
- package/dist/hono/middleware/require-scope.js +64 -0
- package/dist/hono/middleware/require-scope.js.map +1 -0
- package/dist/hono/path-rewrite.d.ts +15 -0
- package/dist/hono/path-rewrite.js +59 -0
- package/dist/hono/path-rewrite.js.map +1 -0
- package/dist/mail/i18n/en.d.ts +2 -0
- package/dist/mail/i18n/en.js +66 -0
- package/dist/mail/i18n/en.js.map +1 -0
- package/dist/mail/i18n/index.d.ts +46 -0
- package/dist/mail/i18n/index.js +31 -0
- package/dist/mail/i18n/index.js.map +1 -0
- package/dist/mail/i18n/ja.d.ts +2 -0
- package/dist/mail/i18n/ja.js +66 -0
- package/dist/mail/i18n/ja.js.map +1 -0
- package/dist/mcp/attach.d.ts +25 -0
- package/dist/mcp/attach.js +104 -0
- package/dist/mcp/attach.js.map +1 -0
- package/dist/mcp/dispatch.d.ts +59 -0
- package/dist/mcp/dispatch.js +70 -0
- package/dist/mcp/dispatch.js.map +1 -0
- package/dist/mcp/result.d.ts +40 -0
- package/dist/mcp/result.js +78 -0
- package/dist/mcp/result.js.map +1 -0
- package/dist/mcp/server.d.ts +67 -0
- package/dist/mcp/server.js +113 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools/page.d.ts +2 -0
- package/dist/mcp/tools/page.js +256 -0
- package/dist/mcp/tools/page.js.map +1 -0
- package/dist/mcp/tools/search.d.ts +2 -0
- package/dist/mcp/tools/search.js +36 -0
- package/dist/mcp/tools/search.js.map +1 -0
- package/dist/middlewares/accessTokenParser.d.ts +4 -0
- package/dist/middlewares/accessTokenParser.js +29 -0
- package/dist/middlewares/accessTokenParser.js.map +1 -0
- package/dist/middlewares/adminRequired.d.ts +10 -0
- package/dist/middlewares/adminRequired.js +35 -0
- package/dist/middlewares/adminRequired.js.map +1 -0
- package/dist/middlewares/applicationInstalled.d.ts +3 -0
- package/dist/middlewares/applicationInstalled.js +20 -0
- package/dist/middlewares/applicationInstalled.js.map +1 -0
- package/dist/middlewares/applicationNotInstalled.d.ts +3 -0
- package/dist/middlewares/applicationNotInstalled.js +13 -0
- package/dist/middlewares/applicationNotInstalled.js.map +1 -0
- package/dist/middlewares/basicAuth.d.ts +4 -0
- package/dist/middlewares/basicAuth.js +23 -0
- package/dist/middlewares/basicAuth.js.map +1 -0
- package/dist/middlewares/csrfVerify.d.ts +4 -0
- package/dist/middlewares/csrfVerify.js +24 -0
- package/dist/middlewares/csrfVerify.js.map +1 -0
- package/dist/middlewares/encodeSpace.d.ts +3 -0
- package/dist/middlewares/encodeSpace.js +14 -0
- package/dist/middlewares/encodeSpace.js.map +1 -0
- package/dist/middlewares/fileAccessRightOrLoginRequired.d.ts +4 -0
- package/dist/middlewares/fileAccessRightOrLoginRequired.js +29 -0
- package/dist/middlewares/fileAccessRightOrLoginRequired.js.map +1 -0
- package/dist/middlewares/index.d.ts +16 -0
- package/dist/middlewares/index.js +30 -0
- package/dist/middlewares/index.js.map +1 -0
- package/dist/middlewares/jwtAdminRequired.d.ts +8 -0
- package/dist/middlewares/jwtAdminRequired.js +35 -0
- package/dist/middlewares/jwtAdminRequired.js.map +1 -0
- package/dist/middlewares/jwtAuth.d.ts +4 -0
- package/dist/middlewares/jwtAuth.js +104 -0
- package/dist/middlewares/jwtAuth.js.map +1 -0
- package/dist/middlewares/loginChecker.d.ts +4 -0
- package/dist/middlewares/loginChecker.js +32 -0
- package/dist/middlewares/loginChecker.js.map +1 -0
- package/dist/middlewares/loginRequired.d.ts +4 -0
- package/dist/middlewares/loginRequired.js +88 -0
- package/dist/middlewares/loginRequired.js.map +1 -0
- package/dist/migration/cli-api.d.ts +83 -0
- package/dist/migration/cli-api.js +128 -0
- package/dist/migration/cli-api.js.map +1 -0
- package/dist/migration/migrations/index.d.ts +12 -0
- package/dist/migration/migrations/index.js +24 -0
- package/dist/migration/migrations/index.js.map +1 -0
- package/dist/migration/migrations/page-status-default.d.ts +25 -0
- package/dist/migration/migrations/page-status-default.js +79 -0
- package/dist/migration/migrations/page-status-default.js.map +1 -0
- package/dist/migration/migrations/revisions-schema-unify.d.ts +33 -0
- package/dist/migration/migrations/revisions-schema-unify.js +88 -0
- package/dist/migration/migrations/revisions-schema-unify.js.map +1 -0
- package/dist/migration/migrations/user-unique-prepare.d.ts +1 -0
- package/dist/migration/migrations/user-unique-prepare.js +214 -0
- package/dist/migration/migrations/user-unique-prepare.js.map +1 -0
- package/dist/migration/migrations/wikilink-format.d.ts +97 -0
- package/dist/migration/migrations/wikilink-format.js +418 -0
- package/dist/migration/migrations/wikilink-format.js.map +1 -0
- package/dist/migration/rebuild-api.d.ts +50 -0
- package/dist/migration/rebuild-api.js +45 -0
- package/dist/migration/rebuild-api.js.map +1 -0
- package/dist/migration/rebuild-runner.d.ts +64 -0
- package/dist/migration/rebuild-runner.js +42 -0
- package/dist/migration/rebuild-runner.js.map +1 -0
- package/dist/migration/rebuilds/index.d.ts +26 -0
- package/dist/migration/rebuilds/index.js +69 -0
- package/dist/migration/rebuilds/index.js.map +1 -0
- package/dist/migration/registry.d.ts +15 -0
- package/dist/migration/registry.js +96 -0
- package/dist/migration/registry.js.map +1 -0
- package/dist/migration/run-boot-migrations.d.ts +31 -0
- package/dist/migration/run-boot-migrations.js +95 -0
- package/dist/migration/run-boot-migrations.js.map +1 -0
- package/dist/migration/runner.d.ts +120 -0
- package/dist/migration/runner.js +276 -0
- package/dist/migration/runner.js.map +1 -0
- package/dist/migration/types.d.ts +153 -0
- package/dist/migration/types.js +13 -0
- package/dist/migration/types.js.map +1 -0
- package/dist/models/activity.d.ts +34 -0
- package/dist/models/activity.js +263 -0
- package/dist/models/activity.js.map +1 -0
- package/dist/models/attachment.d.ts +25 -0
- package/dist/models/attachment.js +82 -0
- package/dist/models/attachment.js.map +1 -0
- package/dist/models/backlink.d.ts +19 -0
- package/dist/models/backlink.js +138 -0
- package/dist/models/backlink.js.map +1 -0
- package/dist/models/bookmark.d.ts +28 -0
- package/dist/models/bookmark.js +136 -0
- package/dist/models/bookmark.js.map +1 -0
- package/dist/models/comment.d.ts +21 -0
- package/dist/models/comment.js +87 -0
- package/dist/models/comment.js.map +1 -0
- package/dist/models/config-sensitive.d.ts +21 -0
- package/dist/models/config-sensitive.js +71 -0
- package/dist/models/config-sensitive.js.map +1 -0
- package/dist/models/config.d.ts +34 -0
- package/dist/models/config.js +161 -0
- package/dist/models/config.js.map +1 -0
- package/dist/models/index.d.ts +30 -0
- package/dist/models/index.js +55 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models/migration-application.d.ts +54 -0
- package/dist/models/migration-application.js +36 -0
- package/dist/models/migration-application.js.map +1 -0
- package/dist/models/notification.d.ts +28 -0
- package/dist/models/notification.js +285 -0
- package/dist/models/notification.js.map +1 -0
- package/dist/models/oauth-authorization-code.d.ts +34 -0
- package/dist/models/oauth-authorization-code.js +100 -0
- package/dist/models/oauth-authorization-code.js.map +1 -0
- package/dist/models/oauth-client.d.ts +36 -0
- package/dist/models/oauth-client.js +56 -0
- package/dist/models/oauth-client.js.map +1 -0
- package/dist/models/oauth-device-code.d.ts +55 -0
- package/dist/models/oauth-device-code.js +158 -0
- package/dist/models/oauth-device-code.js.map +1 -0
- package/dist/models/oauth-refresh-token.d.ts +31 -0
- package/dist/models/oauth-refresh-token.js +118 -0
- package/dist/models/oauth-refresh-token.js.map +1 -0
- package/dist/models/page-yjs-update.d.ts +35 -0
- package/dist/models/page-yjs-update.js +33 -0
- package/dist/models/page-yjs-update.js.map +1 -0
- package/dist/models/page.d.ts +200 -0
- package/dist/models/page.js +1117 -0
- package/dist/models/page.js.map +1 -0
- package/dist/models/personal-access-token.d.ts +30 -0
- package/dist/models/personal-access-token.js +107 -0
- package/dist/models/personal-access-token.js.map +1 -0
- package/dist/models/plugin-render-cache.d.ts +40 -0
- package/dist/models/plugin-render-cache.js +39 -0
- package/dist/models/plugin-render-cache.js.map +1 -0
- package/dist/models/revision.d.ts +145 -0
- package/dist/models/revision.js +241 -0
- package/dist/models/revision.js.map +1 -0
- package/dist/models/share.d.ts +38 -0
- package/dist/models/share.js +137 -0
- package/dist/models/share.js.map +1 -0
- package/dist/models/shareAccess.d.ts +20 -0
- package/dist/models/shareAccess.js +45 -0
- package/dist/models/shareAccess.js.map +1 -0
- package/dist/models/tracking.d.ts +14 -0
- package/dist/models/tracking.js +14 -0
- package/dist/models/tracking.js.map +1 -0
- package/dist/models/updatePost.d.ts +25 -0
- package/dist/models/updatePost.js +87 -0
- package/dist/models/updatePost.js.map +1 -0
- package/dist/models/user.d.ts +144 -0
- package/dist/models/user.js +681 -0
- package/dist/models/user.js.map +1 -0
- package/dist/models/watcher.d.ts +23 -0
- package/dist/models/watcher.js +75 -0
- package/dist/models/watcher.js.map +1 -0
- package/dist/notifications/attach.d.ts +63 -0
- package/dist/notifications/attach.js +426 -0
- package/dist/notifications/attach.js.map +1 -0
- package/dist/notifications/channel.d.ts +13 -0
- package/dist/notifications/channel.js +18 -0
- package/dist/notifications/channel.js.map +1 -0
- package/dist/plugin/index.d.ts +2 -0
- package/dist/plugin/index.js +6 -0
- package/dist/plugin/index.js.map +1 -0
- package/dist/plugin/plugin-context.d.ts +22 -0
- package/dist/plugin/plugin-context.js +126 -0
- package/dist/plugin/plugin-context.js.map +1 -0
- package/dist/plugin/plugin-manager.d.ts +164 -0
- package/dist/plugin/plugin-manager.js +328 -0
- package/dist/plugin/plugin-manager.js.map +1 -0
- package/dist/plugin/plugin-namespace.d.ts +28 -0
- package/dist/plugin/plugin-namespace.js +53 -0
- package/dist/plugin/plugin-namespace.js.map +1 -0
- package/dist/plugin/registries.d.ts +38 -0
- package/dist/plugin/registries.js +71 -0
- package/dist/plugin/registries.js.map +1 -0
- package/dist/plugin/schema-serializer.d.ts +34 -0
- package/dist/plugin/schema-serializer.js +122 -0
- package/dist/plugin/schema-serializer.js.map +1 -0
- package/dist/plugin/topo-sort.d.ts +15 -0
- package/dist/plugin/topo-sort.js +59 -0
- package/dist/plugin/topo-sort.js.map +1 -0
- package/dist/presence/attach.d.ts +36 -0
- package/dist/presence/attach.js +399 -0
- package/dist/presence/attach.js.map +1 -0
- package/dist/renderer/__fixtures__/echo-embed.d.ts +27 -0
- package/dist/renderer/__fixtures__/echo-embed.js +24 -0
- package/dist/renderer/__fixtures__/echo-embed.js.map +1 -0
- package/dist/renderer/cache/index.d.ts +60 -0
- package/dist/renderer/cache/index.js +219 -0
- package/dist/renderer/cache/index.js.map +1 -0
- package/dist/renderer/cache/mongodb-cache.d.ts +82 -0
- package/dist/renderer/cache/mongodb-cache.js +180 -0
- package/dist/renderer/cache/mongodb-cache.js.map +1 -0
- package/dist/renderer/cache/reservation.d.ts +20 -0
- package/dist/renderer/cache/reservation.js +115 -0
- package/dist/renderer/cache/reservation.js.map +1 -0
- package/dist/renderer/core/_mdast-walk.d.ts +35 -0
- package/dist/renderer/core/_mdast-walk.js +45 -0
- package/dist/renderer/core/_mdast-walk.js.map +1 -0
- package/dist/renderer/core/code-block-dispatch.d.ts +31 -0
- package/dist/renderer/core/code-block-dispatch.js +166 -0
- package/dist/renderer/core/code-block-dispatch.js.map +1 -0
- package/dist/renderer/core/code-blocks.d.ts +12 -0
- package/dist/renderer/core/code-blocks.js +32 -0
- package/dist/renderer/core/code-blocks.js.map +1 -0
- package/dist/renderer/core/embed-tags.d.ts +14 -0
- package/dist/renderer/core/embed-tags.js +154 -0
- package/dist/renderer/core/embed-tags.js.map +1 -0
- package/dist/renderer/core/headings.d.ts +16 -0
- package/dist/renderer/core/headings.js +31 -0
- package/dist/renderer/core/headings.js.map +1 -0
- package/dist/renderer/core/index.d.ts +65 -0
- package/dist/renderer/core/index.js +83 -0
- package/dist/renderer/core/index.js.map +1 -0
- package/dist/renderer/core/mention-resolve.d.ts +39 -0
- package/dist/renderer/core/mention-resolve.js +75 -0
- package/dist/renderer/core/mention-resolve.js.map +1 -0
- package/dist/renderer/core/mentions.d.ts +2 -0
- package/dist/renderer/core/mentions.js +83 -0
- package/dist/renderer/core/mentions.js.map +1 -0
- package/dist/renderer/core/syntax-highlight.d.ts +21 -0
- package/dist/renderer/core/syntax-highlight.js +64 -0
- package/dist/renderer/core/syntax-highlight.js.map +1 -0
- package/dist/renderer/core/url-inline-expand.d.ts +9 -0
- package/dist/renderer/core/url-inline-expand.js +157 -0
- package/dist/renderer/core/url-inline-expand.js.map +1 -0
- package/dist/renderer/core/wikilinks.d.ts +2 -0
- package/dist/renderer/core/wikilinks.js +118 -0
- package/dist/renderer/core/wikilinks.js.map +1 -0
- package/dist/renderer/index.d.ts +67 -0
- package/dist/renderer/index.js +99 -0
- package/dist/renderer/index.js.map +1 -0
- package/dist/renderer/pipeline.d.ts +134 -0
- package/dist/renderer/pipeline.js +203 -0
- package/dist/renderer/pipeline.js.map +1 -0
- package/dist/renderer/registry.d.ts +83 -0
- package/dist/renderer/registry.js +130 -0
- package/dist/renderer/registry.js.map +1 -0
- package/dist/renderer/serialize.d.ts +27 -0
- package/dist/renderer/serialize.js +46 -0
- package/dist/renderer/serialize.js.map +1 -0
- package/dist/renderer/version.d.ts +30 -0
- package/dist/renderer/version.js +34 -0
- package/dist/renderer/version.js.map +1 -0
- package/dist/routes/admin.d.ts +4 -0
- package/dist/routes/admin.js +17 -0
- package/dist/routes/admin.js.map +1 -0
- package/dist/routes/api/admin.d.ts +4 -0
- package/dist/routes/api/admin.js +37 -0
- package/dist/routes/api/admin.js.map +1 -0
- package/dist/routes/api/attachment.d.ts +4 -0
- package/dist/routes/api/attachment.js +19 -0
- package/dist/routes/api/attachment.js.map +1 -0
- package/dist/routes/api/bookmark.d.ts +4 -0
- package/dist/routes/api/bookmark.js +15 -0
- package/dist/routes/api/bookmark.js.map +1 -0
- package/dist/routes/api/comment.d.ts +4 -0
- package/dist/routes/api/comment.js +14 -0
- package/dist/routes/api/comment.js.map +1 -0
- package/dist/routes/api/index.d.ts +4 -0
- package/dist/routes/api/index.js +36 -0
- package/dist/routes/api/index.js.map +1 -0
- package/dist/routes/api/like.d.ts +4 -0
- package/dist/routes/api/like.js +13 -0
- package/dist/routes/api/like.js.map +1 -0
- package/dist/routes/api/notification.d.ts +4 -0
- package/dist/routes/api/notification.js +15 -0
- package/dist/routes/api/notification.js.map +1 -0
- package/dist/routes/api/page.d.ts +4 -0
- package/dist/routes/api/page.js +24 -0
- package/dist/routes/api/page.js.map +1 -0
- package/dist/routes/api/revision.d.ts +4 -0
- package/dist/routes/api/revision.js +14 -0
- package/dist/routes/api/revision.js.map +1 -0
- package/dist/routes/api/share.d.ts +4 -0
- package/dist/routes/api/share.js +16 -0
- package/dist/routes/api/share.js.map +1 -0
- package/dist/routes/api/version.d.ts +4 -0
- package/dist/routes/api/version.js +10 -0
- package/dist/routes/api/version.js.map +1 -0
- package/dist/routes/index.d.ts +4 -0
- package/dist/routes/index.js +71 -0
- package/dist/routes/index.js.map +1 -0
- package/dist/routes/login.d.ts +4 -0
- package/dist/routes/login.js +18 -0
- package/dist/routes/login.js.map +1 -0
- package/dist/routes/me.d.ts +4 -0
- package/dist/routes/me.js +24 -0
- package/dist/routes/me.js.map +1 -0
- package/dist/routes/ts-rest/admin/app.d.ts +4 -0
- package/dist/routes/ts-rest/admin/app.js +67 -0
- package/dist/routes/ts-rest/admin/app.js.map +1 -0
- package/dist/routes/ts-rest/admin/auth.d.ts +4 -0
- package/dist/routes/ts-rest/admin/auth.js +95 -0
- package/dist/routes/ts-rest/admin/auth.js.map +1 -0
- package/dist/routes/ts-rest/admin/index.d.ts +10 -0
- package/dist/routes/ts-rest/admin/index.js +35 -0
- package/dist/routes/ts-rest/admin/index.js.map +1 -0
- package/dist/routes/ts-rest/admin/mail.d.ts +4 -0
- package/dist/routes/ts-rest/admin/mail.js +156 -0
- package/dist/routes/ts-rest/admin/mail.js.map +1 -0
- package/dist/routes/ts-rest/admin/plugins.d.ts +4 -0
- package/dist/routes/ts-rest/admin/plugins.js +317 -0
- package/dist/routes/ts-rest/admin/plugins.js.map +1 -0
- package/dist/routes/ts-rest/admin/search.d.ts +4 -0
- package/dist/routes/ts-rest/admin/search.js +67 -0
- package/dist/routes/ts-rest/admin/search.js.map +1 -0
- package/dist/routes/ts-rest/admin/security.d.ts +4 -0
- package/dist/routes/ts-rest/admin/security.js +114 -0
- package/dist/routes/ts-rest/admin/security.js.map +1 -0
- package/dist/routes/ts-rest/admin/share.d.ts +4 -0
- package/dist/routes/ts-rest/admin/share.js +69 -0
- package/dist/routes/ts-rest/admin/share.js.map +1 -0
- package/dist/routes/ts-rest/admin/storage.d.ts +4 -0
- package/dist/routes/ts-rest/admin/storage.js +59 -0
- package/dist/routes/ts-rest/admin/storage.js.map +1 -0
- package/dist/routes/ts-rest/admin/users.d.ts +4 -0
- package/dist/routes/ts-rest/admin/users.js +215 -0
- package/dist/routes/ts-rest/admin/users.js.map +1 -0
- package/dist/routes/ts-rest/adminCrypto.d.ts +4 -0
- package/dist/routes/ts-rest/adminCrypto.js +111 -0
- package/dist/routes/ts-rest/adminCrypto.js.map +1 -0
- package/dist/routes/ts-rest/app.d.ts +4 -0
- package/dist/routes/ts-rest/app.js +23 -0
- package/dist/routes/ts-rest/app.js.map +1 -0
- package/dist/routes/ts-rest/attachment.d.ts +4 -0
- package/dist/routes/ts-rest/attachment.js +830 -0
- package/dist/routes/ts-rest/attachment.js.map +1 -0
- package/dist/routes/ts-rest/auth.d.ts +4 -0
- package/dist/routes/ts-rest/auth.js +70 -0
- package/dist/routes/ts-rest/auth.js.map +1 -0
- package/dist/routes/ts-rest/autocomplete.d.ts +30 -0
- package/dist/routes/ts-rest/autocomplete.js +189 -0
- package/dist/routes/ts-rest/autocomplete.js.map +1 -0
- package/dist/routes/ts-rest/backlink.d.ts +4 -0
- package/dist/routes/ts-rest/backlink.js +106 -0
- package/dist/routes/ts-rest/backlink.js.map +1 -0
- package/dist/routes/ts-rest/bookmark.d.ts +4 -0
- package/dist/routes/ts-rest/bookmark.js +189 -0
- package/dist/routes/ts-rest/bookmark.js.map +1 -0
- package/dist/routes/ts-rest/comment.d.ts +4 -0
- package/dist/routes/ts-rest/comment.js +217 -0
- package/dist/routes/ts-rest/comment.js.map +1 -0
- package/dist/routes/ts-rest/draft.d.ts +22 -0
- package/dist/routes/ts-rest/draft.js +200 -0
- package/dist/routes/ts-rest/draft.js.map +1 -0
- package/dist/routes/ts-rest/index.d.ts +4 -0
- package/dist/routes/ts-rest/index.js +103 -0
- package/dist/routes/ts-rest/index.js.map +1 -0
- package/dist/routes/ts-rest/installer.d.ts +4 -0
- package/dist/routes/ts-rest/installer.js +77 -0
- package/dist/routes/ts-rest/installer.js.map +1 -0
- package/dist/routes/ts-rest/me.d.ts +4 -0
- package/dist/routes/ts-rest/me.js +410 -0
- package/dist/routes/ts-rest/me.js.map +1 -0
- package/dist/routes/ts-rest/notification.d.ts +4 -0
- package/dist/routes/ts-rest/notification.js +241 -0
- package/dist/routes/ts-rest/notification.js.map +1 -0
- package/dist/routes/ts-rest/page-collab.d.ts +29 -0
- package/dist/routes/ts-rest/page-collab.js +90 -0
- package/dist/routes/ts-rest/page-collab.js.map +1 -0
- package/dist/routes/ts-rest/page-preview.d.ts +26 -0
- package/dist/routes/ts-rest/page-preview.js +80 -0
- package/dist/routes/ts-rest/page-preview.js.map +1 -0
- package/dist/routes/ts-rest/page.d.ts +4 -0
- package/dist/routes/ts-rest/page.js +676 -0
- package/dist/routes/ts-rest/page.js.map +1 -0
- package/dist/routes/ts-rest/presence.d.ts +30 -0
- package/dist/routes/ts-rest/presence.js +155 -0
- package/dist/routes/ts-rest/presence.js.map +1 -0
- package/dist/routes/ts-rest/revision.d.ts +4 -0
- package/dist/routes/ts-rest/revision.js +240 -0
- package/dist/routes/ts-rest/revision.js.map +1 -0
- package/dist/routes/ts-rest/search.d.ts +4 -0
- package/dist/routes/ts-rest/search.js +121 -0
- package/dist/routes/ts-rest/search.js.map +1 -0
- package/dist/routes/ts-rest/tokenAuth.d.ts +4 -0
- package/dist/routes/ts-rest/tokenAuth.js +94 -0
- package/dist/routes/ts-rest/tokenAuth.js.map +1 -0
- package/dist/routes/ts-rest/user.d.ts +4 -0
- package/dist/routes/ts-rest/user.js +307 -0
- package/dist/routes/ts-rest/user.js.map +1 -0
- package/dist/service/config.d.ts +50 -0
- package/dist/service/config.js +202 -0
- package/dist/service/config.js.map +1 -0
- package/dist/service/lru.d.ts +11 -0
- package/dist/service/lru.js +47 -0
- package/dist/service/lru.js.map +1 -0
- package/dist/service/mail.d.ts +107 -0
- package/dist/service/mail.js +220 -0
- package/dist/service/mail.js.map +1 -0
- package/dist/service/notification.d.ts +9 -0
- package/dist/service/notification.js +19 -0
- package/dist/service/notification.js.map +1 -0
- package/dist/service/presence.d.ts +219 -0
- package/dist/service/presence.js +602 -0
- package/dist/service/presence.js.map +1 -0
- package/dist/types/error.d.ts +13 -0
- package/dist/types/error.js +13 -0
- package/dist/types/error.js.map +1 -0
- package/dist/types/express.d.ts +34 -0
- package/dist/types/express.js +50 -0
- package/dist/types/express.js.map +1 -0
- package/dist/types/mongoose-extensions.d.ts +8 -0
- package/dist/types/mongoose-extensions.js +24 -0
- package/dist/types/mongoose-extensions.js.map +1 -0
- package/dist/util/accessTokenParser.d.ts +1 -0
- package/dist/util/accessTokenParser.js +34 -0
- package/dist/util/accessTokenParser.js.map +1 -0
- package/dist/util/activityDefine.d.ts +15 -0
- package/dist/util/activityDefine.js +52 -0
- package/dist/util/activityDefine.js.map +1 -0
- package/dist/util/admin-config.d.ts +57 -0
- package/dist/util/admin-config.js +99 -0
- package/dist/util/admin-config.js.map +1 -0
- package/dist/util/admin-pager.d.ts +24 -0
- package/dist/util/admin-pager.js +73 -0
- package/dist/util/admin-pager.js.map +1 -0
- package/dist/util/apiPaginate.d.ts +11 -0
- package/dist/util/apiPaginate.js +33 -0
- package/dist/util/apiPaginate.js.map +1 -0
- package/dist/util/apiResponse.d.ts +9 -0
- package/dist/util/apiResponse.js +23 -0
- package/dist/util/apiResponse.js.map +1 -0
- package/dist/util/auth.d.ts +11 -0
- package/dist/util/auth.js +48 -0
- package/dist/util/auth.js.map +1 -0
- package/dist/util/auto-watch.d.ts +35 -0
- package/dist/util/auto-watch.js +24 -0
- package/dist/util/auto-watch.js.map +1 -0
- package/dist/util/autocomplete-match.d.ts +44 -0
- package/dist/util/autocomplete-match.js +80 -0
- package/dist/util/autocomplete-match.js.map +1 -0
- package/dist/util/aws-config-migration.d.ts +11 -0
- package/dist/util/aws-config-migration.js +68 -0
- package/dist/util/aws-config-migration.js.map +1 -0
- package/dist/util/boot-reporter.d.ts +130 -0
- package/dist/util/boot-reporter.js +242 -0
- package/dist/util/boot-reporter.js.map +1 -0
- package/dist/util/collab-cap.d.ts +39 -0
- package/dist/util/collab-cap.js +90 -0
- package/dist/util/collab-cap.js.map +1 -0
- package/dist/util/crypto.d.ts +39 -0
- package/dist/util/crypto.js +105 -0
- package/dist/util/crypto.js.map +1 -0
- package/dist/util/dedup-users.d.ts +96 -0
- package/dist/util/dedup-users.js +149 -0
- package/dist/util/dedup-users.js.map +1 -0
- package/dist/util/editor-cap-counter.d.ts +90 -0
- package/dist/util/editor-cap-counter.js +175 -0
- package/dist/util/editor-cap-counter.js.map +1 -0
- package/dist/util/fileUploader.d.ts +55 -0
- package/dist/util/fileUploader.js +70 -0
- package/dist/util/fileUploader.js.map +1 -0
- package/dist/util/formUtil.d.ts +2 -0
- package/dist/util/formUtil.js +15 -0
- package/dist/util/formUtil.js.map +1 -0
- package/dist/util/githubAuth.d.ts +2 -0
- package/dist/util/githubAuth.js +82 -0
- package/dist/util/githubAuth.js.map +1 -0
- package/dist/util/googleAuth.d.ts +2 -0
- package/dist/util/googleAuth.js +85 -0
- package/dist/util/googleAuth.js.map +1 -0
- package/dist/util/jwt.d.ts +50 -0
- package/dist/util/jwt.js +127 -0
- package/dist/util/jwt.js.map +1 -0
- package/dist/util/linkDetector.d.ts +3 -0
- package/dist/util/linkDetector.js +91 -0
- package/dist/util/linkDetector.js.map +1 -0
- package/dist/util/mail-token.d.ts +24 -0
- package/dist/util/mail-token.js +117 -0
- package/dist/util/mail-token.js.map +1 -0
- package/dist/util/mailer.d.ts +7 -0
- package/dist/util/mailer.js +98 -0
- package/dist/util/mailer.js.map +1 -0
- package/dist/util/map-duplicate-key-error.d.ts +26 -0
- package/dist/util/map-duplicate-key-error.js +41 -0
- package/dist/util/map-duplicate-key-error.js.map +1 -0
- package/dist/util/mongoose-paginate.d.ts +10 -0
- package/dist/util/mongoose-paginate.js +23 -0
- package/dist/util/mongoose-paginate.js.map +1 -0
- package/dist/util/notifications-token.d.ts +35 -0
- package/dist/util/notifications-token.js +140 -0
- package/dist/util/notifications-token.js.map +1 -0
- package/dist/util/oauth-client-seed.d.ts +2 -0
- package/dist/util/oauth-client-seed.js +48 -0
- package/dist/util/oauth-client-seed.js.map +1 -0
- package/dist/util/oauth-redirect-uri.d.ts +2 -0
- package/dist/util/oauth-redirect-uri.js +55 -0
- package/dist/util/oauth-redirect-uri.js.map +1 -0
- package/dist/util/page-response.d.ts +113 -0
- package/dist/util/page-response.js +154 -0
- package/dist/util/page-response.js.map +1 -0
- package/dist/util/page-search-index.d.ts +19 -0
- package/dist/util/page-search-index.js +91 -0
- package/dist/util/page-search-index.js.map +1 -0
- package/dist/util/page-status-migration.d.ts +23 -0
- package/dist/util/page-status-migration.js +48 -0
- package/dist/util/page-status-migration.js.map +1 -0
- package/dist/util/path.d.ts +2 -0
- package/dist/util/path.js +12 -0
- package/dist/util/path.js.map +1 -0
- package/dist/util/pkce.d.ts +13 -0
- package/dist/util/pkce.js +30 -0
- package/dist/util/pkce.js.map +1 -0
- package/dist/util/presence-token.d.ts +21 -0
- package/dist/util/presence-token.js +120 -0
- package/dist/util/presence-token.js.map +1 -0
- package/dist/util/rate-limit.d.ts +67 -0
- package/dist/util/rate-limit.js +87 -0
- package/dist/util/rate-limit.js.map +1 -0
- package/dist/util/rebuild-backlink.d.ts +25 -0
- package/dist/util/rebuild-backlink.js +7 -0
- package/dist/util/rebuild-backlink.js.map +1 -0
- package/dist/util/rebuild-renderer.d.ts +31 -0
- package/dist/util/rebuild-renderer.js +7 -0
- package/dist/util/rebuild-renderer.js.map +1 -0
- package/dist/util/redis-opts.d.ts +17 -0
- package/dist/util/redis-opts.js +40 -0
- package/dist/util/redis-opts.js.map +1 -0
- package/dist/util/regex.d.ts +2 -0
- package/dist/util/regex.js +8 -0
- package/dist/util/regex.js.map +1 -0
- package/dist/util/search-rebuild.d.ts +18 -0
- package/dist/util/search-rebuild.js +28 -0
- package/dist/util/search-rebuild.js.map +1 -0
- package/dist/util/ssr.d.ts +3 -0
- package/dist/util/ssr.js +9 -0
- package/dist/util/ssr.js.map +1 -0
- package/dist/util/storage-copy.d.ts +40 -0
- package/dist/util/storage-copy.js +123 -0
- package/dist/util/storage-copy.js.map +1 -0
- package/dist/util/ts-rest-helpers.d.ts +110 -0
- package/dist/util/ts-rest-helpers.js +110 -0
- package/dist/util/ts-rest-helpers.js.map +1 -0
- package/dist/util/url.d.ts +1 -0
- package/dist/util/url.js +11 -0
- package/dist/util/url.js.map +1 -0
- package/dist/util/user-code.d.ts +10 -0
- package/dist/util/user-code.js +55 -0
- package/dist/util/user-code.js.map +1 -0
- package/dist/util/view.d.ts +10 -0
- package/dist/util/view.js +99 -0
- package/dist/util/view.js.map +1 -0
- package/dist/util/watcher-backfill.d.ts +30 -0
- package/dist/util/watcher-backfill.js +43 -0
- package/dist/util/watcher-backfill.js.map +1 -0
- package/dist/util/ws-token.d.ts +24 -0
- package/dist/util/ws-token.js +134 -0
- package/dist/util/ws-token.js.map +1 -0
- package/package.json +106 -0
|
@@ -0,0 +1,48 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* feature-watch-autosubscribe — auto-watch helper.
|
|
3
|
+
*
|
|
4
|
+
* When a user participates in a page (creates it, saves a new revision, or
|
|
5
|
+
* comments), we materialise an explicit `Watcher(STATUS_WATCH)` row so the
|
|
6
|
+
* notification fan-out — now watcher-only (see
|
|
7
|
+
* `models/activity.ts:getNotificationTargetUsers`) — reaches them, and so
|
|
8
|
+
* they can plainly unwatch later.
|
|
9
|
+
*
|
|
10
|
+
* Semantics (single source of truth for all three call sites):
|
|
11
|
+
* - An existing IGNORE row is respected: never overwrite it (the user
|
|
12
|
+
* explicitly opted out). No-op, `newlyWatching = false`.
|
|
13
|
+
* - An existing WATCH row: no-op, `newlyWatching = false`.
|
|
14
|
+
* - No row at all: create a WATCH row, `newlyWatching = true`.
|
|
15
|
+
*
|
|
16
|
+
* `Watcher.upsertWatcher` is intentionally NOT used here: it does a
|
|
17
|
+
* `findOneAndUpdate({ user, target }, { status })` with `upsert`, which
|
|
18
|
+
* stomps an existing IGNORE back to WATCH. We must branch on the existing
|
|
19
|
+
* row's status first.
|
|
20
|
+
*
|
|
21
|
+
* The `target` is always a Page (`targetModel = 'Page'`) for the current
|
|
22
|
+
* call sites; this matches `Activity` / `Watcher` usage elsewhere.
|
|
23
|
+
*/
|
|
24
|
+
import type { Types } from 'mongoose';
|
|
25
|
+
import type { WatcherModel } from '../models/watcher';
|
|
26
|
+
export interface AutoWatchResult {
|
|
27
|
+
/** true only when this call created a brand-new WATCH row. */
|
|
28
|
+
newlyWatching: boolean;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Materialise a WATCH watcher row for `userId` on `pageId`, respecting an
|
|
32
|
+
* existing IGNORE opt-out. Returns whether a new WATCH row was created so
|
|
33
|
+
* callers (e.g. the comment handler) can surface a "now watching" hint.
|
|
34
|
+
*/
|
|
35
|
+
export declare function autoWatchPage(Watcher: WatcherModel, userId: Types.ObjectId, pageId: Types.ObjectId): Promise<AutoWatchResult>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.autoWatchPage = autoWatchPage;
|
|
4
|
+
const TARGET_MODEL_PAGE = 'Page';
|
|
5
|
+
/**
|
|
6
|
+
* Materialise a WATCH watcher row for `userId` on `pageId`, respecting an
|
|
7
|
+
* existing IGNORE opt-out. Returns whether a new WATCH row was created so
|
|
8
|
+
* callers (e.g. the comment handler) can surface a "now watching" hint.
|
|
9
|
+
*/
|
|
10
|
+
async function autoWatchPage(Watcher, userId, pageId) {
|
|
11
|
+
const existing = await Watcher.findByUserIdAndTargetId(userId, pageId);
|
|
12
|
+
if (existing) {
|
|
13
|
+
// Either IGNORE (respect opt-out) or already WATCH — nothing to do.
|
|
14
|
+
return { newlyWatching: false };
|
|
15
|
+
}
|
|
16
|
+
await Watcher.create({
|
|
17
|
+
user: userId,
|
|
18
|
+
targetModel: TARGET_MODEL_PAGE,
|
|
19
|
+
target: pageId,
|
|
20
|
+
status: Watcher.STATUS_WATCH,
|
|
21
|
+
});
|
|
22
|
+
return { newlyWatching: true };
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=auto-watch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-watch.js","sourceRoot":"","sources":["../../src/util/auto-watch.ts"],"names":[],"mappings":";;AAsCA,sCAcC;AA1BD,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAOjC;;;;GAIG;AACI,KAAK,UAAU,aAAa,CAAC,OAAqB,EAAE,MAAsB,EAAE,MAAsB;IACvG,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvE,IAAI,QAAQ,EAAE,CAAC;QACb,oEAAoE;QACpE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,MAAM,OAAO,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,iBAAiB;QAC9B,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,OAAO,CAAC,YAAY;KAC7B,CAAC,CAAC;IACH,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RFC-0004 Phase 5 — pure matching / scoring for autocomplete.
|
|
3
|
+
*
|
|
4
|
+
* The autocomplete endpoints over-fetch a candidate set from Mongo
|
|
5
|
+
* (a case-insensitive substring query is the widest filter the index
|
|
6
|
+
* can serve cheaply) and then rank it here. Ranking is the RFC's
|
|
7
|
+
* three-tier order — **prefix > substring > fuzzy** — applied across
|
|
8
|
+
* the per-entity fields, each field carrying its own weight:
|
|
9
|
+
*
|
|
10
|
+
* - users: `username` (highest) > display name > email-local-part
|
|
11
|
+
* - pages: full `path` (highest) > path leaf ("title")
|
|
12
|
+
*
|
|
13
|
+
* Keeping this logic as a pure, field-agnostic function makes the
|
|
14
|
+
* tiering testable without a database and lets both endpoints share
|
|
15
|
+
* one implementation.
|
|
16
|
+
*/
|
|
17
|
+
/** Match tier, best first. `null` means the candidate does not match. */
|
|
18
|
+
export type MatchTier = 'prefix' | 'substring' | 'fuzzy' | null;
|
|
19
|
+
/**
|
|
20
|
+
* Classify how `query` matches `text` (both compared lower-cased).
|
|
21
|
+
* - `prefix` — `text` starts with `query`.
|
|
22
|
+
* - `substring` — `query` appears somewhere inside `text`.
|
|
23
|
+
* - `fuzzy` — every `query` character appears in `text` in order
|
|
24
|
+
* (subsequence match), e.g. `apc` ⊑ `api-spec`.
|
|
25
|
+
* - `null` — no match.
|
|
26
|
+
*/
|
|
27
|
+
export declare function classifyMatch(text: string, query: string): MatchTier;
|
|
28
|
+
/**
|
|
29
|
+
* A single weighted field of a candidate. `weight` is added to the
|
|
30
|
+
* tier score so, within one tier, higher-weight fields rank first.
|
|
31
|
+
*/
|
|
32
|
+
export interface ScoredField {
|
|
33
|
+
text: string;
|
|
34
|
+
weight: number;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Score a candidate against `query` over its weighted fields. The
|
|
38
|
+
* candidate's score is the best (highest) field score; a candidate
|
|
39
|
+
* with no matching field scores 0 and should be dropped.
|
|
40
|
+
*
|
|
41
|
+
* A short bonus rewards exact-length prefix matches (the typed query
|
|
42
|
+
* *is* the field) so e.g. typing `@bob` floats `bob` above `bobby`.
|
|
43
|
+
*/
|
|
44
|
+
export declare function scoreCandidate(fields: ScoredField[], query: string): number;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* RFC-0004 Phase 5 — pure matching / scoring for autocomplete.
|
|
4
|
+
*
|
|
5
|
+
* The autocomplete endpoints over-fetch a candidate set from Mongo
|
|
6
|
+
* (a case-insensitive substring query is the widest filter the index
|
|
7
|
+
* can serve cheaply) and then rank it here. Ranking is the RFC's
|
|
8
|
+
* three-tier order — **prefix > substring > fuzzy** — applied across
|
|
9
|
+
* the per-entity fields, each field carrying its own weight:
|
|
10
|
+
*
|
|
11
|
+
* - users: `username` (highest) > display name > email-local-part
|
|
12
|
+
* - pages: full `path` (highest) > path leaf ("title")
|
|
13
|
+
*
|
|
14
|
+
* Keeping this logic as a pure, field-agnostic function makes the
|
|
15
|
+
* tiering testable without a database and lets both endpoints share
|
|
16
|
+
* one implementation.
|
|
17
|
+
*/
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.classifyMatch = classifyMatch;
|
|
20
|
+
exports.scoreCandidate = scoreCandidate;
|
|
21
|
+
/**
|
|
22
|
+
* Classify how `query` matches `text` (both compared lower-cased).
|
|
23
|
+
* - `prefix` — `text` starts with `query`.
|
|
24
|
+
* - `substring` — `query` appears somewhere inside `text`.
|
|
25
|
+
* - `fuzzy` — every `query` character appears in `text` in order
|
|
26
|
+
* (subsequence match), e.g. `apc` ⊑ `api-spec`.
|
|
27
|
+
* - `null` — no match.
|
|
28
|
+
*/
|
|
29
|
+
function classifyMatch(text, query) {
|
|
30
|
+
if (query.length === 0)
|
|
31
|
+
return null;
|
|
32
|
+
const t = text.toLowerCase();
|
|
33
|
+
const q = query.toLowerCase();
|
|
34
|
+
if (t.startsWith(q))
|
|
35
|
+
return 'prefix';
|
|
36
|
+
if (t.includes(q))
|
|
37
|
+
return 'substring';
|
|
38
|
+
return isSubsequence(q, t) ? 'fuzzy' : null;
|
|
39
|
+
}
|
|
40
|
+
/** True when every char of `needle` appears in `haystack` in order. */
|
|
41
|
+
function isSubsequence(needle, haystack) {
|
|
42
|
+
let i = 0;
|
|
43
|
+
for (let j = 0; j < haystack.length && i < needle.length; j += 1) {
|
|
44
|
+
if (haystack[j] === needle[i])
|
|
45
|
+
i += 1;
|
|
46
|
+
}
|
|
47
|
+
return i === needle.length;
|
|
48
|
+
}
|
|
49
|
+
/** Base score per tier. Wider gaps than the field weights so a better
|
|
50
|
+
* tier on a lower-weight field still outranks a worse tier on a
|
|
51
|
+
* higher-weight field. */
|
|
52
|
+
const TIER_SCORE = {
|
|
53
|
+
prefix: 300,
|
|
54
|
+
substring: 200,
|
|
55
|
+
fuzzy: 100,
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Score a candidate against `query` over its weighted fields. The
|
|
59
|
+
* candidate's score is the best (highest) field score; a candidate
|
|
60
|
+
* with no matching field scores 0 and should be dropped.
|
|
61
|
+
*
|
|
62
|
+
* A short bonus rewards exact-length prefix matches (the typed query
|
|
63
|
+
* *is* the field) so e.g. typing `@bob` floats `bob` above `bobby`.
|
|
64
|
+
*/
|
|
65
|
+
function scoreCandidate(fields, query) {
|
|
66
|
+
let best = 0;
|
|
67
|
+
for (const field of fields) {
|
|
68
|
+
const tier = classifyMatch(field.text, query);
|
|
69
|
+
if (tier === null)
|
|
70
|
+
continue;
|
|
71
|
+
let score = TIER_SCORE[tier] + field.weight;
|
|
72
|
+
if (tier === 'prefix' && field.text.toLowerCase() === query.toLowerCase()) {
|
|
73
|
+
score += 50; // exact full-field match
|
|
74
|
+
}
|
|
75
|
+
if (score > best)
|
|
76
|
+
best = score;
|
|
77
|
+
}
|
|
78
|
+
return best;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=autocomplete-match.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autocomplete-match.js","sourceRoot":"","sources":["../../src/util/autocomplete-match.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;AAaH,sCAOC;AAqCD,wCAYC;AAhED;;;;;;;GAOG;AACH,SAAgB,aAAa,CAAC,IAAY,EAAE,KAAa;IACvD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC7B,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC9B,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC;IACrC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,WAAW,CAAC;IACtC,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9C,CAAC;AAED,uEAAuE;AACvE,SAAS,aAAa,CAAC,MAAc,EAAE,QAAgB;IACrD,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACjE,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;YAAE,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC;AAC7B,CAAC;AAED;;2BAE2B;AAC3B,MAAM,UAAU,GAA6C;IAC3D,MAAM,EAAE,GAAG;IACX,SAAS,EAAE,GAAG;IACd,KAAK,EAAE,GAAG;CACX,CAAC;AAWF;;;;;;;GAOG;AACH,SAAgB,cAAc,CAAC,MAAqB,EAAE,KAAa;IACjE,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9C,IAAI,IAAI,KAAK,IAAI;YAAE,SAAS;QAC5B,IAAI,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5C,IAAI,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YAC1E,KAAK,IAAI,EAAE,CAAC,CAAC,yBAAyB;QACxC,CAAC;QACD,IAAI,KAAK,GAAG,IAAI;YAAE,IAAI,GAAG,KAAK,CAAC;IACjC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
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>;
|
|
@@ -0,0 +1,68 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TTY-aware boot reporter (feature-boot-progress-ui, Part 1).
|
|
3
|
+
*
|
|
4
|
+
* Wraps the existing `step()` boot sequence in `crowi/index.ts` and groups
|
|
5
|
+
* the 13 init steps + the server start steps into four layers
|
|
6
|
+
* (core / config / services / server). Each layer is shown as:
|
|
7
|
+
*
|
|
8
|
+
* - TTY: a live spinner that resolves to `✓ <layer> (Nms)` and a final
|
|
9
|
+
* `🚀 API ready <url>` banner.
|
|
10
|
+
* - non-TTY: a structured, grep-able one-line log per layer
|
|
11
|
+
* (`[boot] core ok (412ms)`), no cursor control / re-draw.
|
|
12
|
+
*
|
|
13
|
+
* In both modes a machine-readable marker is emitted on exactly one line at
|
|
14
|
+
* the end of boot: `@@crowi:ready api <url>` on success, or
|
|
15
|
+
* `@@crowi:fail api <reason>` when boot aborts (e.g. the database is
|
|
16
|
+
* unreachable). These two markers are the only contract `scripts/dev.mjs`
|
|
17
|
+
* depends on — kept separate from the human-facing banner so wording can
|
|
18
|
+
* change freely. On the fail marker the dev launcher tears the whole tree
|
|
19
|
+
* (api · web · deps) down instead of leaving web up against a dead api.
|
|
20
|
+
*
|
|
21
|
+
* The reporter is intentionally `debug`-independent: it writes to stdout
|
|
22
|
+
* directly so operators see boot progress without `DEBUG=crowi:*`. When
|
|
23
|
+
* `DEBUG` is set we degrade to plain mode (see {@link createBootReporter}) so
|
|
24
|
+
* spinner re-draws never interleave with debug output.
|
|
25
|
+
*
|
|
26
|
+
* Pure helpers (marker formatting/parsing, plain-line formatting, duration
|
|
27
|
+
* formatting, spinner frame, ANSI escapes) are exported so they can be
|
|
28
|
+
* unit-tested without a real TTY.
|
|
29
|
+
*/
|
|
30
|
+
/** Boot layers, in execution order. */
|
|
31
|
+
export type BootLayer = 'core' | 'config' | 'services' | 'server';
|
|
32
|
+
/** Stable, machine-readable readiness marker prefix. Shared contract with `scripts/dev.mjs`. */
|
|
33
|
+
export declare const READY_MARKER_PREFIX = "@@crowi:ready";
|
|
34
|
+
/** ANSI escape fragments — bundled so tests can assert on exact bytes. */
|
|
35
|
+
export declare const ANSI: {
|
|
36
|
+
readonly hideCursor: "\u001B[?25l";
|
|
37
|
+
readonly showCursor: "\u001B[?25h";
|
|
38
|
+
readonly clearLine: "\u001B[2K";
|
|
39
|
+
readonly cursorStart: "\r";
|
|
40
|
+
readonly dim: "\u001B[2m";
|
|
41
|
+
readonly green: "\u001B[32m";
|
|
42
|
+
readonly cyan: "\u001B[36m";
|
|
43
|
+
readonly bold: "\u001B[1m";
|
|
44
|
+
readonly reset: "\u001B[0m";
|
|
45
|
+
};
|
|
46
|
+
/** Format a duration as a compact `(Nms)` / `(N.Ns)` token. */
|
|
47
|
+
export declare function formatDuration(ms: number): string;
|
|
48
|
+
/** Spinner frame for a given tick (wraps around the frame list). */
|
|
49
|
+
export declare function spinnerFrame(tick: number): string;
|
|
50
|
+
/** Build the `@@crowi:ready <service> <url>` marker line (no trailing newline). */
|
|
51
|
+
export declare function formatReadyMarker(service: string, url: string): string;
|
|
52
|
+
/**
|
|
53
|
+
* Parse a `@@crowi:ready <service> <url>` marker out of an arbitrary output
|
|
54
|
+
* line (it may be prefixed by turbo's `api:dev: ` etc.). Returns null when the
|
|
55
|
+
* line carries no marker. Shared logic mirrored in `scripts/dev.mjs`.
|
|
56
|
+
*/
|
|
57
|
+
export declare function parseReadyMarker(line: string): {
|
|
58
|
+
service: string;
|
|
59
|
+
url: string;
|
|
60
|
+
} | null;
|
|
61
|
+
/** Stable, machine-readable boot-failure marker prefix. Shared contract with `scripts/dev.mjs`. */
|
|
62
|
+
export declare const FAIL_MARKER_PREFIX = "@@crowi:fail";
|
|
63
|
+
/**
|
|
64
|
+
* Build the `@@crowi:fail <service> <reason>` marker line (no trailing newline).
|
|
65
|
+
* The reason is collapsed to a single line so the marker is always parseable
|
|
66
|
+
* off one output line.
|
|
67
|
+
*/
|
|
68
|
+
export declare function formatFailMarker(service: string, reason: string): string;
|
|
69
|
+
/**
|
|
70
|
+
* Parse a `@@crowi:fail <service> <reason…>` marker out of an arbitrary output
|
|
71
|
+
* line (it may be prefixed by turbo's `api:dev: `). `service` is the first
|
|
72
|
+
* token; `reason` is the remainder (may be empty). Returns null when the line
|
|
73
|
+
* carries no marker. Mirrored in `scripts/dev.mjs` so the dev launcher can tear
|
|
74
|
+
* the whole tree down instead of leaving web up against a dead api.
|
|
75
|
+
*/
|
|
76
|
+
export declare function parseFailMarker(line: string): {
|
|
77
|
+
service: string;
|
|
78
|
+
reason: string;
|
|
79
|
+
} | null;
|
|
80
|
+
/** Non-TTY structured layer line: `[boot] core ok (412ms)`. */
|
|
81
|
+
export declare function formatPlainLayerLine(layer: BootLayer, ms: number): string;
|
|
82
|
+
/** Non-TTY final line: `[boot] ready in 1.2s` (total boot time). */
|
|
83
|
+
export declare function formatPlainReadyLine(totalMs: number): string;
|
|
84
|
+
export interface BootReporter {
|
|
85
|
+
/** Start a layer (begins the spinner in TTY mode). */
|
|
86
|
+
beginLayer(layer: BootLayer): void;
|
|
87
|
+
/** Mark the active layer done and print its elapsed time. */
|
|
88
|
+
endLayer(): void;
|
|
89
|
+
/**
|
|
90
|
+
* Emit a warning/error line without corrupting the live spinner: clears the
|
|
91
|
+
* current spinner line, writes the message, then re-arms the spinner.
|
|
92
|
+
*/
|
|
93
|
+
note(write: () => void): void;
|
|
94
|
+
/**
|
|
95
|
+
* Finish boot: stops any spinner, prints the human banner + the machine
|
|
96
|
+
* readiness marker. `service`/`url` feed the marker; `url` also the banner.
|
|
97
|
+
*/
|
|
98
|
+
finish(service: string, url: string): void;
|
|
99
|
+
/**
|
|
100
|
+
* Idempotent teardown for the failure path: stops any running spinner,
|
|
101
|
+
* clears the current spinner line and restores the cursor. Safe to call
|
|
102
|
+
* multiple times (e.g. from a try/finally *and* from `exitOnError`). Must run
|
|
103
|
+
* before a fatal `console.error` so the spinner doesn't overwrite the stack
|
|
104
|
+
* trace and the hidden cursor is restored before the process exits.
|
|
105
|
+
*/
|
|
106
|
+
dispose(): void;
|
|
107
|
+
}
|
|
108
|
+
export interface CreateBootReporterOptions {
|
|
109
|
+
/** Output sink. Defaults to `process.stdout`. */
|
|
110
|
+
stream?: NodeJS.WriteStream;
|
|
111
|
+
/** Force TTY/plain mode (tests). Defaults to `stream.isTTY`. */
|
|
112
|
+
isTTY?: boolean;
|
|
113
|
+
/**
|
|
114
|
+
* When DEBUG is active, plain mode is forced so spinner re-draws don't
|
|
115
|
+
* interleave with debug output. Defaults to reading `process.env.DEBUG`.
|
|
116
|
+
*/
|
|
117
|
+
debugEnabled?: boolean;
|
|
118
|
+
/**
|
|
119
|
+
* Suppress ALL output (progress lines, banner, readiness marker). Used by
|
|
120
|
+
* the test harness, where each of the 100+ test files boots Crowi and the
|
|
121
|
+
* per-layer `[boot] … ok` lines would otherwise flood the jest output.
|
|
122
|
+
* Defaults to `false`.
|
|
123
|
+
*/
|
|
124
|
+
quiet?: boolean;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Construct the boot reporter. In TTY mode it animates a spinner per layer; in
|
|
128
|
+
* plain mode (non-TTY, or `DEBUG` set) it emits one structured line per layer.
|
|
129
|
+
*/
|
|
130
|
+
export declare function createBootReporter(options?: CreateBootReporterOptions): BootReporter;
|