@btst/stack 2.4.0 → 2.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/node_modules/.pnpm/{@tiptap_core@3.15.3_@tiptap_pm@3.15.3 → @tiptap_core@3.20.0_@tiptap_pm@3.15.3}/node_modules/@tiptap/core/dist/index.cjs +68 -8
- package/dist/node_modules/.pnpm/{@tiptap_core@3.15.3_@tiptap_pm@3.15.3 → @tiptap_core@3.20.0_@tiptap_pm@3.15.3}/node_modules/@tiptap/core/dist/index.mjs +68 -8
- package/dist/node_modules/.pnpm/{@tiptap_extension-blockquote@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-blockquote@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-blockquote/dist/index.cjs +2 -2
- package/dist/node_modules/.pnpm/{@tiptap_extension-blockquote@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-blockquote@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-blockquote/dist/index.mjs +2 -2
- package/dist/node_modules/.pnpm/{@tiptap_extension-bold@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-bold@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-bold/dist/index.cjs +2 -2
- package/dist/node_modules/.pnpm/{@tiptap_extension-bold@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-bold@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-bold/dist/index.mjs +2 -2
- package/dist/node_modules/.pnpm/{@tiptap_extension-bubble-menu@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extension-bubble-menu@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extension-bubble-menu/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-bubble-menu@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extension-bubble-menu@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extension-bubble-menu/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-code-block-lowlight@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@ti_2245ac34d84b5693aa60775b0f7781e3 → @tiptap_extension-code-block-lowlight@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@ti_360e739196c451ebf408f4af5a9f3f24}/node_modules/@tiptap/extension-code-block-lowlight/dist/index.cjs +2 -2
- package/dist/node_modules/.pnpm/{@tiptap_extension-code-block-lowlight@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@ti_2245ac34d84b5693aa60775b0f7781e3 → @tiptap_extension-code-block-lowlight@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@ti_360e739196c451ebf408f4af5a9f3f24}/node_modules/@tiptap/extension-code-block-lowlight/dist/index.mjs +2 -2
- package/dist/node_modules/.pnpm/@tiptap_extension-code-block@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3/node_modules/@tiptap/extension-code-block/dist/index.cjs +319 -0
- package/dist/node_modules/.pnpm/@tiptap_extension-code-block@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3/node_modules/@tiptap/extension-code-block/dist/index.mjs +315 -0
- package/dist/node_modules/.pnpm/{@tiptap_extension-code-block@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extension-code-block@3.20.0_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extension-code-block/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-code-block@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extension-code-block@3.20.0_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extension-code-block/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-code@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-code@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-code/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-code@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-code@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-code/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-document@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-document@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-document/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-document@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-document@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-document/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-floating-menu@3.15.3_@floating-ui_dom@1.7.4_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extension-floating-menu@3.15.3_@floating-ui_dom@1.7.4_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extension-floating-menu/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-floating-menu@3.15.3_@floating-ui_dom@1.7.4_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extension-floating-menu@3.15.3_@floating-ui_dom@1.7.4_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extension-floating-menu/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-hard-break@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-hard-break@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-hard-break/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-hard-break@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-hard-break@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-hard-break/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-heading@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-heading@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-heading/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-heading@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-heading@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-heading/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-horizontal-rule@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extension-horizontal-rule@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extension-horizontal-rule/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-horizontal-rule@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extension-horizontal-rule@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extension-horizontal-rule/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-image@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-image@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-image/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-image@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-image@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-image/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-italic@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-italic@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-italic/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-italic@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-italic@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-italic/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-link@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extension-link@3.20.0_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extension-link/dist/index.cjs +28 -22
- package/dist/node_modules/.pnpm/{@tiptap_extension-link@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extension-link@3.20.0_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extension-link/dist/index.mjs +28 -22
- package/dist/node_modules/.pnpm/{@tiptap_extension-list@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extension-list@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extension-list/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-list@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extension-list@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extension-list/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-paragraph@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-paragraph@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-paragraph/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-paragraph@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-paragraph@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-paragraph/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-strike@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-strike@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-strike/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-strike@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-strike@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-strike/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-table@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extension-table@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extension-table/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-table@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extension-table@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extension-table/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-text-style@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-text-style@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-text-style/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-text-style@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-text-style@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-text-style/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-text@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-text@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-text/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-text@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-text@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-text/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-typography@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-typography@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-typography/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-typography@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-typography@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-typography/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-underline@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-underline@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-underline/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-underline@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-underline@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-underline/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extensions@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extensions@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extensions/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extensions@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extensions@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extensions/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_markdown@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_markdown@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/markdown/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_markdown@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_markdown@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/markdown/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_react@3.15.3_@floating-ui_dom@1.7.4_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tip_d7a2a9a319317617a8908309649a6dda → @tiptap_react@3.15.3_@floating-ui_dom@1.7.4_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tip_b42b5b2d59902d8a01cd4cc3e2d5dc64}/node_modules/@tiptap/react/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_react@3.15.3_@floating-ui_dom@1.7.4_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tip_d7a2a9a319317617a8908309649a6dda → @tiptap_react@3.15.3_@floating-ui_dom@1.7.4_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tip_b42b5b2d59902d8a01cd4cc3e2d5dc64}/node_modules/@tiptap/react/dist/index.mjs +2 -2
- package/dist/node_modules/.pnpm/{@tiptap_react@3.15.3_@floating-ui_dom@1.7.4_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tip_d7a2a9a319317617a8908309649a6dda → @tiptap_react@3.15.3_@floating-ui_dom@1.7.4_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tip_b42b5b2d59902d8a01cd4cc3e2d5dc64}/node_modules/@tiptap/react/dist/menus/index.cjs +2 -2
- package/dist/node_modules/.pnpm/{@tiptap_react@3.15.3_@floating-ui_dom@1.7.4_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tip_d7a2a9a319317617a8908309649a6dda → @tiptap_react@3.15.3_@floating-ui_dom@1.7.4_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tip_b42b5b2d59902d8a01cd4cc3e2d5dc64}/node_modules/@tiptap/react/dist/menus/index.mjs +2 -2
- package/dist/node_modules/.pnpm/@tiptap_starter-kit@3.15.3/node_modules/@tiptap/starter-kit/dist/index.cjs +17 -17
- package/dist/node_modules/.pnpm/@tiptap_starter-kit@3.15.3/node_modules/@tiptap/starter-kit/dist/index.mjs +17 -17
- package/dist/packages/stack/src/plugins/ai-chat/api/plugin.cjs +33 -47
- package/dist/packages/stack/src/plugins/ai-chat/api/plugin.mjs +33 -47
- package/dist/packages/stack/src/plugins/ai-chat/client/plugin.cjs +14 -21
- package/dist/packages/stack/src/plugins/ai-chat/client/plugin.mjs +15 -22
- package/dist/packages/stack/src/plugins/blog/api/plugin.cjs +28 -45
- package/dist/packages/stack/src/plugins/blog/api/plugin.mjs +22 -39
- package/dist/packages/stack/src/plugins/blog/client/plugin.cjs +23 -27
- package/dist/packages/stack/src/plugins/blog/client/plugin.mjs +24 -28
- package/dist/packages/stack/src/plugins/cms/api/plugin.cjs +14 -17
- package/dist/packages/stack/src/plugins/cms/api/plugin.mjs +14 -17
- package/dist/packages/stack/src/plugins/cms/client/plugin.cjs +11 -15
- package/dist/packages/stack/src/plugins/cms/client/plugin.mjs +12 -16
- package/dist/packages/stack/src/plugins/form-builder/api/plugin.cjs +58 -62
- package/dist/packages/stack/src/plugins/form-builder/api/plugin.mjs +58 -62
- package/dist/packages/stack/src/plugins/form-builder/client/plugin.cjs +12 -12
- package/dist/packages/stack/src/plugins/form-builder/client/plugin.mjs +13 -13
- package/dist/packages/stack/src/plugins/kanban/api/plugin.cjs +86 -117
- package/dist/packages/stack/src/plugins/kanban/api/plugin.mjs +83 -114
- package/dist/packages/stack/src/plugins/kanban/client/plugin.cjs +22 -29
- package/dist/packages/stack/src/plugins/kanban/client/plugin.mjs +23 -30
- package/dist/packages/stack/src/plugins/open-api/api/generator.cjs +2 -1
- package/dist/packages/stack/src/plugins/open-api/api/generator.mjs +2 -1
- package/dist/packages/stack/src/plugins/ui-builder/client/plugin.cjs +8 -8
- package/dist/packages/stack/src/plugins/ui-builder/client/plugin.mjs +9 -9
- package/dist/packages/stack/src/plugins/utils.cjs +42 -0
- package/dist/packages/stack/src/plugins/utils.mjs +41 -1
- package/dist/packages/ui/src/components/minimal-tiptap/components/bubble-menu/link-bubble-menu.cjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/components/bubble-menu/link-bubble-menu.mjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/code-block-lowlight/code-block-lowlight.cjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/code-block-lowlight/code-block-lowlight.mjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/color/color.cjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/color/color.mjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/file-handler/index.cjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/file-handler/index.mjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/horizontal-rule/horizontal-rule.cjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/horizontal-rule/horizontal-rule.mjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/image/components/image-view-block.cjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/image/components/image-view-block.mjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/image/image.cjs +2 -2
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/image/image.mjs +2 -2
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/markdown-paste/markdown-paste.cjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/markdown-paste/markdown-paste.mjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/reset-marks-on-enter/reset-marks-on-enter.cjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/reset-marks-on-enter/reset-marks-on-enter.mjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/unset-all-marks/unset-all-marks.cjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/unset-all-marks/unset-all-marks.mjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/hooks/use-minimal-tiptap.cjs +7 -7
- package/dist/packages/ui/src/components/minimal-tiptap/hooks/use-minimal-tiptap.mjs +7 -7
- package/dist/packages/ui/src/components/minimal-tiptap/hooks/use-tiptap-editor.cjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/hooks/use-tiptap-editor.mjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/minimal-tiptap.cjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/minimal-tiptap.mjs +1 -1
- package/dist/plugins/ai-chat/api/index.d.cts +1 -1
- package/dist/plugins/ai-chat/api/index.d.mts +1 -1
- package/dist/plugins/ai-chat/api/index.d.ts +1 -1
- package/dist/plugins/ai-chat/client/hooks/index.d.cts +1 -1
- package/dist/plugins/ai-chat/client/hooks/index.d.mts +1 -1
- package/dist/plugins/ai-chat/client/hooks/index.d.ts +1 -1
- package/dist/plugins/ai-chat/client/index.d.cts +8 -8
- package/dist/plugins/ai-chat/client/index.d.mts +8 -8
- package/dist/plugins/ai-chat/client/index.d.ts +8 -8
- package/dist/plugins/ai-chat/query-keys.d.cts +1 -1
- package/dist/plugins/ai-chat/query-keys.d.mts +1 -1
- package/dist/plugins/ai-chat/query-keys.d.ts +1 -1
- package/dist/plugins/blog/api/index.d.cts +1 -1
- package/dist/plugins/blog/api/index.d.mts +1 -1
- package/dist/plugins/blog/api/index.d.ts +1 -1
- package/dist/plugins/blog/client/index.d.cts +12 -12
- package/dist/plugins/blog/client/index.d.mts +12 -12
- package/dist/plugins/blog/client/index.d.ts +12 -12
- package/dist/plugins/blog/query-keys.d.cts +1 -1
- package/dist/plugins/blog/query-keys.d.mts +1 -1
- package/dist/plugins/blog/query-keys.d.ts +1 -1
- package/dist/plugins/client/index.cjs +1 -0
- package/dist/plugins/client/index.d.cts +8 -1
- package/dist/plugins/client/index.d.mts +8 -1
- package/dist/plugins/client/index.d.ts +8 -1
- package/dist/plugins/client/index.mjs +1 -1
- package/dist/plugins/cms/api/index.d.cts +2 -2
- package/dist/plugins/cms/api/index.d.mts +2 -2
- package/dist/plugins/cms/api/index.d.ts +2 -2
- package/dist/plugins/cms/client/hooks/index.d.cts +1 -1
- package/dist/plugins/cms/client/hooks/index.d.mts +1 -1
- package/dist/plugins/cms/client/hooks/index.d.ts +1 -1
- package/dist/plugins/cms/client/index.d.cts +6 -6
- package/dist/plugins/cms/client/index.d.mts +6 -6
- package/dist/plugins/cms/client/index.d.ts +6 -6
- package/dist/plugins/cms/query-keys.d.cts +2 -2
- package/dist/plugins/cms/query-keys.d.mts +2 -2
- package/dist/plugins/cms/query-keys.d.ts +2 -2
- package/dist/plugins/form-builder/api/index.d.cts +2 -2
- package/dist/plugins/form-builder/api/index.d.mts +2 -2
- package/dist/plugins/form-builder/api/index.d.ts +2 -2
- package/dist/plugins/form-builder/client/components/index.d.cts +1 -1
- package/dist/plugins/form-builder/client/components/index.d.mts +1 -1
- package/dist/plugins/form-builder/client/components/index.d.ts +1 -1
- package/dist/plugins/form-builder/client/hooks/index.d.cts +1 -1
- package/dist/plugins/form-builder/client/hooks/index.d.mts +1 -1
- package/dist/plugins/form-builder/client/hooks/index.d.ts +1 -1
- package/dist/plugins/form-builder/client/index.d.cts +6 -6
- package/dist/plugins/form-builder/client/index.d.mts +6 -6
- package/dist/plugins/form-builder/client/index.d.ts +6 -6
- package/dist/plugins/form-builder/query-keys.d.cts +2 -2
- package/dist/plugins/form-builder/query-keys.d.mts +2 -2
- package/dist/plugins/form-builder/query-keys.d.ts +2 -2
- package/dist/plugins/kanban/api/index.d.cts +1 -1
- package/dist/plugins/kanban/api/index.d.mts +1 -1
- package/dist/plugins/kanban/api/index.d.ts +1 -1
- package/dist/plugins/kanban/client/index.d.cts +12 -12
- package/dist/plugins/kanban/client/index.d.mts +12 -12
- package/dist/plugins/kanban/client/index.d.ts +12 -12
- package/dist/plugins/kanban/query-keys.d.cts +1 -1
- package/dist/plugins/kanban/query-keys.d.mts +1 -1
- package/dist/plugins/kanban/query-keys.d.ts +1 -1
- package/dist/plugins/ui-builder/client/hooks/index.d.cts +1 -1
- package/dist/plugins/ui-builder/client/hooks/index.d.mts +1 -1
- package/dist/plugins/ui-builder/client/hooks/index.d.ts +1 -1
- package/dist/plugins/ui-builder/client/index.d.cts +3 -3
- package/dist/plugins/ui-builder/client/index.d.mts +3 -3
- package/dist/plugins/ui-builder/client/index.d.ts +3 -3
- package/dist/plugins/ui-builder/index.d.cts +2 -2
- package/dist/plugins/ui-builder/index.d.mts +2 -2
- package/dist/plugins/ui-builder/index.d.ts +2 -2
- package/dist/shared/{stack.C-WUPMT6.d.cts → stack.B2xZTSiO.d.cts} +4 -4
- package/dist/shared/{stack.CczspVn2.d.mts → stack.B58oHdqm.d.mts} +1 -1
- package/dist/shared/{stack.BepFXT3w.d.mts → stack.B8D4r97Z.d.mts} +22 -22
- package/dist/shared/{stack.CVDTkMoO.d.mts → stack.B8QD11QU.d.cts} +7 -7
- package/dist/shared/{stack.CVDTkMoO.d.cts → stack.B8QD11QU.d.mts} +7 -7
- package/dist/shared/{stack.CVDTkMoO.d.ts → stack.B8QD11QU.d.ts} +7 -7
- package/dist/shared/{stack.kcdnD4gA.d.cts → stack.BgTmujxW.d.mts} +1 -1
- package/dist/shared/{stack.DdI5W6MB.d.mts → stack.BozPgbrZ.d.cts} +19 -19
- package/dist/shared/{stack.DdI5W6MB.d.ts → stack.BozPgbrZ.d.mts} +19 -19
- package/dist/shared/{stack.DdI5W6MB.d.cts → stack.BozPgbrZ.d.ts} +19 -19
- package/dist/shared/{stack.BUkC2EsZ.d.cts → stack.C9Mg2Q46.d.cts} +1 -1
- package/dist/shared/{stack.Kq2-QzOC.d.ts → stack.CLQuVdwK.d.ts} +1 -1
- package/dist/shared/{stack.B7ONvlD_.d.mts → stack.CSx98K5H.d.cts} +1 -1
- package/dist/shared/{stack.BEn34wW6.d.ts → stack.CTDVxbrA.d.ts} +12 -12
- package/dist/shared/{stack.C-Ptrz8s.d.ts → stack.Cj_zKww4.d.ts} +4 -4
- package/dist/shared/{stack.DWoCZff7.d.cts → stack.D-b5zbPm.d.cts} +12 -12
- package/dist/shared/{stack.CL8ts1Mu.d.ts → stack.DXnclTG7.d.ts} +8 -8
- package/dist/shared/{stack.heOA9gzA.d.cts → stack.DaZM10cp.d.cts} +8 -8
- package/dist/shared/{stack.CgWzG5jH.d.ts → stack.DgKOwl20.d.ts} +22 -22
- package/dist/shared/{stack.DTDxgFj8.d.mts → stack.FVWf2JhZ.d.mts} +12 -12
- package/dist/shared/{stack.Dk5r4W1F.d.mts → stack.cfCkioTe.d.mts} +8 -8
- package/dist/shared/{stack.6fUOjLs9.d.mts → stack.dH7u-TJH.d.mts} +4 -4
- package/dist/shared/{stack.DASmUVjX.d.ts → stack.sO33ZDhK.d.ts} +1 -1
- package/dist/shared/{stack.D3GB6wKv.d.cts → stack.uWSqCWAb.d.cts} +22 -22
- package/package.json +1 -1
- package/src/plugins/ai-chat/api/plugin.ts +48 -63
- package/src/plugins/ai-chat/client/plugin.tsx +23 -31
- package/src/plugins/blog/api/plugin.ts +31 -47
- package/src/plugins/blog/client/plugin.tsx +36 -39
- package/src/plugins/client/index.ts +5 -1
- package/src/plugins/cms/api/plugin.ts +14 -17
- package/src/plugins/cms/client/plugin.tsx +18 -21
- package/src/plugins/cms/types.ts +7 -7
- package/src/plugins/form-builder/api/plugin.ts +64 -64
- package/src/plugins/form-builder/client/plugin.tsx +19 -18
- package/src/plugins/form-builder/types.ts +19 -24
- package/src/plugins/kanban/api/plugin.ts +111 -136
- package/src/plugins/kanban/client/plugin.tsx +35 -41
- package/src/plugins/open-api/api/generator.ts +3 -1
- package/src/plugins/ui-builder/client/plugin.tsx +11 -10
- package/src/plugins/ui-builder/types.ts +4 -4
- package/src/plugins/utils.ts +92 -1
- /package/dist/node_modules/.pnpm/{@tiptap_core@3.15.3_@tiptap_pm@3.15.3 → @tiptap_core@3.20.0_@tiptap_pm@3.15.3}/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.cjs +0 -0
- /package/dist/node_modules/.pnpm/{@tiptap_core@3.15.3_@tiptap_pm@3.15.3 → @tiptap_core@3.20.0_@tiptap_pm@3.15.3}/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.mjs +0 -0
|
@@ -6,6 +6,7 @@ import { createPostSchema, updatePostSchema } from '../schemas.mjs';
|
|
|
6
6
|
import { getAllTags, getPostBySlug, getAllPosts } from './getters.mjs';
|
|
7
7
|
import { BLOG_QUERY_KEYS } from './query-key-defs.mjs';
|
|
8
8
|
import { serializePost, serializeTag } from './serializers.mjs';
|
|
9
|
+
import { runHookWithShim } from '../../utils.mjs';
|
|
9
10
|
|
|
10
11
|
function createBlogPrefetchForRoute(adapter) {
|
|
11
12
|
return async function prefetchForRoute(key, qc, params) {
|
|
@@ -153,12 +154,11 @@ const blogBackendPlugin = (hooks) => defineBackendPlugin({
|
|
|
153
154
|
const context = { query, headers };
|
|
154
155
|
try {
|
|
155
156
|
if (hooks?.onBeforeListPosts) {
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
}
|
|
157
|
+
await runHookWithShim(
|
|
158
|
+
() => hooks.onBeforeListPosts(query, context),
|
|
159
|
+
ctx.error,
|
|
160
|
+
"Unauthorized: Cannot list posts"
|
|
161
|
+
);
|
|
162
162
|
}
|
|
163
163
|
const result = await getAllPosts(adapter, query);
|
|
164
164
|
if (hooks?.onPostsRead) {
|
|
@@ -186,15 +186,11 @@ const blogBackendPlugin = (hooks) => defineBackendPlugin({
|
|
|
186
186
|
};
|
|
187
187
|
try {
|
|
188
188
|
if (hooks?.onBeforeCreatePost) {
|
|
189
|
-
|
|
190
|
-
ctx.body,
|
|
191
|
-
|
|
189
|
+
await runHookWithShim(
|
|
190
|
+
() => hooks.onBeforeCreatePost(ctx.body, context),
|
|
191
|
+
ctx.error,
|
|
192
|
+
"Unauthorized: Cannot create post"
|
|
192
193
|
);
|
|
193
|
-
if (!canCreate) {
|
|
194
|
-
throw ctx.error(403, {
|
|
195
|
-
message: "Unauthorized: Cannot create post"
|
|
196
|
-
});
|
|
197
|
-
}
|
|
198
194
|
}
|
|
199
195
|
const { tags, ...postData } = ctx.body;
|
|
200
196
|
const tagNames = tags || [];
|
|
@@ -257,16 +253,11 @@ const blogBackendPlugin = (hooks) => defineBackendPlugin({
|
|
|
257
253
|
};
|
|
258
254
|
try {
|
|
259
255
|
if (hooks?.onBeforeUpdatePost) {
|
|
260
|
-
|
|
261
|
-
ctx.params.id,
|
|
262
|
-
ctx.
|
|
263
|
-
|
|
256
|
+
await runHookWithShim(
|
|
257
|
+
() => hooks.onBeforeUpdatePost(ctx.params.id, ctx.body, context),
|
|
258
|
+
ctx.error,
|
|
259
|
+
"Unauthorized: Cannot update post"
|
|
264
260
|
);
|
|
265
|
-
if (!canUpdate) {
|
|
266
|
-
throw ctx.error(403, {
|
|
267
|
-
message: "Unauthorized: Cannot update post"
|
|
268
|
-
});
|
|
269
|
-
}
|
|
270
261
|
}
|
|
271
262
|
const { tags, slug: rawSlug, ...restPostData } = ctx.body;
|
|
272
263
|
const tagNames = tags || [];
|
|
@@ -362,15 +353,11 @@ const blogBackendPlugin = (hooks) => defineBackendPlugin({
|
|
|
362
353
|
};
|
|
363
354
|
try {
|
|
364
355
|
if (hooks?.onBeforeDeletePost) {
|
|
365
|
-
|
|
366
|
-
ctx.params.id,
|
|
367
|
-
|
|
356
|
+
await runHookWithShim(
|
|
357
|
+
() => hooks.onBeforeDeletePost(ctx.params.id, context),
|
|
358
|
+
ctx.error,
|
|
359
|
+
"Unauthorized: Cannot delete post"
|
|
368
360
|
);
|
|
369
|
-
if (!canDelete) {
|
|
370
|
-
throw ctx.error(403, {
|
|
371
|
-
message: "Unauthorized: Cannot delete post"
|
|
372
|
-
});
|
|
373
|
-
}
|
|
374
361
|
}
|
|
375
362
|
await adapter.delete({
|
|
376
363
|
model: "post",
|
|
@@ -399,15 +386,11 @@ const blogBackendPlugin = (hooks) => defineBackendPlugin({
|
|
|
399
386
|
const context = { query, headers };
|
|
400
387
|
try {
|
|
401
388
|
if (hooks?.onBeforeListPosts) {
|
|
402
|
-
|
|
403
|
-
{ published: true },
|
|
404
|
-
|
|
389
|
+
await runHookWithShim(
|
|
390
|
+
() => hooks.onBeforeListPosts({ published: true }, context),
|
|
391
|
+
ctx.error,
|
|
392
|
+
"Unauthorized: Cannot list posts"
|
|
405
393
|
);
|
|
406
|
-
if (!canList) {
|
|
407
|
-
throw ctx.error(403, {
|
|
408
|
-
message: "Unauthorized: Cannot list posts"
|
|
409
|
-
});
|
|
410
|
-
}
|
|
411
394
|
}
|
|
412
395
|
const date = query.date;
|
|
413
396
|
const previousPosts = await adapter.findMany({
|
|
@@ -23,10 +23,10 @@ function createPostsLoader(published, config) {
|
|
|
23
23
|
};
|
|
24
24
|
try {
|
|
25
25
|
if (hooks?.beforeLoadPosts) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
await client.runClientHookWithShim(
|
|
27
|
+
() => hooks.beforeLoadPosts({ published }, context),
|
|
28
|
+
"Load prevented by beforeLoadPosts hook"
|
|
29
|
+
);
|
|
30
30
|
}
|
|
31
31
|
const limit = 10;
|
|
32
32
|
const client$1 = client.createApiClient({
|
|
@@ -47,14 +47,10 @@ function createPostsLoader(published, config) {
|
|
|
47
47
|
await queryClient.prefetchQuery(tagsQuery);
|
|
48
48
|
if (hooks?.afterLoadPosts) {
|
|
49
49
|
const posts = queryClient.getQueryData(listQuery.queryKey) || null;
|
|
50
|
-
|
|
51
|
-
posts,
|
|
52
|
-
|
|
53
|
-
context
|
|
50
|
+
await client.runClientHookWithShim(
|
|
51
|
+
() => hooks.afterLoadPosts(posts, { published }, context),
|
|
52
|
+
"Load prevented by afterLoadPosts hook"
|
|
54
53
|
);
|
|
55
|
-
if (canContinue === false) {
|
|
56
|
-
throw new Error("Load prevented by afterLoadPosts hook");
|
|
57
|
-
}
|
|
58
54
|
}
|
|
59
55
|
const queryState = queryClient.getQueryState(listQuery.queryKey);
|
|
60
56
|
if (queryState?.error) {
|
|
@@ -90,10 +86,10 @@ function createPostLoader(slug, config, path) {
|
|
|
90
86
|
};
|
|
91
87
|
try {
|
|
92
88
|
if (hooks?.beforeLoadPost) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
89
|
+
await client.runClientHookWithShim(
|
|
90
|
+
() => hooks.beforeLoadPost(slug, context),
|
|
91
|
+
"Load prevented by beforeLoadPost hook"
|
|
92
|
+
);
|
|
97
93
|
}
|
|
98
94
|
const client$1 = client.createApiClient({
|
|
99
95
|
baseURL: apiBaseURL,
|
|
@@ -104,10 +100,10 @@ function createPostLoader(slug, config, path) {
|
|
|
104
100
|
await queryClient.prefetchQuery(postQuery);
|
|
105
101
|
if (hooks?.afterLoadPost) {
|
|
106
102
|
const post = queryClient.getQueryData(postQuery.queryKey) || null;
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
103
|
+
await client.runClientHookWithShim(
|
|
104
|
+
() => hooks.afterLoadPost(post, slug, context),
|
|
105
|
+
"Load prevented by afterLoadPost hook"
|
|
106
|
+
);
|
|
111
107
|
}
|
|
112
108
|
const queryState = queryClient.getQueryState(postQuery.queryKey);
|
|
113
109
|
if (queryState?.error) {
|
|
@@ -142,16 +138,16 @@ function createNewPostLoader(config) {
|
|
|
142
138
|
};
|
|
143
139
|
try {
|
|
144
140
|
if (hooks?.beforeLoadNewPost) {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
141
|
+
await client.runClientHookWithShim(
|
|
142
|
+
() => hooks.beforeLoadNewPost(context),
|
|
143
|
+
"Load prevented by beforeLoadNewPost hook"
|
|
144
|
+
);
|
|
149
145
|
}
|
|
150
146
|
if (hooks?.afterLoadNewPost) {
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
147
|
+
await client.runClientHookWithShim(
|
|
148
|
+
() => hooks.afterLoadNewPost(context),
|
|
149
|
+
"Load prevented by afterLoadNewPost hook"
|
|
150
|
+
);
|
|
155
151
|
}
|
|
156
152
|
} catch (error) {
|
|
157
153
|
if (hooks?.onLoadError) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { defineClientPlugin, createApiClient, isConnectionError } from '@btst/stack/plugins/client';
|
|
2
|
+
import { defineClientPlugin, createApiClient, runClientHookWithShim, isConnectionError } from '@btst/stack/plugins/client';
|
|
3
3
|
import { createRoute } from '@btst/yar';
|
|
4
4
|
import { createBlogQueryKeys } from '../../../../../../plugins/blog/query-keys.mjs';
|
|
5
5
|
import { HomePageComponent } from './components/pages/home-page.mjs';
|
|
@@ -21,10 +21,10 @@ function createPostsLoader(published, config) {
|
|
|
21
21
|
};
|
|
22
22
|
try {
|
|
23
23
|
if (hooks?.beforeLoadPosts) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
await runClientHookWithShim(
|
|
25
|
+
() => hooks.beforeLoadPosts({ published }, context),
|
|
26
|
+
"Load prevented by beforeLoadPosts hook"
|
|
27
|
+
);
|
|
28
28
|
}
|
|
29
29
|
const limit = 10;
|
|
30
30
|
const client = createApiClient({
|
|
@@ -45,14 +45,10 @@ function createPostsLoader(published, config) {
|
|
|
45
45
|
await queryClient.prefetchQuery(tagsQuery);
|
|
46
46
|
if (hooks?.afterLoadPosts) {
|
|
47
47
|
const posts = queryClient.getQueryData(listQuery.queryKey) || null;
|
|
48
|
-
|
|
49
|
-
posts,
|
|
50
|
-
|
|
51
|
-
context
|
|
48
|
+
await runClientHookWithShim(
|
|
49
|
+
() => hooks.afterLoadPosts(posts, { published }, context),
|
|
50
|
+
"Load prevented by afterLoadPosts hook"
|
|
52
51
|
);
|
|
53
|
-
if (canContinue === false) {
|
|
54
|
-
throw new Error("Load prevented by afterLoadPosts hook");
|
|
55
|
-
}
|
|
56
52
|
}
|
|
57
53
|
const queryState = queryClient.getQueryState(listQuery.queryKey);
|
|
58
54
|
if (queryState?.error) {
|
|
@@ -88,10 +84,10 @@ function createPostLoader(slug, config, path) {
|
|
|
88
84
|
};
|
|
89
85
|
try {
|
|
90
86
|
if (hooks?.beforeLoadPost) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
87
|
+
await runClientHookWithShim(
|
|
88
|
+
() => hooks.beforeLoadPost(slug, context),
|
|
89
|
+
"Load prevented by beforeLoadPost hook"
|
|
90
|
+
);
|
|
95
91
|
}
|
|
96
92
|
const client = createApiClient({
|
|
97
93
|
baseURL: apiBaseURL,
|
|
@@ -102,10 +98,10 @@ function createPostLoader(slug, config, path) {
|
|
|
102
98
|
await queryClient.prefetchQuery(postQuery);
|
|
103
99
|
if (hooks?.afterLoadPost) {
|
|
104
100
|
const post = queryClient.getQueryData(postQuery.queryKey) || null;
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
101
|
+
await runClientHookWithShim(
|
|
102
|
+
() => hooks.afterLoadPost(post, slug, context),
|
|
103
|
+
"Load prevented by afterLoadPost hook"
|
|
104
|
+
);
|
|
109
105
|
}
|
|
110
106
|
const queryState = queryClient.getQueryState(postQuery.queryKey);
|
|
111
107
|
if (queryState?.error) {
|
|
@@ -140,16 +136,16 @@ function createNewPostLoader(config) {
|
|
|
140
136
|
};
|
|
141
137
|
try {
|
|
142
138
|
if (hooks?.beforeLoadNewPost) {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
139
|
+
await runClientHookWithShim(
|
|
140
|
+
() => hooks.beforeLoadNewPost(context),
|
|
141
|
+
"Load prevented by beforeLoadNewPost hook"
|
|
142
|
+
);
|
|
147
143
|
}
|
|
148
144
|
if (hooks?.afterLoadNewPost) {
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
145
|
+
await runClientHookWithShim(
|
|
146
|
+
() => hooks.afterLoadNewPost(context),
|
|
147
|
+
"Load prevented by afterLoadNewPost hook"
|
|
148
|
+
);
|
|
153
149
|
}
|
|
154
150
|
} catch (error) {
|
|
155
151
|
if (hooks?.onLoadError) {
|
|
@@ -9,6 +9,7 @@ const utils = require('../utils.cjs');
|
|
|
9
9
|
const getters = require('./getters.cjs');
|
|
10
10
|
const mutations = require('./mutations.cjs');
|
|
11
11
|
const queryKeyDefs = require('./query-key-defs.cjs');
|
|
12
|
+
const utils$1 = require('../../utils.cjs');
|
|
12
13
|
|
|
13
14
|
async function syncContentTypes(adapter, config) {
|
|
14
15
|
for (const ct of config.contentTypes) {
|
|
@@ -489,13 +490,11 @@ const cmsBackendPlugin = (config) => {
|
|
|
489
490
|
}
|
|
490
491
|
const processedData = validation.data;
|
|
491
492
|
if (config.hooks?.onBeforeCreate) {
|
|
492
|
-
|
|
493
|
-
processedData,
|
|
494
|
-
|
|
493
|
+
await utils$1.runHookWithShim(
|
|
494
|
+
() => config.hooks.onBeforeCreate(processedData, context),
|
|
495
|
+
ctx.error,
|
|
496
|
+
"Create operation denied"
|
|
495
497
|
);
|
|
496
|
-
if (result === false) {
|
|
497
|
-
throw ctx.error(403, { message: "Create operation denied" });
|
|
498
|
-
}
|
|
499
498
|
}
|
|
500
499
|
const item = await adapter.create({
|
|
501
500
|
model: "contentItem",
|
|
@@ -599,14 +598,11 @@ const cmsBackendPlugin = (config) => {
|
|
|
599
598
|
}
|
|
600
599
|
const processedData = validatedData;
|
|
601
600
|
if (config.hooks?.onBeforeUpdate && validatedData) {
|
|
602
|
-
|
|
603
|
-
id,
|
|
604
|
-
|
|
605
|
-
|
|
601
|
+
await utils$1.runHookWithShim(
|
|
602
|
+
() => config.hooks.onBeforeUpdate(id, validatedData, context),
|
|
603
|
+
ctx.error,
|
|
604
|
+
"Update operation denied"
|
|
606
605
|
);
|
|
607
|
-
if (result === false) {
|
|
608
|
-
throw ctx.error(403, { message: "Update operation denied" });
|
|
609
|
-
}
|
|
610
606
|
}
|
|
611
607
|
if (relationIds) {
|
|
612
608
|
await syncRelations(adapter, id, relationIds);
|
|
@@ -657,10 +653,11 @@ const cmsBackendPlugin = (config) => {
|
|
|
657
653
|
throw ctx.error(404, { message: "Content item not found" });
|
|
658
654
|
}
|
|
659
655
|
if (config.hooks?.onBeforeDelete) {
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
656
|
+
await utils$1.runHookWithShim(
|
|
657
|
+
() => config.hooks.onBeforeDelete(id, context),
|
|
658
|
+
ctx.error,
|
|
659
|
+
"Delete operation denied"
|
|
660
|
+
);
|
|
664
661
|
}
|
|
665
662
|
await adapter.delete({
|
|
666
663
|
model: "contentItem",
|
|
@@ -7,6 +7,7 @@ import { slugify } from '../utils.mjs';
|
|
|
7
7
|
import { serializeContentType, getAllContentItems, serializeContentItemWithType, serializeContentItem, getContentItemById, getContentItemBySlug, getAllContentTypes } from './getters.mjs';
|
|
8
8
|
import { createCMSContentItem } from './mutations.mjs';
|
|
9
9
|
import { CMS_QUERY_KEYS } from './query-key-defs.mjs';
|
|
10
|
+
import { runHookWithShim } from '../../utils.mjs';
|
|
10
11
|
|
|
11
12
|
async function syncContentTypes(adapter, config) {
|
|
12
13
|
for (const ct of config.contentTypes) {
|
|
@@ -487,13 +488,11 @@ const cmsBackendPlugin = (config) => {
|
|
|
487
488
|
}
|
|
488
489
|
const processedData = validation.data;
|
|
489
490
|
if (config.hooks?.onBeforeCreate) {
|
|
490
|
-
|
|
491
|
-
processedData,
|
|
492
|
-
|
|
491
|
+
await runHookWithShim(
|
|
492
|
+
() => config.hooks.onBeforeCreate(processedData, context),
|
|
493
|
+
ctx.error,
|
|
494
|
+
"Create operation denied"
|
|
493
495
|
);
|
|
494
|
-
if (result === false) {
|
|
495
|
-
throw ctx.error(403, { message: "Create operation denied" });
|
|
496
|
-
}
|
|
497
496
|
}
|
|
498
497
|
const item = await adapter.create({
|
|
499
498
|
model: "contentItem",
|
|
@@ -597,14 +596,11 @@ const cmsBackendPlugin = (config) => {
|
|
|
597
596
|
}
|
|
598
597
|
const processedData = validatedData;
|
|
599
598
|
if (config.hooks?.onBeforeUpdate && validatedData) {
|
|
600
|
-
|
|
601
|
-
id,
|
|
602
|
-
|
|
603
|
-
|
|
599
|
+
await runHookWithShim(
|
|
600
|
+
() => config.hooks.onBeforeUpdate(id, validatedData, context),
|
|
601
|
+
ctx.error,
|
|
602
|
+
"Update operation denied"
|
|
604
603
|
);
|
|
605
|
-
if (result === false) {
|
|
606
|
-
throw ctx.error(403, { message: "Update operation denied" });
|
|
607
|
-
}
|
|
608
604
|
}
|
|
609
605
|
if (relationIds) {
|
|
610
606
|
await syncRelations(adapter, id, relationIds);
|
|
@@ -655,10 +651,11 @@ const cmsBackendPlugin = (config) => {
|
|
|
655
651
|
throw ctx.error(404, { message: "Content item not found" });
|
|
656
652
|
}
|
|
657
653
|
if (config.hooks?.onBeforeDelete) {
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
654
|
+
await runHookWithShim(
|
|
655
|
+
() => config.hooks.onBeforeDelete(id, context),
|
|
656
|
+
ctx.error,
|
|
657
|
+
"Delete operation denied"
|
|
658
|
+
);
|
|
662
659
|
}
|
|
663
660
|
await adapter.delete({
|
|
664
661
|
model: "contentItem",
|
|
@@ -34,10 +34,10 @@ function createDashboardLoader(config) {
|
|
|
34
34
|
};
|
|
35
35
|
try {
|
|
36
36
|
if (hooks?.beforeLoadDashboard) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
await client.runClientHookWithShim(
|
|
38
|
+
() => hooks.beforeLoadDashboard(context),
|
|
39
|
+
"Load prevented by beforeLoadDashboard hook"
|
|
40
|
+
);
|
|
41
41
|
}
|
|
42
42
|
const client$1 = client.createApiClient({
|
|
43
43
|
baseURL: apiBaseURL,
|
|
@@ -82,10 +82,10 @@ function createContentListLoader(typeSlug, config) {
|
|
|
82
82
|
};
|
|
83
83
|
try {
|
|
84
84
|
if (hooks?.beforeLoadContentList) {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
85
|
+
await client.runClientHookWithShim(
|
|
86
|
+
() => hooks.beforeLoadContentList(typeSlug, context),
|
|
87
|
+
"Load prevented by beforeLoadContentList hook"
|
|
88
|
+
);
|
|
89
89
|
}
|
|
90
90
|
const client$1 = client.createApiClient({
|
|
91
91
|
baseURL: apiBaseURL,
|
|
@@ -154,14 +154,10 @@ function createContentEditorLoader(typeSlug, id, config) {
|
|
|
154
154
|
};
|
|
155
155
|
try {
|
|
156
156
|
if (hooks?.beforeLoadContentEditor) {
|
|
157
|
-
|
|
158
|
-
typeSlug,
|
|
159
|
-
|
|
160
|
-
context
|
|
157
|
+
await client.runClientHookWithShim(
|
|
158
|
+
() => hooks.beforeLoadContentEditor(typeSlug, id, context),
|
|
159
|
+
"Load prevented by beforeLoadContentEditor hook"
|
|
161
160
|
);
|
|
162
|
-
if (!canLoad) {
|
|
163
|
-
throw new Error("Load prevented by beforeLoadContentEditor hook");
|
|
164
|
-
}
|
|
165
161
|
}
|
|
166
162
|
const client$1 = client.createApiClient({
|
|
167
163
|
baseURL: apiBaseURL,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { lazy } from 'react';
|
|
3
|
-
import { defineClientPlugin, createApiClient, isConnectionError } from '@btst/stack/plugins/client';
|
|
3
|
+
import { defineClientPlugin, createApiClient, runClientHookWithShim, isConnectionError } from '@btst/stack/plugins/client';
|
|
4
4
|
import { createRoute } from '@btst/yar';
|
|
5
5
|
import { createCMSQueryKeys } from '../../../../../../plugins/cms/query-keys.mjs';
|
|
6
6
|
|
|
@@ -32,10 +32,10 @@ function createDashboardLoader(config) {
|
|
|
32
32
|
};
|
|
33
33
|
try {
|
|
34
34
|
if (hooks?.beforeLoadDashboard) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
await runClientHookWithShim(
|
|
36
|
+
() => hooks.beforeLoadDashboard(context),
|
|
37
|
+
"Load prevented by beforeLoadDashboard hook"
|
|
38
|
+
);
|
|
39
39
|
}
|
|
40
40
|
const client = createApiClient({
|
|
41
41
|
baseURL: apiBaseURL,
|
|
@@ -80,10 +80,10 @@ function createContentListLoader(typeSlug, config) {
|
|
|
80
80
|
};
|
|
81
81
|
try {
|
|
82
82
|
if (hooks?.beforeLoadContentList) {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
83
|
+
await runClientHookWithShim(
|
|
84
|
+
() => hooks.beforeLoadContentList(typeSlug, context),
|
|
85
|
+
"Load prevented by beforeLoadContentList hook"
|
|
86
|
+
);
|
|
87
87
|
}
|
|
88
88
|
const client = createApiClient({
|
|
89
89
|
baseURL: apiBaseURL,
|
|
@@ -152,14 +152,10 @@ function createContentEditorLoader(typeSlug, id, config) {
|
|
|
152
152
|
};
|
|
153
153
|
try {
|
|
154
154
|
if (hooks?.beforeLoadContentEditor) {
|
|
155
|
-
|
|
156
|
-
typeSlug,
|
|
157
|
-
|
|
158
|
-
context
|
|
155
|
+
await runClientHookWithShim(
|
|
156
|
+
() => hooks.beforeLoadContentEditor(typeSlug, id, context),
|
|
157
|
+
"Load prevented by beforeLoadContentEditor hook"
|
|
159
158
|
);
|
|
160
|
-
if (!canLoad) {
|
|
161
|
-
throw new Error("Load prevented by beforeLoadContentEditor hook");
|
|
162
|
-
}
|
|
163
159
|
}
|
|
164
160
|
const client = createApiClient({
|
|
165
161
|
baseURL: apiBaseURL,
|