@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,276 @@
|
|
|
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.MigrationRunner = exports.MigrationRunnerCore = exports.noopProgress = void 0;
|
|
7
|
+
const node_os_1 = __importDefault(require("node:os"));
|
|
8
|
+
const debug_1 = __importDefault(require("debug"));
|
|
9
|
+
const debug = (0, debug_1.default)('crowi:migration:runner');
|
|
10
|
+
/** A no-op progress reporter — used by boot / tests that don't render progress. */
|
|
11
|
+
exports.noopProgress = {
|
|
12
|
+
setTotal: () => undefined,
|
|
13
|
+
increment: () => undefined,
|
|
14
|
+
setLabel: () => undefined,
|
|
15
|
+
};
|
|
16
|
+
/** Default logger: structured lines via `debug`, warnings/errors to console. */
|
|
17
|
+
function defaultLogger() {
|
|
18
|
+
return {
|
|
19
|
+
info: (message, ...args) => debug(message, ...args),
|
|
20
|
+
debug: (message, ...args) => debug(message, ...args),
|
|
21
|
+
warn: (message, ...args) => console.warn(`[crowi:migration] ${message}`, ...args),
|
|
22
|
+
error: (message, ...args) => console.error(`[crowi:migration] ${message}`, ...args),
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Builds the per-run `MigrationContext` from the booted Crowi instance.
|
|
27
|
+
* `broadcastForceReload` is wired through only when the caller (api boot)
|
|
28
|
+
* supplies it; the admin CLI leaves it undefined.
|
|
29
|
+
*/
|
|
30
|
+
function buildContext(crowi, opts) {
|
|
31
|
+
const db = crowi.getMongo().connection.db;
|
|
32
|
+
const rewritePageBody = async (pageId, newBody, options) => {
|
|
33
|
+
if (opts.dryRun)
|
|
34
|
+
return;
|
|
35
|
+
const Page = crowi.model('Page');
|
|
36
|
+
const User = crowi.model('User');
|
|
37
|
+
const page = await Page.findById(pageId).exec();
|
|
38
|
+
if (!page) {
|
|
39
|
+
opts.logger.warn(`rewritePageBody: page ${pageId} not found, skipping`);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
// Route through the updatePage-equivalent path: it repoints
|
|
43
|
+
// currentRevision and nulls yjsState / yjsCheckpointAt (page.ts), so the
|
|
44
|
+
// next onLoadDocument rebuilds the Y.Doc from the new body (§4.3.1).
|
|
45
|
+
const actingUserId = options?.userId ?? page.lastUpdateUser?.toString?.() ?? page.creator?.toString?.();
|
|
46
|
+
const user = actingUserId ? await User.findById(actingUserId).exec() : null;
|
|
47
|
+
await Page.updatePage(page, newBody, user, {});
|
|
48
|
+
};
|
|
49
|
+
const invalidateYjsPersistence = async (pageIds) => {
|
|
50
|
+
if (opts.dryRun || pageIds.length === 0)
|
|
51
|
+
return;
|
|
52
|
+
const Page = crowi.model('Page');
|
|
53
|
+
// Persistence-layer only: null the snapshot so the next onLoadDocument
|
|
54
|
+
// rebuilds from the current revision. No revision is pushed here (this is
|
|
55
|
+
// the no-body-rewrite case, e.g. after an out-of-band data fix).
|
|
56
|
+
await Page.updateMany({ _id: { $in: pageIds } }, { $set: { yjsState: null, yjsCheckpointAt: null } }).exec();
|
|
57
|
+
};
|
|
58
|
+
return {
|
|
59
|
+
db,
|
|
60
|
+
crowi,
|
|
61
|
+
logger: opts.logger,
|
|
62
|
+
dryRun: opts.dryRun,
|
|
63
|
+
progress: opts.progress,
|
|
64
|
+
rewritePageBody,
|
|
65
|
+
invalidateYjsPersistence,
|
|
66
|
+
broadcastForceReload: opts.broadcastForceReload,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Resolve a runner's effective options, filling in defaults.
|
|
71
|
+
*/
|
|
72
|
+
function resolveOptions(opts) {
|
|
73
|
+
return {
|
|
74
|
+
dryRun: opts.dryRun ?? false,
|
|
75
|
+
concurrency: opts.concurrency ?? 8,
|
|
76
|
+
appliedBy: opts.appliedBy ?? `admin-cli@${node_os_1.default.hostname()}`,
|
|
77
|
+
progress: opts.progress ?? exports.noopProgress,
|
|
78
|
+
logger: opts.logger ?? defaultLogger(),
|
|
79
|
+
broadcastForceReload: opts.broadcastForceReload,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* RFC-0008 §4.3 — the shared runner *core*.
|
|
84
|
+
*
|
|
85
|
+
* Holds the booted Crowi, the resolved options, the per-run
|
|
86
|
+
* `MigrationContext` (dry-run / progress / logger / Yjs invalidation), the
|
|
87
|
+
* SIGINT-aware abort flag, and the bounded-concurrency limiter. This is the
|
|
88
|
+
* "shared infrastructure" both namespaces ride on: `migrate` adds the
|
|
89
|
+
* `migrationApplications` reconciliation/record path on top (`MigrationRunner`
|
|
90
|
+
* below), while `rebuild` rides on the core alone with **no** audit-log
|
|
91
|
+
* coupling (`RebuildRunner` in `rebuild-runner.ts`).
|
|
92
|
+
*
|
|
93
|
+
* Keeping the record path out of the core is deliberate (§8.5: rebuilds have
|
|
94
|
+
* "no pending/applied concept"): a rebuild can never accidentally append to
|
|
95
|
+
* `migrationApplications`, and `MigrationRunner.apply` carries no `if (rebuild)`
|
|
96
|
+
* branch — the two namespaces are distinct subclasses, not flags on one path.
|
|
97
|
+
*/
|
|
98
|
+
class MigrationRunnerCore {
|
|
99
|
+
crowi;
|
|
100
|
+
opts;
|
|
101
|
+
ctx;
|
|
102
|
+
abortRequested = false;
|
|
103
|
+
sigintHandler = null;
|
|
104
|
+
constructor(crowi, options = {}) {
|
|
105
|
+
this.crowi = crowi;
|
|
106
|
+
this.opts = resolveOptions(options);
|
|
107
|
+
this.ctx = buildContext(crowi, this.opts);
|
|
108
|
+
}
|
|
109
|
+
/** True once a SIGINT has been received; long stages should wind down. */
|
|
110
|
+
get aborted() {
|
|
111
|
+
return this.abortRequested;
|
|
112
|
+
}
|
|
113
|
+
/** The shared per-run context handed to migration / rebuild callbacks. */
|
|
114
|
+
get context() {
|
|
115
|
+
return this.ctx;
|
|
116
|
+
}
|
|
117
|
+
get concurrency() {
|
|
118
|
+
return this.opts.concurrency;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Install a SIGINT handler so an in-progress run can stop between
|
|
122
|
+
* stages / units instead of leaving Mongo in an arbitrary state. Returns
|
|
123
|
+
* a disposer; safe to call when no handler is desired (tests pass none).
|
|
124
|
+
*/
|
|
125
|
+
installSigintHandler() {
|
|
126
|
+
if (this.sigintHandler)
|
|
127
|
+
return () => this.removeSigintHandler();
|
|
128
|
+
const handler = () => {
|
|
129
|
+
if (this.abortRequested)
|
|
130
|
+
return; // a second Ctrl-C — let it through to default
|
|
131
|
+
this.abortRequested = true;
|
|
132
|
+
this.opts.logger.warn('SIGINT received — finishing the current unit then stopping safely…');
|
|
133
|
+
};
|
|
134
|
+
this.sigintHandler = handler;
|
|
135
|
+
process.on('SIGINT', handler);
|
|
136
|
+
return () => this.removeSigintHandler();
|
|
137
|
+
}
|
|
138
|
+
removeSigintHandler() {
|
|
139
|
+
if (this.sigintHandler) {
|
|
140
|
+
process.off('SIGINT', this.sigintHandler);
|
|
141
|
+
this.sigintHandler = null;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Run a bounded-concurrency map over `items`, respecting the SIGINT abort
|
|
146
|
+
* flag (stops scheduling new work once aborted). Exposed so a stage's `fn`
|
|
147
|
+
* or a rebuild task can fan out per-document work through the shared
|
|
148
|
+
* concurrency limiter.
|
|
149
|
+
*/
|
|
150
|
+
async mapBounded(items, worker) {
|
|
151
|
+
const limit = Math.max(1, this.opts.concurrency);
|
|
152
|
+
let cursor = 0;
|
|
153
|
+
let processed = 0;
|
|
154
|
+
const runWorker = async () => {
|
|
155
|
+
while (cursor < items.length && !this.abortRequested) {
|
|
156
|
+
const index = cursor++;
|
|
157
|
+
await worker(items[index], index);
|
|
158
|
+
processed++;
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
await Promise.all(Array.from({ length: Math.min(limit, items.length) }, runWorker));
|
|
162
|
+
return { processed, interrupted: this.abortRequested };
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
exports.MigrationRunnerCore = MigrationRunnerCore;
|
|
166
|
+
/**
|
|
167
|
+
* The `migrate`-namespace runner. Adds the §6.2 reconciliation rules and the
|
|
168
|
+
* `migrationApplications` audit-log append on top of the shared core. The
|
|
169
|
+
* `rebuild` namespace does NOT extend this — it rides the core directly so it
|
|
170
|
+
* stays free of any applied/pending semantics (§8.5).
|
|
171
|
+
*/
|
|
172
|
+
class MigrationRunner extends MigrationRunnerCore {
|
|
173
|
+
/** Cheap pending probe. Never writes; safe to call on every boot (§4.2.1). */
|
|
174
|
+
async isPending(def) {
|
|
175
|
+
return def.isPending(this.context);
|
|
176
|
+
}
|
|
177
|
+
/** Rich, optional report for `plan`. Returns null when the migration has no `detect`. */
|
|
178
|
+
async detect(def) {
|
|
179
|
+
if (!def.detect)
|
|
180
|
+
return null;
|
|
181
|
+
return def.detect(this.context);
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Apply a single migration through the framework's reconciliation rules
|
|
185
|
+
* (§6.2): inspection (`isPending`) is the source of truth; the recorded
|
|
186
|
+
* state only affects which `result` label we append.
|
|
187
|
+
*
|
|
188
|
+
* - pending + no record → run → `applied`
|
|
189
|
+
* - pending + applied → re-run (warn) → `re-applied`
|
|
190
|
+
* - not pending + no record→ `detected-clean`
|
|
191
|
+
* - not pending + applied → no-op (consistent), no new record
|
|
192
|
+
*
|
|
193
|
+
* Appends one `migrationApplications` row per run (except the consistent
|
|
194
|
+
* no-op case). `dryRun` runs `detect`/probe only and records nothing.
|
|
195
|
+
*/
|
|
196
|
+
async apply(def) {
|
|
197
|
+
const MigrationApplication = this.crowi.model('MigrationApplication');
|
|
198
|
+
const startedAt = Date.now();
|
|
199
|
+
const pending = await this.isPending(def);
|
|
200
|
+
const latest = await MigrationApplication.latestFor(def.id);
|
|
201
|
+
const recordedApplied = latest?.result === 'applied' || latest?.result === 're-applied';
|
|
202
|
+
// not pending + applied → consistent; nothing to do, no new record.
|
|
203
|
+
if (!pending && recordedApplied) {
|
|
204
|
+
this.opts.logger.debug(`${def.id}: not pending and already applied — skipping`);
|
|
205
|
+
return { id: def.id, result: 'applied', durationMs: 0, stats: {} };
|
|
206
|
+
}
|
|
207
|
+
// not pending + no record → record detected-clean (fresh install path §9.2).
|
|
208
|
+
if (!pending) {
|
|
209
|
+
const durationMs = Date.now() - startedAt;
|
|
210
|
+
if (!this.opts.dryRun) {
|
|
211
|
+
await this.recordApplication(MigrationApplication, def, 'detected-clean', durationMs, {});
|
|
212
|
+
}
|
|
213
|
+
this.opts.logger.info(`${def.id}: detected-clean (nothing to migrate)`);
|
|
214
|
+
return { id: def.id, result: 'detected-clean', durationMs, stats: {} };
|
|
215
|
+
}
|
|
216
|
+
// pending: trust inspection. If already recorded applied, this is a
|
|
217
|
+
// re-run (§6.2) — log a warning and proceed.
|
|
218
|
+
const result = recordedApplied ? 're-applied' : 'applied';
|
|
219
|
+
if (recordedApplied) {
|
|
220
|
+
this.opts.logger.warn(`${def.id}: recorded as applied but inspection says pending — re-applying (trusting inspection, §6.2)`);
|
|
221
|
+
}
|
|
222
|
+
if (this.opts.dryRun) {
|
|
223
|
+
// Dry-run: run detect for a preview, run no stages, record nothing.
|
|
224
|
+
const report = await this.detect(def);
|
|
225
|
+
this.opts.logger.info(`${def.id}: dry-run — ${report?.summary ?? 'details unavailable (no detect)'}`);
|
|
226
|
+
return { id: def.id, result, durationMs: Date.now() - startedAt, stats: report?.counts ?? {} };
|
|
227
|
+
}
|
|
228
|
+
const stats = {};
|
|
229
|
+
let interrupted = false;
|
|
230
|
+
try {
|
|
231
|
+
for (const stage of def.stages) {
|
|
232
|
+
if (this.abortRequested) {
|
|
233
|
+
interrupted = true;
|
|
234
|
+
break;
|
|
235
|
+
}
|
|
236
|
+
this.opts.progress.setLabel(`${def.id}:${stage.name}`);
|
|
237
|
+
this.opts.logger.info(`${def.id}: stage ${stage.name} …`);
|
|
238
|
+
const stageResult = await stage.fn(this.context);
|
|
239
|
+
stats[stage.name] = { transformed: stageResult.transformed ?? 0, ...(stageResult.stats ?? {}) };
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
catch (err) {
|
|
243
|
+
const durationMs = Date.now() - startedAt;
|
|
244
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
245
|
+
await this.recordApplication(MigrationApplication, def, 'failed', durationMs, stats, message);
|
|
246
|
+
throw err;
|
|
247
|
+
}
|
|
248
|
+
const durationMs = Date.now() - startedAt;
|
|
249
|
+
if (interrupted) {
|
|
250
|
+
// Partial completion: record what we did so the next run's
|
|
251
|
+
// reconciliation has the audit trail; isPending will still report
|
|
252
|
+
// pending so the remaining work re-runs.
|
|
253
|
+
await this.recordApplication(MigrationApplication, def, result, durationMs, { ...stats, interrupted: true });
|
|
254
|
+
this.opts.logger.warn(`${def.id}: interrupted by SIGINT after partial completion — re-run to finish`);
|
|
255
|
+
return { id: def.id, result, durationMs, stats, interrupted: true };
|
|
256
|
+
}
|
|
257
|
+
await this.recordApplication(MigrationApplication, def, result, durationMs, stats);
|
|
258
|
+
this.opts.logger.info(`${def.id}: ${result} (${durationMs}ms)`);
|
|
259
|
+
return { id: def.id, result, durationMs, stats };
|
|
260
|
+
}
|
|
261
|
+
async recordApplication(MigrationApplication, def, result, durationMs, stats, error) {
|
|
262
|
+
await MigrationApplication.record({
|
|
263
|
+
migrationId: def.id,
|
|
264
|
+
fromVersion: def.fromVersion,
|
|
265
|
+
toVersion: def.toVersion,
|
|
266
|
+
layer: def.layer,
|
|
267
|
+
result,
|
|
268
|
+
durationMs,
|
|
269
|
+
stats,
|
|
270
|
+
appliedBy: this.opts.appliedBy,
|
|
271
|
+
error,
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
exports.MigrationRunner = MigrationRunner;
|
|
276
|
+
//# sourceMappingURL=runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/migration/runner.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyB;AACzB,kDAA0B;AAgB1B,MAAM,KAAK,GAAG,IAAA,eAAK,EAAC,wBAAwB,CAAC,CAAC;AA2C9C,mFAAmF;AACtE,QAAA,YAAY,GAAqB;IAC5C,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS;IACzB,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS;IAC1B,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS;CAC1B,CAAC;AAEF,gFAAgF;AAChF,SAAS,aAAa;IACpB,OAAO;QACL,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;QACnD,KAAK,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;QACpD,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC;QACjF,KAAK,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC;KACpF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CACnB,KAAY,EACZ,IAAmH;IAEnH,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAiB,CAAC;IAEzD,MAAM,eAAe,GAAG,KAAK,EAAE,MAAc,EAAE,OAAe,EAAE,OAAgC,EAAiB,EAAE;QACjH,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,MAAM,sBAAsB,CAAC,CAAC;YACxE,OAAO;QACT,CAAC;QACD,4DAA4D;QAC5D,yEAAyE;QACzE,qEAAqE;QACrE,MAAM,YAAY,GAAG,OAAO,EAAE,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC;QACxG,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,MAAM,wBAAwB,GAAG,KAAK,EAAE,OAAiB,EAAiB,EAAE;QAC1E,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAChD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjC,uEAAuE;QACvE,0EAA0E;QAC1E,iEAAiE;QACjE,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/G,CAAC,CAAC;IAEF,OAAO;QACL,EAAE;QACF,KAAK;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,eAAe;QACf,wBAAwB;QACxB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;KAChD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CACrB,IAAmB;IAEnB,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;QAC5B,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC;QAClC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,aAAa,iBAAE,CAAC,QAAQ,EAAE,EAAE;QACzD,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,oBAAY;QACvC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,aAAa,EAAE;QACtC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;KAChD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAa,mBAAmB;IACX,KAAK,CAAQ;IACb,IAAI,CAAoC;IAC1C,GAAG,CAAmB;IAC7B,cAAc,GAAG,KAAK,CAAC;IACzB,aAAa,GAAwB,IAAI,CAAC;IAElD,YAAY,KAAY,EAAE,UAAyB,EAAE;QACnD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,0EAA0E;IAC1E,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,0EAA0E;IAC1E,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,oBAAoB;QAClB,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAChE,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,IAAI,IAAI,CAAC,cAAc;gBAAE,OAAO,CAAC,8CAA8C;YAC/E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;QAC9F,CAAC,CAAC;QACF,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC7B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC1C,CAAC;IAEO,mBAAmB;QACzB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAC1C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAI,KAAmB,EAAE,MAAiD;QACxF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,SAAS,GAAG,KAAK,IAAmB,EAAE;YAC1C,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACrD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC;gBACvB,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;gBAClC,SAAS,EAAE,CAAC;YACd,CAAC;QACH,CAAC,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;QACpF,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;IACzD,CAAC;CACF;AAvED,kDAuEC;AAED;;;;;GAKG;AACH,MAAa,eAAgB,SAAQ,mBAAmB;IACtD,8EAA8E;IAC9E,KAAK,CAAC,SAAS,CAAC,GAAwB;QACtC,OAAO,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,yFAAyF;IACzF,KAAK,CAAC,MAAM,CAAC,GAAwB;QACnC,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAC7B,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,KAAK,CAAC,GAAwB;QAClC,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAA8B,CAAC;QACnG,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5D,MAAM,eAAe,GAAG,MAAM,EAAE,MAAM,KAAK,SAAS,IAAI,MAAM,EAAE,MAAM,KAAK,YAAY,CAAC;QAExF,oEAAoE;QACpE,IAAI,CAAC,OAAO,IAAI,eAAe,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE,8CAA8C,CAAC,CAAC;YAChF,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACrE,CAAC;QAED,6EAA6E;QAC7E,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,GAAG,EAAE,gBAAgB,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;YAC5F,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,uCAAuC,CAAC,CAAC;YACxE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACzE,CAAC;QAED,oEAAoE;QACpE,6CAA6C;QAC7C,MAAM,MAAM,GAAoB,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3E,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,6FAA6F,CAAC,CAAC;QAChI,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACrB,oEAAoE;YACpE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,eAAe,MAAM,EAAE,OAAO,IAAI,iCAAiC,EAAE,CAAC,CAAC;YACtG,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC;QACjG,CAAC;QAED,MAAM,KAAK,GAA4B,EAAE,CAAC;QAC1C,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC;YACH,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBACxB,WAAW,GAAG,IAAI,CAAC;oBACnB,MAAM;gBACR,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBACvD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,WAAW,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;gBAC1D,MAAM,WAAW,GAAgB,MAAM,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC9D,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,CAAC,WAAW,IAAI,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;YAClG,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC1C,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,MAAM,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9F,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAC1C,IAAI,WAAW,EAAE,CAAC;YAChB,2DAA2D;YAC3D,kEAAkE;YAClE,yCAAyC;YACzC,MAAM,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7G,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,qEAAqE,CAAC,CAAC;YACtG,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QACtE,CAAC;QAED,MAAM,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QACnF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,KAAK,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC;QAChE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACnD,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,oBAA+C,EAC/C,GAAwB,EACxB,MAAuB,EACvB,UAAkB,EAClB,KAA8B,EAC9B,KAAc;QAEd,MAAM,oBAAoB,CAAC,MAAM,CAAC;YAChC,WAAW,EAAE,GAAG,CAAC,EAAE;YACnB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,MAAM;YACN,UAAU;YACV,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;YAC9B,KAAK;SACN,CAAC,CAAC;IACL,CAAC;CACF;AAtHD,0CAsHC"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import type { mongo } from 'mongoose';
|
|
2
|
+
import type Crowi from '../crowi';
|
|
3
|
+
/** Raw mongo driver database handle, re-exported by mongoose (no direct `mongodb` dep). */
|
|
4
|
+
export type MigrationDb = mongo.Db;
|
|
5
|
+
/**
|
|
6
|
+
* RFC-0008 Migration Framework — core type definitions.
|
|
7
|
+
*
|
|
8
|
+
* A *migration* is a one-shot, forward-only transformation from one
|
|
9
|
+
* version's data shape to another's, applied at most once per dataset.
|
|
10
|
+
* Two layers are distinguished by `MigrationLayer`:
|
|
11
|
+
*
|
|
12
|
+
* - `boot` — lightweight / safe; applied automatically during the
|
|
13
|
+
* api boot sequence (`runBootMigrations`).
|
|
14
|
+
* - `preflight` — heavy / potentially destructive; invoked explicitly
|
|
15
|
+
* from `crowi-admin migrate apply` in a maintenance
|
|
16
|
+
* window. Boot only *probes* these (via `isPending`) and
|
|
17
|
+
* refuses to start when any is unapplied (§4.2.1/§4.2.7).
|
|
18
|
+
*
|
|
19
|
+
* Index building is deliberately NOT modelled here: per §9, unique indexes
|
|
20
|
+
* are declared on schemas and built by Mongoose's autoIndex. A migration's
|
|
21
|
+
* job is to *prepare data* (e.g. dedup) so autoIndex won't hit E11000 —
|
|
22
|
+
* hence there is no `build-index` stage and no `ownedIndexes`.
|
|
23
|
+
*/
|
|
24
|
+
export type MigrationLayer = 'boot' | 'preflight';
|
|
25
|
+
/**
|
|
26
|
+
* Minimal logger surface the runner hands to a migration. Backed by the
|
|
27
|
+
* runner's structured logger (console / `debug`); kept narrow so a
|
|
28
|
+
* migration can't reach into transport details.
|
|
29
|
+
*/
|
|
30
|
+
export interface MigrationLogger {
|
|
31
|
+
info(message: string, ...args: unknown[]): void;
|
|
32
|
+
warn(message: string, ...args: unknown[]): void;
|
|
33
|
+
error(message: string, ...args: unknown[]): void;
|
|
34
|
+
debug(message: string, ...args: unknown[]): void;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Progress sink for long-running stages. The CLI binds this to a live
|
|
38
|
+
* progress line; boot / tests bind it to a no-op or a counter.
|
|
39
|
+
*/
|
|
40
|
+
export interface ProgressReporter {
|
|
41
|
+
/** Declare the total unit count for the current stage (enables ETA). */
|
|
42
|
+
setTotal(total: number): void;
|
|
43
|
+
/** Advance the processed count by `delta` (default 1). */
|
|
44
|
+
increment(delta?: number): void;
|
|
45
|
+
/** Set a short human-readable label for the current item / sub-step. */
|
|
46
|
+
setLabel(label: string): void;
|
|
47
|
+
}
|
|
48
|
+
/** Result of a single stage's `fn`. Folded into the migration's `stats`. */
|
|
49
|
+
export interface StageResult {
|
|
50
|
+
/** Stage name (echoed for the application record / logs). */
|
|
51
|
+
name: string;
|
|
52
|
+
/** Rows / documents transformed by this stage (0 in dry-run). */
|
|
53
|
+
transformed?: number;
|
|
54
|
+
/** Free-form per-stage stats merged into `migrationApplications.stats`. */
|
|
55
|
+
stats?: Record<string, unknown>;
|
|
56
|
+
}
|
|
57
|
+
/** Rich, optional report returned by `detect` and shown by `migrate plan`. */
|
|
58
|
+
export interface DetectReport {
|
|
59
|
+
/** One-line summary (e.g. "42 duplicate username groups"). */
|
|
60
|
+
summary: string;
|
|
61
|
+
/** Optional structured counts for `--json` consumers. */
|
|
62
|
+
counts?: Record<string, number>;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Per-run context handed to `isPending` / `detect` / every stage `fn`.
|
|
66
|
+
*
|
|
67
|
+
* The Yjs-invalidation surface is split per §4.3.1:
|
|
68
|
+
* - `rewritePageBody` / `invalidateYjsPersistence` are *persistence-layer*
|
|
69
|
+
* operations available in **all layers** (they route through the
|
|
70
|
+
* `updatePage`-equivalent path: repoint `currentRevision` + null
|
|
71
|
+
* `yjsState` / `yjsCheckpointAt`, so the next `onLoadDocument` rebuilds
|
|
72
|
+
* the `Y.Doc` from the body).
|
|
73
|
+
* - `broadcastForceReload` is a *live* force-reload broadcast available
|
|
74
|
+
* **only in `layer='boot'`** migrations (api process with a live
|
|
75
|
+
* Hocuspocus handle). It is `undefined` in preflight (admin CLI is a
|
|
76
|
+
* separate, mongo-only process — see §4.3.1).
|
|
77
|
+
*/
|
|
78
|
+
export interface MigrationContext {
|
|
79
|
+
/** Raw mongo driver handle (for index-backed probes / aggregations). */
|
|
80
|
+
db: MigrationDb;
|
|
81
|
+
/** The booted Crowi instance — gives access to `crowi.model(...)`. */
|
|
82
|
+
crowi: Crowi;
|
|
83
|
+
logger: MigrationLogger;
|
|
84
|
+
/** Stages MUST no-op (no writes) when this is true. */
|
|
85
|
+
dryRun: boolean;
|
|
86
|
+
progress: ProgressReporter;
|
|
87
|
+
/**
|
|
88
|
+
* Persistence-layer Yjs invalidation (all layers): rewrite a page's body
|
|
89
|
+
* via the `updatePage`-equivalent path, repointing `currentRevision` and
|
|
90
|
+
* nulling `page.yjsState` / `yjsCheckpointAt`.
|
|
91
|
+
*/
|
|
92
|
+
rewritePageBody: (pageId: string, newBody: string, options?: RewritePageBodyOptions) => Promise<void>;
|
|
93
|
+
/**
|
|
94
|
+
* Persistence-layer Yjs invalidation without a body rewrite: null
|
|
95
|
+
* `yjsState` / `yjsCheckpointAt` for the given pages so the next
|
|
96
|
+
* `onLoadDocument` rebuilds from the current revision.
|
|
97
|
+
*/
|
|
98
|
+
invalidateYjsPersistence: (pageIds: string[]) => Promise<void>;
|
|
99
|
+
/**
|
|
100
|
+
* Live force-reload broadcast. Present ONLY in `layer='boot'` migrations
|
|
101
|
+
* (api process with a live Hocuspocus handle); `undefined` in preflight.
|
|
102
|
+
*/
|
|
103
|
+
broadcastForceReload?: (pageIds: string[]) => Promise<void>;
|
|
104
|
+
}
|
|
105
|
+
/** Options for `ctx.rewritePageBody`. */
|
|
106
|
+
export interface RewritePageBodyOptions {
|
|
107
|
+
/** Acting user id for the new revision (defaults to the page's lastUpdateUser). */
|
|
108
|
+
userId?: string;
|
|
109
|
+
}
|
|
110
|
+
/** A named, side-effecting transform. Index building is NOT a stage (§9). */
|
|
111
|
+
export interface MigrationStage {
|
|
112
|
+
/** Label for logging / progress (e.g. 'dedup-username'). */
|
|
113
|
+
name: string;
|
|
114
|
+
/** Must no-op when `ctx.dryRun` is true. */
|
|
115
|
+
fn: (ctx: MigrationContext) => Promise<StageResult>;
|
|
116
|
+
}
|
|
117
|
+
export interface MigrationDefinition {
|
|
118
|
+
/** Stable identifier. Convention: dateless kebab-case slug (§5.4). */
|
|
119
|
+
id: string;
|
|
120
|
+
/** Version range this migration covers (e.g. '1.x' → '2.0'). */
|
|
121
|
+
fromVersion: string;
|
|
122
|
+
toVersion: string;
|
|
123
|
+
layer: MigrationLayer;
|
|
124
|
+
/** Short, human-readable description (shown by `plan` / `list`). */
|
|
125
|
+
description: string;
|
|
126
|
+
/**
|
|
127
|
+
* Execution order within the same version range. Defaults to registry
|
|
128
|
+
* insertion order when omitted (§5.3).
|
|
129
|
+
*/
|
|
130
|
+
order?: number;
|
|
131
|
+
/** Side-effecting transforms, executed in declaration order. */
|
|
132
|
+
stages: MigrationStage[];
|
|
133
|
+
/**
|
|
134
|
+
* REQUIRED. A cheap pending probe — O(1) or index-backed. Called on every
|
|
135
|
+
* boot for every instance (§4.2.1), so it MUST NOT be a full-collection
|
|
136
|
+
* scan. For `preflight` + `block`, a false positive blocks boot for the
|
|
137
|
+
* whole cluster (§4.2.7), so authors must write this conservatively (§6.2).
|
|
138
|
+
*/
|
|
139
|
+
isPending: (ctx: MigrationContext) => Promise<boolean>;
|
|
140
|
+
/**
|
|
141
|
+
* OPTIONAL. A detailed report for `plan` — may be a full scan. Not called
|
|
142
|
+
* at boot. When omitted, `plan` shows "details unavailable" and relies on
|
|
143
|
+
* the `isPending` verdict.
|
|
144
|
+
*/
|
|
145
|
+
detect?: (ctx: MigrationContext) => Promise<DetectReport>;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Identity helper that attaches the `MigrationDefinition` type to a literal
|
|
149
|
+
* so migration modules get inference + a single import to depend on. Returns
|
|
150
|
+
* its argument unchanged (no runtime behaviour, mirrors `defineConfig`-style
|
|
151
|
+
* helpers).
|
|
152
|
+
*/
|
|
153
|
+
export declare function defineMigration(def: MigrationDefinition): MigrationDefinition;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defineMigration = defineMigration;
|
|
4
|
+
/**
|
|
5
|
+
* Identity helper that attaches the `MigrationDefinition` type to a literal
|
|
6
|
+
* so migration modules get inference + a single import to depend on. Returns
|
|
7
|
+
* its argument unchanged (no runtime behaviour, mirrors `defineConfig`-style
|
|
8
|
+
* helpers).
|
|
9
|
+
*/
|
|
10
|
+
function defineMigration(def) {
|
|
11
|
+
return def;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/migration/types.ts"],"names":[],"mappings":";;AA8KA,0CAEC;AARD;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,GAAwB;IACtD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import Crowi from '../crowi';
|
|
2
|
+
import { Types, Document, Model } from 'mongoose';
|
|
3
|
+
export interface ActivityDocument extends Document {
|
|
4
|
+
_id: Types.ObjectId;
|
|
5
|
+
user: Types.ObjectId | any;
|
|
6
|
+
targetModel: string;
|
|
7
|
+
target: string;
|
|
8
|
+
action: string;
|
|
9
|
+
event: Types.ObjectId;
|
|
10
|
+
eventModel: string;
|
|
11
|
+
createdAt: Date;
|
|
12
|
+
getNotificationTargetUsers(): Promise<any[]>;
|
|
13
|
+
}
|
|
14
|
+
export interface ActivityModel extends Model<ActivityDocument> {
|
|
15
|
+
createByParameters(parameters: any): Promise<ActivityDocument>;
|
|
16
|
+
removeByParameters(parameters: any): any;
|
|
17
|
+
createByPageComment(comment: any): Promise<ActivityDocument>;
|
|
18
|
+
removeByPageCommentDelete(comment: any): Promise<{
|
|
19
|
+
deletedCount: number;
|
|
20
|
+
}>;
|
|
21
|
+
createByPageLike(page: any, user: any): Promise<ActivityDocument>;
|
|
22
|
+
removeByPageUnlike(page: any, user: any): Promise<{
|
|
23
|
+
deletedCount: number;
|
|
24
|
+
}>;
|
|
25
|
+
createByPageUpdate(page: any, user: any): Promise<ActivityDocument>;
|
|
26
|
+
createByPageMention(page: any, mentionedUser: any, author: any): Promise<ActivityDocument>;
|
|
27
|
+
removeByPage(page: any): Promise<{
|
|
28
|
+
deletedCount: number;
|
|
29
|
+
}>;
|
|
30
|
+
findByUser(user: any): Promise<ActivityDocument[]>;
|
|
31
|
+
getActionUsersFromActivities(activities: ActivityDocument[]): any[];
|
|
32
|
+
}
|
|
33
|
+
declare const _default: (crowi: Crowi) => ActivityModel;
|
|
34
|
+
export default _default;
|