dineway 0.1.48 → 0.2.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/dist/{activity-events-C9u37D5z.mjs → activity-events-y6eT8UW6.mjs} +6 -38
- package/dist/actor-CrObAPV0.mjs +37 -0
- package/dist/after-BfniwgIf.mjs +9 -0
- package/dist/{allowed-origins-DhipQNLb.mjs → allowed-origins-_oeyP6x-.mjs} +1 -1
- package/dist/api/route-utils.d.mts +10 -10
- package/dist/api/route-utils.mjs +17 -14
- package/dist/api/schemas/index.d.mts +2 -2
- package/dist/api/schemas/index.mjs +5 -4
- package/dist/{api-Eiy8_zVZ.mjs → api-ByrU2q-Z.mjs} +61 -37
- package/dist/{api-tokens-DtvdtIkm.mjs → api-tokens-CjVMQT-X.mjs} +6 -2
- package/dist/{apply-CX3no7XE.mjs → apply-bZswmZPm.mjs} +117 -77
- package/dist/astro/image-endpoint.d.mts +7 -0
- package/dist/astro/image-endpoint.mjs +54 -0
- package/dist/astro/index.d.mts +35 -11
- package/dist/astro/index.mjs +157 -23
- package/dist/astro/integration/shims/use-sync-external-store-with-selector.js +71 -0
- package/dist/astro/integration/shims/use-sync-external-store.js +1 -0
- package/dist/astro/middleware/auth.d.mts +10 -10
- package/dist/astro/middleware/auth.mjs +42 -24
- package/dist/astro/middleware/redirect.mjs +14 -5
- package/dist/astro/middleware/request-context.mjs +9 -6
- package/dist/astro/middleware/seed.d.mts +1 -1
- package/dist/astro/middleware/seed.mjs +2 -2
- package/dist/astro/middleware/setup.mjs +1 -1
- package/dist/astro/middleware.mjs +334 -193
- package/dist/astro/routes/admin.astro +6 -1
- package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +7 -6
- package/dist/astro/routes/api/admin/allowed-domains/index.mjs +7 -6
- package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +4 -4
- package/dist/astro/routes/api/admin/api-tokens/index.mjs +6 -6
- package/dist/astro/routes/api/admin/briefing.mjs +22 -18
- package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +4 -4
- package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +9 -8
- package/dist/astro/routes/api/admin/byline-fields/index.mjs +9 -8
- package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +9 -8
- package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +18 -15
- package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +18 -15
- package/dist/astro/routes/api/admin/bylines/index.mjs +18 -15
- package/dist/astro/routes/api/admin/comments/_id_/status.mjs +15 -13
- package/dist/astro/routes/api/admin/comments/_id_.mjs +7 -6
- package/dist/astro/routes/api/admin/comments/bulk.mjs +12 -10
- package/dist/astro/routes/api/admin/comments/counts.mjs +7 -6
- package/dist/astro/routes/api/admin/comments/index.mjs +12 -10
- package/dist/astro/routes/api/admin/context/_id_/history.mjs +27 -25
- package/dist/astro/routes/api/admin/context/_id_/index.mjs +27 -25
- package/dist/astro/routes/api/admin/context/_id_/review.mjs +32 -29
- package/dist/astro/routes/api/admin/context/_id_/supersede.mjs +32 -29
- package/dist/astro/routes/api/admin/context/diff.mjs +31 -28
- package/dist/astro/routes/api/admin/context/index.mjs +32 -29
- package/dist/astro/routes/api/admin/context/stale.mjs +31 -28
- package/dist/astro/routes/api/admin/hitl-requests/_id_/index.mjs +27 -25
- package/dist/astro/routes/api/admin/hitl-requests/_id_/resolve.mjs +31 -28
- package/dist/astro/routes/api/admin/hitl-requests/index.mjs +31 -28
- package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +28 -26
- package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +3 -3
- package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +6 -6
- package/dist/astro/routes/api/admin/oauth-clients/index.mjs +6 -6
- package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +56 -52
- package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +56 -52
- package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +48 -44
- package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +54 -50
- package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +53 -49
- package/dist/astro/routes/api/admin/plugins/index.mjs +48 -44
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +2 -2
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +47 -43
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +53 -49
- package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +47 -43
- package/dist/astro/routes/api/admin/plugins/updates.mjs +47 -43
- package/dist/astro/routes/api/admin/review-requests/_id_/index.mjs +6 -6
- package/dist/astro/routes/api/admin/review-requests/_id_/resolve.mjs +32 -28
- package/dist/astro/routes/api/admin/review-requests/index.mjs +11 -10
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +47 -43
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +2 -2
- package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +47 -43
- package/dist/astro/routes/api/admin/users/_id_/disable.mjs +3 -3
- package/dist/astro/routes/api/admin/users/_id_/enable.mjs +2 -2
- package/dist/astro/routes/api/admin/users/_id_/index.mjs +8 -7
- package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +4 -4
- package/dist/astro/routes/api/admin/users/index.mjs +7 -6
- package/dist/astro/routes/api/auth/dev-bypass.mjs +4 -4
- package/dist/astro/routes/api/auth/invite/accept.mjs +2 -2
- package/dist/astro/routes/api/auth/invite/complete.mjs +12 -11
- package/dist/astro/routes/api/auth/invite/index.mjs +9 -8
- package/dist/astro/routes/api/auth/invite/register-options.mjs +11 -10
- package/dist/astro/routes/api/auth/logout.mjs +2 -2
- package/dist/astro/routes/api/auth/magic-link/send.mjs +11 -10
- package/dist/astro/routes/api/auth/magic-link/verify.mjs +3 -3
- package/dist/astro/routes/api/auth/me.mjs +10 -9
- package/dist/astro/routes/api/auth/mode.mjs +1 -1
- package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +3 -3
- package/dist/astro/routes/api/auth/oauth/_provider_.mjs +2 -2
- package/dist/astro/routes/api/auth/passkey/_id_.mjs +6 -5
- package/dist/astro/routes/api/auth/passkey/index.mjs +1 -1
- package/dist/astro/routes/api/auth/passkey/options.mjs +12 -11
- package/dist/astro/routes/api/auth/passkey/register/options.mjs +10 -9
- package/dist/astro/routes/api/auth/passkey/register/verify.mjs +11 -10
- package/dist/astro/routes/api/auth/passkey/verify.mjs +11 -10
- package/dist/astro/routes/api/auth/setup-token/index.mjs +6 -6
- package/dist/astro/routes/api/auth/setup-token/verify.mjs +2 -2
- package/dist/astro/routes/api/auth/signup/complete.mjs +12 -11
- package/dist/astro/routes/api/auth/signup/request.mjs +11 -10
- package/dist/astro/routes/api/auth/signup/verify.mjs +2 -2
- package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +16 -14
- package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.d.mts +8 -0
- package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +160 -0
- package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +2 -2
- package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +6 -6
- package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +6 -6
- package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +6 -6
- package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +12 -11
- package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +11 -10
- package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +6 -6
- package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +2 -2
- package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +11 -10
- package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +17 -15
- package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +2 -2
- package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +6 -6
- package/dist/astro/routes/api/content/_collection_/_id_.mjs +11 -10
- package/dist/astro/routes/api/content/_collection_/authors.mjs +2 -2
- package/dist/astro/routes/api/content/_collection_/index.mjs +11 -10
- package/dist/astro/routes/api/content/_collection_/trash.mjs +7 -6
- package/dist/astro/routes/api/dashboard.mjs +10 -9
- package/dist/astro/routes/api/dev/emails.mjs +2 -2
- package/dist/astro/routes/api/health.mjs +1 -1
- package/dist/astro/routes/api/import/probe.d.mts +3 -3
- package/dist/astro/routes/api/import/probe.mjs +23 -11
- package/dist/astro/routes/api/import/wordpress/analyze.mjs +9 -6
- package/dist/astro/routes/api/import/wordpress/execute.d.mts +19 -1
- package/dist/astro/routes/api/import/wordpress/execute.mjs +85 -38
- package/dist/astro/routes/api/import/wordpress/media.d.mts +13 -1
- package/dist/astro/routes/api/import/wordpress/media.mjs +20 -14
- package/dist/astro/routes/api/import/wordpress/prepare.mjs +36 -33
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +18 -1
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +121 -101
- package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
- package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +25 -13
- package/dist/astro/routes/api/import/wordpress-plugin/callback.mjs +1 -1
- package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +56 -2
- package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +284 -56
- package/dist/astro/routes/api/manifest.mjs +14 -5
- package/dist/astro/routes/api/mcp.mjs +266 -70
- package/dist/astro/routes/api/media/_id_/confirm.mjs +39 -11
- package/dist/astro/routes/api/media/_id_.mjs +11 -7
- package/dist/astro/routes/api/media/file/_...key_.mjs +1 -1
- package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +2 -2
- package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +2 -2
- package/dist/astro/routes/api/media/providers/index.mjs +2 -2
- package/dist/astro/routes/api/media/upload-url.mjs +12 -11
- package/dist/astro/routes/api/media.mjs +28 -35
- package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +32 -29
- package/dist/astro/routes/api/menus/_name_/items.mjs +32 -29
- package/dist/astro/routes/api/menus/_name_/reorder.mjs +32 -29
- package/dist/astro/routes/api/menus/_name_/translations.mjs +32 -29
- package/dist/astro/routes/api/menus/_name_.mjs +32 -29
- package/dist/astro/routes/api/menus/index.mjs +32 -29
- package/dist/astro/routes/api/oauth/authorize.mjs +7 -7
- package/dist/astro/routes/api/oauth/device/authorize.mjs +6 -6
- package/dist/astro/routes/api/oauth/device/code.mjs +9 -9
- package/dist/astro/routes/api/oauth/device/token.mjs +8 -8
- package/dist/astro/routes/api/oauth/register.mjs +4 -4
- package/dist/astro/routes/api/oauth/token/refresh.mjs +6 -6
- package/dist/astro/routes/api/oauth/token/revoke.mjs +6 -6
- package/dist/astro/routes/api/oauth/token.mjs +6 -6
- package/dist/astro/routes/api/openapi.json.mjs +4 -3
- package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +30 -30
- package/dist/astro/routes/api/redirects/404s/index.mjs +12 -11
- package/dist/astro/routes/api/redirects/404s/summary.mjs +12 -11
- package/dist/astro/routes/api/redirects/_id_.mjs +33 -30
- package/dist/astro/routes/api/redirects/index.mjs +33 -30
- package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +2 -2
- package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +2 -2
- package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +48 -44
- package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +48 -44
- package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +48 -44
- package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +48 -44
- package/dist/astro/routes/api/schema/collections/index.mjs +48 -44
- package/dist/astro/routes/api/schema/index.mjs +13 -14
- package/dist/astro/routes/api/schema/orphans/_slug_.mjs +47 -43
- package/dist/astro/routes/api/schema/orphans/index.mjs +47 -43
- package/dist/astro/routes/api/search/enable.mjs +12 -11
- package/dist/astro/routes/api/search/index.mjs +11 -10
- package/dist/astro/routes/api/search/rebuild.mjs +12 -11
- package/dist/astro/routes/api/search/stats.mjs +7 -7
- package/dist/astro/routes/api/search/suggest.mjs +11 -10
- package/dist/astro/routes/api/sections/_slug_.mjs +32 -29
- package/dist/astro/routes/api/sections/index.mjs +32 -29
- package/dist/astro/routes/api/settings/email.mjs +4 -4
- package/dist/astro/routes/api/settings.mjs +32 -29
- package/dist/astro/routes/api/setup/admin-verify.mjs +14 -13
- package/dist/astro/routes/api/setup/admin.mjs +12 -11
- package/dist/astro/routes/api/setup/dev-bypass.mjs +32 -26
- package/dist/astro/routes/api/setup/dev-reset.mjs +2 -2
- package/dist/astro/routes/api/setup/index.mjs +30 -26
- package/dist/astro/routes/api/setup/status.mjs +3 -3
- package/dist/astro/routes/api/snapshot.mjs +9 -8
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +35 -32
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +35 -32
- package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +35 -32
- package/dist/astro/routes/api/taxonomies/index.mjs +35 -32
- package/dist/astro/routes/api/themes/preview.mjs +6 -6
- package/dist/astro/routes/api/typegen.mjs +4 -4
- package/dist/astro/routes/api/well-known/auth.mjs +3 -3
- package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +3 -3
- package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +3 -3
- package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +31 -28
- package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +32 -29
- package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +32 -29
- package/dist/astro/routes/api/widget-areas/_name_.mjs +29 -27
- package/dist/astro/routes/api/widget-areas/index.mjs +32 -29
- package/dist/astro/routes/api/widget-components.mjs +2 -2
- package/dist/astro/routes/robots.txt.mjs +9 -8
- package/dist/astro/routes/sitemap-_collection_.xml.mjs +24 -15
- package/dist/astro/routes/sitemap.xml.mjs +10 -9
- package/dist/astro/session-driver.d.mts +1 -1
- package/dist/astro/session-driver.mjs +3 -3
- package/dist/astro/types.d.mts +21 -13
- package/dist/{audit-D1cbG7xH.mjs → audit-ByVKIwWF.mjs} +1 -1
- package/dist/auth/providers/github.d.mts +1 -1
- package/dist/auth/providers/google.d.mts +1 -1
- package/dist/{auth-control-guard-Dr14I98m.mjs → auth-control-guard-CqeUmQsv.mjs} +1 -1
- package/dist/{authorize-BLO0m7fW.mjs → authorize-CcBxcHtz.mjs} +1 -1
- package/dist/{briefing-CObXGOGz.mjs → briefing-BJaJI8dm.mjs} +2 -1
- package/dist/{briefing-gKWiGLt1.mjs → briefing-CawZ59CY.mjs} +90 -28
- package/dist/bundle-7C_DpkEq.mjs +602 -0
- package/dist/{byline-1ntDwv8c.mjs → byline-e51-fWRs.mjs} +30 -62
- package/dist/{byline-fields-BX7rWKNU.d.mts → byline-fields-CUvbslGc.d.mts} +49 -6
- package/dist/{byline-fields-C9_iaPaM.mjs → byline-fields-D-N5qVIG.mjs} +1 -1
- package/dist/{byline-fields-B-ZkoVft.mjs → byline-fields-DOJO16Gm.mjs} +3 -3
- package/dist/{byline-registry-CUSvkasJ.mjs → byline-registry-87nNnYl4.mjs} +2 -2
- package/dist/{bylines-bC15ZqAv.mjs → bylines-CMQNCNFh.mjs} +9 -3
- package/dist/{bylines-DtxChhN_.mjs → bylines-y4LO-dTj.mjs} +5 -5
- package/dist/{cache-DbKyr60Q.mjs → cache-C-FNTFYK.mjs} +2 -2
- package/dist/{chunks-C5zp2xir.mjs → chunks-CxBt-GxR.mjs} +1 -1
- package/dist/cli/index.mjs +820 -1276
- package/dist/client/external-auth-headers.d.mts +1 -1
- package/dist/client/index.d.mts +1 -1
- package/dist/client/index.mjs +2 -1
- package/dist/{comment-CXDOQ93N.mjs → comment-DlA4iChg.mjs} +13 -3
- package/dist/comment-reaction-DfFao1ST.mjs +58 -0
- package/dist/{comments-hK-rdzJ9.mjs → comments-DApFGMsP.mjs} +1 -1
- package/dist/{content-QaryevFO.mjs → content-Bh4BDjv8.mjs} +51 -34
- package/dist/content-refresh-CgutSUfO.mjs +1576 -0
- package/dist/{context-CoYb_fvK.mjs → context-C5W3G18y.mjs} +111 -50
- package/dist/{context-DBL1ib4v.mjs → context-CK4ym2Sf.mjs} +2 -2
- package/dist/{context-route-helpers-CYQVmbIm.mjs → context-route-helpers-MASyGgWf.mjs} +2 -1
- package/dist/{cron-DxCAU_Sn.mjs → cron-cKcNTix_.mjs} +7 -3
- package/dist/{dashboard-DNlqsknJ.mjs → dashboard-DQkVT7Ei.mjs} +4 -4
- package/dist/db/index.d.mts +3 -3
- package/dist/db/index.mjs +1 -1
- package/dist/db/libsql.d.mts +1 -1
- package/dist/db/postgres.d.mts +1 -1
- package/dist/db/sqlite.d.mts +1 -1
- package/dist/{device-flow-DygsFPGL.mjs → device-flow-BnqRH-T9.mjs} +5 -5
- package/dist/{placeholder-BDo81Is5.mjs → enrich-DIFIFA8O.mjs} +36 -9
- package/dist/{error-DCSuUAZW.mjs → error-CytFlgcd.mjs} +5 -0
- package/dist/field-defs-cache-DRNdhBJv.mjs +49 -0
- package/dist/{fts-manager-CIZlScg5.mjs → fts-manager-Crzypjqu.mjs} +1 -1
- package/dist/hitl-Hw1RmWOq.mjs +677 -0
- package/dist/{hitl-requests-CGQwOEiq.mjs → hitl-requests-B4Vbcmaq.mjs} +2 -2
- package/dist/{hitl-route-helpers-GSDLNPpN.mjs → hitl-route-helpers-hEVzvP8l.mjs} +5 -4
- package/dist/import-Bh9biJfx.mjs +1354 -0
- package/dist/{index-CwRuZ-u8.d.mts → index-D4y6NGiy.d.mts} +75 -3
- package/dist/index.d.mts +17 -16
- package/dist/index.mjs +81 -69
- package/dist/{jsonld-DZ67souc.d.mts → jsonld-Dq0gsnOH.d.mts} +8 -4
- package/dist/{load-xE01Jm0V.mjs → load-DmYeniXl.mjs} +1 -1
- package/dist/{loader-tg63WSY2.mjs → loader-CjWqjweO.mjs} +117 -31
- package/dist/{manifest-schema-qh2P7RDX.mjs → manifest-schema-BxVPYMJR.mjs} +34 -1
- package/dist/mcp-reviewed-executor-TwVbMzG6.mjs +555 -0
- package/dist/media/image-endpoint.d.mts +32 -0
- package/dist/media/image-endpoint.mjs +111 -0
- package/dist/media/index.d.mts +27 -2
- package/dist/media/index.mjs +5 -3
- package/dist/media/local-runtime.d.mts +16 -11
- package/dist/media/local-runtime.mjs +10 -8
- package/dist/{media-DUAjMfvR.mjs → media-DMj0grzC.mjs} +3 -1
- package/dist/{media-allowlist-BsXkT9RK.mjs → media-allowlist-BlVCSzHx.mjs} +1 -1
- package/dist/media-url-lEKSrpr9.mjs +20 -0
- package/dist/{menus-WpFRMXjz.mjs → menus-TaW1gKnk.mjs} +19 -5
- package/dist/{menus-DU1eZqw_.mjs → menus-xvsnVZXw.mjs} +80 -15
- package/dist/{normalize-DUnoXAa9.mjs → normalize-5ek_z7de.mjs} +8 -1
- package/dist/{oauth-authorization-D-1p52Je.mjs → oauth-authorization-DiaGvRVz.mjs} +5 -5
- package/dist/{oauth-clients-CzeMGyUU.mjs → oauth-clients-Dl9E8dEM.mjs} +2 -2
- package/dist/object-cache/memory.d.mts +14 -0
- package/dist/object-cache/memory.mjs +55 -0
- package/dist/object-cache-D51qOseS.mjs +419 -0
- package/dist/page/index.d.mts +4 -3
- package/dist/page/index.mjs +2 -2
- package/dist/{parse-CneSgl7-.mjs → parse-CbymENaR.mjs} +1 -1
- package/dist/{parser-DxfsARXL.mjs → parser-C1nYd-81.mjs} +151 -9
- package/dist/{placeholder-CXfoCtCd.d.mts → placeholder-uvNRZBX9.d.mts} +12 -4
- package/dist/plugin-utils.d.mts +9 -9
- package/dist/plugins/adapt-sandbox-entry.d.mts +9 -9
- package/dist/plugins/adapt-sandbox-entry.mjs +11 -2
- package/dist/{plugins-C57YQi4l.mjs → plugins-BolVa-tl.mjs} +832 -64
- package/dist/{transport-LSdZVXHF.mjs → portable-text-dA_UlJwW.mjs} +1 -134
- package/dist/{preview-D5rvDhRt.mjs → preview-vSVg6fwG.mjs} +4 -3
- package/dist/process-cache-7xgAO9JY.mjs +106 -0
- package/dist/{provider-loader-9it4vd6L.d.mts → provider-loader-MD8zAbnH.d.mts} +1 -1
- package/dist/{public-url-DLUM5OOv.mjs → public-url-BEz_sM9n.mjs} +24 -18
- package/dist/{public-url-B5HaoGzj.d.mts → public-url-gsp3oUbu.d.mts} +5 -4
- package/dist/{query-BYc3oruA.mjs → query-CfRCdaL3.mjs} +281 -76
- package/dist/{query-DKEwzobh.mjs → query-jaAmw8E1.mjs} +11 -6
- package/dist/{rate-limit-i0G3IAOX.mjs → rate-limit-ZLdyWoZF.mjs} +2 -2
- package/dist/{redirect-C2zXRj3c.mjs → redirect-BAjt4Z6b.mjs} +2 -2
- package/dist/{redirects-YZo_znWG.mjs → redirects-BTdwpQtE.mjs} +47 -24
- package/dist/{redirects-ocRJmQHP.mjs → redirects-CA-xylPG.mjs} +19 -11
- package/dist/{registry-CTkbIDB9.mjs → registry-CtyVedcN.mjs} +130 -77
- package/dist/request-context.d.mts +2 -0
- package/dist/{request-meta-DAb6xaP9.mjs → request-meta-CUypToDJ.mjs} +1 -1
- package/dist/{review-requests-C0un5kdV.mjs → review-requests-C9Ff11Vq.mjs} +1 -1
- package/dist/{review-requests-gGMyYYhy.mjs → review-requests-DUyEmtmG.mjs} +1 -1
- package/dist/{runner-D4FL9usy.d.mts → runner-1tC2tIRV.d.mts} +1 -1
- package/dist/runner-DB7CRfOF.mjs +6740 -0
- package/dist/{runtime-DEWQpZ-4.d.mts → runtime-BOeiQsCv.d.mts} +2028 -1564
- package/dist/runtime.d.mts +10 -10
- package/dist/runtime.mjs +4 -4
- package/dist/schema-DXdYj4R3.mjs +8 -0
- package/dist/{search-axGQ1KY3.mjs → search-DSaLgEFI.mjs} +5 -3
- package/dist/{secrets-062Izo8i.mjs → secrets-CDZo2k8L.mjs} +15 -12
- package/dist/{sections-OLKgXL10.mjs → sections-PVVXHGfp.mjs} +2 -2
- package/dist/seed/index.d.mts +2 -2
- package/dist/seed/index.mjs +22 -19
- package/dist/seo/index.d.mts +1 -1
- package/dist/seo/index.mjs +3 -12
- package/dist/{seo-Cd45Po8L.mjs → seo-CQG3GCHQ.mjs} +5 -2
- package/dist/{seo-contributions-CqVvReEj.mjs → seo-contributions-C1EnikHB.mjs} +11 -3
- package/dist/{seo-5lJOtB5J.mjs → seo-qa7Dn0jK.mjs} +22 -4
- package/dist/{service-Bwad8s5h.mjs → service-DiN4ZuPp.mjs} +2 -2
- package/dist/session-user-CAKImna3.mjs +22 -0
- package/dist/{settings-yLjz_I4T.mjs → settings-BbqgHWpU.mjs} +28 -55
- package/dist/{settings-lAHjaUit.mjs → settings-i4VPP8bT.mjs} +2 -2
- package/dist/{setup-complete--PradA4R.mjs → setup-complete-B8fl-mjV.mjs} +1 -1
- package/dist/{site-activity-D7Xyropw.mjs → site-activity-Dy3FROs0.mjs} +1 -1
- package/dist/{site-context-DaN9Z91j.mjs → site-context-DQiL8Fl5.mjs} +23 -652
- package/dist/{site-url-DpGZo9Z6.mjs → site-url-BML3GQYm.mjs} +1 -1
- package/dist/status-DANd8ERo.mjs +21 -0
- package/dist/storage/local.d.mts +1 -1
- package/dist/storage/local.mjs +1 -1
- package/dist/storage/s3.d.mts +1 -1
- package/dist/storage/s3.mjs +1 -1
- package/dist/{taxonomies-uXVEoQso.mjs → taxonomies-9s-v03H-.mjs} +36 -29
- package/dist/taxonomies-DRiixp_E.mjs +443 -0
- package/dist/{taxonomy-CBmkmMuU.mjs → taxonomy-Dvsw6BOs.mjs} +44 -9
- package/dist/{tokens-CjSgb0AC.mjs → tokens-1RK1n6ED.mjs} +1 -1
- package/dist/transport-BNmCqLu7.mjs +134 -0
- package/dist/types-4garmdWa.mjs +66 -0
- package/dist/{types-DSPGWjxO.d.mts → types-C8XW6L19.d.mts} +225 -4
- package/dist/{types-GaCtZ1k9.d.mts → types-CDpH6MA4.d.mts} +18 -0
- package/dist/{types-DRIKLmJI.d.mts → types-C_ly5eTp.d.mts} +17 -2
- package/dist/types-DF7ZuGGk.d.mts +118 -0
- package/dist/types-DU0bU2Wu.d.mts +2392 -0
- package/dist/{types-CwawBUTa.d.mts → types-DW_-sFyz.d.mts} +2 -1
- package/dist/{types-DfuD0Afl.mjs → types-Dq1qT19x.mjs} +2 -2
- package/dist/ui/server-runtime.d.mts +15 -15
- package/dist/ui/server-runtime.mjs +25 -21
- package/dist/url-Cac7a9QZ.mjs +33 -0
- package/dist/{user-DtNmjNYt.mjs → user-BIZPzCb9.mjs} +2 -2
- package/dist/{utils-wv-zvC-Y.mjs → utils-CMDhr5Xd.mjs} +129 -7
- package/dist/{validate-BMs11tan.d.mts → validate-CZvb-BKB.d.mts} +10 -7
- package/dist/{validate-7SYRbz2f.mjs → validate-DNs0pTSc.mjs} +11 -6
- package/dist/version-BTvfRGc6.mjs +6 -0
- package/dist/{widgets-DR8EHuRO.mjs → widgets-f0ibZUIq.mjs} +46 -43
- package/dist/{wordpress-slugs-Dvhxh4cl.mjs → wordpress-slugs-BhHJX8XE.mjs} +1 -1
- package/dist/{zod-generator-BS9-umbk.mjs → zod-generator-B7TMjyFJ.mjs} +41 -13
- package/package.json +31 -8
- package/src/components/Block.astro +50 -0
- package/src/components/Comments.astro +143 -1
- package/src/components/DinewayHead.astro +19 -2
- package/src/components/DinewayImage.astro +66 -33
- package/src/components/DinewayMedia.astro +1 -2
- package/src/components/Image.astro +85 -40
- package/src/components/InlinePortableTextEditor.tsx +12 -2
- package/src/components/JsonLdScript.astro +9 -0
- package/src/components/LiveSearch.astro +40 -4
- package/src/components/index.ts +4 -0
- package/src/components/live-search-routing.ts +30 -0
- package/src/components/portable-text-text-align.ts +15 -0
- package/src/ui.ts +2 -0
- package/dist/entity-aliases-Egjmqc7I.mjs +0 -51
- package/dist/import-CvHY6sf5.mjs +0 -684
- package/dist/runner-B-tbV751.mjs +0 -2741
- package/dist/schema-B6zyB-Xn.mjs +0 -8
- package/dist/taxonomies-CNOGeC-3.mjs +0 -327
- package/dist/types-eu5UDgHN.d.mts +0 -652
- package/dist/version-xlzMSXF2.mjs +0 -6
- /package/dist/{adapters-OQCImOL7.d.mts → adapters-NVSs4UH7.d.mts} +0 -0
- /package/dist/{api-tokens-CYUoFGo7.mjs → api-tokens-2r7OWi_I.mjs} +0 -0
- /package/dist/{base64-C1Q9yr0B.mjs → base64-F8-DUraK.mjs} +0 -0
- /package/dist/{challenge-store-CRSz-Xim.mjs → challenge-store-Bjlepa2E.mjs} +0 -0
- /package/dist/{components--pg6zBvu.mjs → components-Bclf98Be.mjs} +0 -0
- /package/dist/{context-types-DQh_XKkn.mjs → context-types-DqTo6C79.mjs} +0 -0
- /package/dist/{default-B6iaLvP7.mjs → default--K40jqm0.mjs} +0 -0
- /package/dist/{email-console-BOVqIYpB.mjs → email-console-ChgKFO8-.mjs} +0 -0
- /package/dist/{escape-BDgouFFY.mjs → escape-Bd4P_xKg.mjs} +0 -0
- /package/dist/{experimental-workflows-Dh4DUoD_.mjs → experimental-workflows-BMsUnIAw.mjs} +0 -0
- /package/dist/{mime-8pAB8-77.mjs → mime-CA7Lgovc.mjs} +0 -0
- /package/dist/{mode-CpyEz8pe.mjs → mode-C4CIyjtR.mjs} +0 -0
- /package/dist/{oauth-state-store-qncPB_IU.mjs → oauth-state-store-CNoXafF7.mjs} +0 -0
- /package/dist/{oauth-user-lookup-BFjWF8wK.mjs → oauth-user-lookup-Ygw4bNyt.mjs} +0 -0
- /package/dist/{options-BvJoSSJR.mjs → options-DQPTH5n0.mjs} +0 -0
- /package/dist/{passkey-config-DzHQK90v.mjs → passkey-config-BUwu8BA3.mjs} +0 -0
- /package/dist/{patterns-r-0n824Y.mjs → patterns-BhAvqO0S.mjs} +0 -0
- /package/dist/{provider-loader-DzUxejk7.mjs → provider-loader-D0w9dqjm.mjs} +0 -0
- /package/dist/{redirect-BjIBtDWY.mjs → redirect-wphRBv4y.mjs} +0 -0
- /package/dist/{request-cache-CYMbwZc6.mjs → request-cache-D9GQBxMP.mjs} +0 -0
- /package/dist/{resolve-DTuDyYKs.mjs → resolve-Cb6Dbz-C.mjs} +0 -0
- /package/dist/{setup-nonce-pyGfc9hV.mjs → setup-nonce-CoyjILvW.mjs} +0 -0
- /package/dist/{sidecar-client-mJxwayYN.mjs → sidecar-client-C3mqXg4C.mjs} +0 -0
- /package/dist/{slugify-BzGxlOFx.mjs → slugify-KSsVD_D3.mjs} +0 -0
- /package/dist/{ssrf-DiKqWd3N.mjs → ssrf-DWe8jwAp.mjs} +0 -0
- /package/dist/{transaction-CShMWIej.mjs → transaction-C2EOMTJA.mjs} +0 -0
- /package/dist/{transport-BnsNxh2l.d.mts → transport-CcJu3Co8.d.mts} +0 -0
- /package/dist/{trusted-proxy-BgIIcbsN.mjs → trusted-proxy-DTXQ2IMv.mjs} +0 -0
- /package/dist/{types-BO8TGjS8.mjs → types-B3t5cxhU.mjs} +0 -0
- /package/dist/{types-nP9vGUFq.d.mts → types-C46EvNdc.d.mts} +0 -0
- /package/dist/{types-Cg276-3z.mjs → types-C5CVgwsV.mjs} +0 -0
- /package/dist/{types-DZpT-PnG.d.mts → types-POH8PQZh.d.mts} +0 -0
- /package/dist/{types-Dryvv7LH.d.mts → types-Rc3gQqqw.d.mts} +0 -0
- /package/dist/{url-w7Mp5qAD.mjs → url-CpyFDFpO.mjs} +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { a as __exportAll } from "./runner-
|
|
1
|
+
import { a as __exportAll } from "./runner-DB7CRfOF.mjs";
|
|
2
2
|
import { t as validateIdentifier } from "./validate-VPnKoIzW.mjs";
|
|
3
3
|
import { o as isPostgres, r as currentIsoTimestampValue } from "./dialect-helpers-fk43GbDb.mjs";
|
|
4
|
-
import { i as encodeCursor, r as decodeCursor } from "./types-DfuD0Afl.mjs";
|
|
5
4
|
import { getRequestContext } from "./request-context.mjs";
|
|
6
5
|
import { kyselyLogOption } from "./database/instrumentation.mjs";
|
|
6
|
+
import { i as encodeCursor, r as decodeCursor } from "./types-Dq1qT19x.mjs";
|
|
7
7
|
import { Kysely, sql } from "kysely";
|
|
8
8
|
|
|
9
9
|
//#region src/live-collection-meta.ts
|
|
@@ -82,14 +82,19 @@ function isMissingColumnError(error) {
|
|
|
82
82
|
//#region src/loader.ts
|
|
83
83
|
var loader_exports = /* @__PURE__ */ __exportAll({
|
|
84
84
|
CURSOR_RAW_VALUES: () => CURSOR_RAW_VALUES,
|
|
85
|
+
FOLDED_BYLINES: () => FOLDED_BYLINES,
|
|
86
|
+
FOLDED_TERMS: () => FOLDED_TERMS,
|
|
85
87
|
dinewayLoader: () => dinewayLoader,
|
|
86
|
-
getDb: () => getDb
|
|
88
|
+
getDb: () => getDb,
|
|
89
|
+
resetTaxonomyNamesCache: () => resetTaxonomyNamesCache
|
|
87
90
|
});
|
|
88
91
|
const FIELD_NAME_PATTERN = /^[a-zA-Z_][a-zA-Z0-9_]*$/;
|
|
89
92
|
const LIKE_WILDCARD_RE = /[\\%_]/g;
|
|
90
93
|
/**
|
|
91
|
-
* SEO
|
|
92
|
-
*
|
|
94
|
+
* SEO values are folded into one `_dineway_seo` JSON result column, then
|
|
95
|
+
* expanded onto these aliases for extractSeo(). Keeping SEO to one result
|
|
96
|
+
* column prevents wide flat-schema collections from crossing result-set column
|
|
97
|
+
* limits while preserving the public `entry.data.seo` shape.
|
|
93
98
|
*/
|
|
94
99
|
const SEO_COLUMN_ALIASES = {
|
|
95
100
|
seo_title: "_dineway_seo_title",
|
|
@@ -99,6 +104,7 @@ const SEO_COLUMN_ALIASES = {
|
|
|
99
104
|
seo_no_index: "_dineway_seo_no_index"
|
|
100
105
|
};
|
|
101
106
|
const SEO_ALIAS_COLUMNS = Object.values(SEO_COLUMN_ALIASES);
|
|
107
|
+
const SEO_FOLDED_COLUMN = "_dineway_seo";
|
|
102
108
|
/**
|
|
103
109
|
* System columns excluded from entry.data
|
|
104
110
|
* Note: slug is intentionally NOT excluded - it's useful as data.slug in templates
|
|
@@ -118,8 +124,76 @@ const SYSTEM_COLUMNS = new Set([
|
|
|
118
124
|
"draft_revision_id",
|
|
119
125
|
"locale",
|
|
120
126
|
"translation_group",
|
|
121
|
-
...SEO_ALIAS_COLUMNS
|
|
127
|
+
...SEO_ALIAS_COLUMNS,
|
|
128
|
+
"_dineway_terms",
|
|
129
|
+
"_dineway_bylines",
|
|
130
|
+
SEO_FOLDED_COLUMN
|
|
122
131
|
]);
|
|
132
|
+
/** Markers for byline/taxonomy hydration folded into the content query. */
|
|
133
|
+
const FOLDED_TERMS = Symbol.for("dineway:foldedTerms");
|
|
134
|
+
const FOLDED_BYLINES = Symbol.for("dineway:foldedBylines");
|
|
135
|
+
/**
|
|
136
|
+
* Correlated JSON-array subqueries that fold taxonomy-term and byline hydration
|
|
137
|
+
* into the content query without join fan-out. `outer` is the content table
|
|
138
|
+
* alias/name, and each subquery correlates on `<outer>.id`.
|
|
139
|
+
*/
|
|
140
|
+
function foldedHydrationSelects(db, type, outer) {
|
|
141
|
+
const o = sql.ref(outer);
|
|
142
|
+
const pg = isPostgres(db);
|
|
143
|
+
const obj = (pairs) => pg ? sql.raw(`json_build_object(${pairs})`) : sql.raw(`json_object(${pairs})`);
|
|
144
|
+
const agg = (inner) => pg ? sql`coalesce(json_agg(${inner}), '[]'::json)` : sql`json_group_array(${inner})`;
|
|
145
|
+
const foldJoin = pg ? sql`JOIN` : sql`CROSS JOIN`;
|
|
146
|
+
const terms = sql`(SELECT ${agg(obj("'id', t.id, 'name', t.name, 'slug', t.slug, 'label', t.label, 'parent_id', t.parent_id, 'locale', t.locale, 'translation_group', t.translation_group"))} FROM ${sql.ref("content_taxonomies")} AS ct ${foldJoin} ${sql.ref("taxonomies")} AS t ON t.translation_group = ct.taxonomy_id WHERE ct.collection = ${type} AND ct.entry_id = ${o}.id AND t.locale = ${o}.locale) AS ${sql.ref("_dineway_terms")}`;
|
|
147
|
+
const bylineInner = obj("'id', b.id, 'slug', b.slug, 'displayName', b.display_name, 'bio', b.bio, 'avatarMediaId', b.avatar_media_id, 'avatarStorageKey', m.storage_key, 'avatarAlt', m.alt, 'avatarBlurhash', m.blurhash, 'avatarDominantColor', m.dominant_color, 'websiteUrl', b.website_url, 'userId', b.user_id, 'isGuest', b.is_guest, 'createdAt', b.created_at, 'updatedAt', b.updated_at, 'locale', b.locale, 'translationGroup', b.translation_group");
|
|
148
|
+
return {
|
|
149
|
+
terms,
|
|
150
|
+
bylines: sql`(SELECT ${agg(sql`${pg ? sql.raw("json_build_object('roleLabel', cb.role_label, 'sortOrder', cb.sort_order, 'byline', ") : sql.raw("json_object('roleLabel', cb.role_label, 'sortOrder', cb.sort_order, 'byline', ")}${bylineInner})`)} FROM ${sql.ref("_dineway_content_bylines")} AS cb ${foldJoin} ${sql.ref("_dineway_bylines")} AS b ON b.translation_group = cb.byline_id LEFT JOIN ${sql.ref("media")} AS m ON m.id = b.avatar_media_id WHERE cb.collection_slug = ${type} AND cb.content_id = ${o}.id AND b.locale = ${o}.locale) AS ${sql.ref("_dineway_bylines")}`
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
function foldedSeoSelect(db, type, outer) {
|
|
154
|
+
const o = sql.ref(outer);
|
|
155
|
+
const pairs = "'seo_title', s.seo_title, 'seo_description', s.seo_description, 'seo_image', s.seo_image, 'seo_canonical', s.seo_canonical, 'seo_no_index', s.seo_no_index";
|
|
156
|
+
return sql`(SELECT ${isPostgres(db) ? sql.raw(`json_build_object(${pairs})`) : sql.raw(`json_object(${pairs})`)} FROM ${sql.ref("_dineway_seo")} AS s WHERE s.collection = ${type} AND s.content_id = ${o}.id LIMIT 1) AS ${sql.ref(SEO_FOLDED_COLUMN)}`;
|
|
157
|
+
}
|
|
158
|
+
function isPlainObject(value) {
|
|
159
|
+
return !!value && typeof value === "object" && !Array.isArray(value);
|
|
160
|
+
}
|
|
161
|
+
function expandFoldedSeo(row) {
|
|
162
|
+
const raw = row[SEO_FOLDED_COLUMN];
|
|
163
|
+
delete row[SEO_FOLDED_COLUMN];
|
|
164
|
+
let parsed = null;
|
|
165
|
+
if (typeof raw === "string") try {
|
|
166
|
+
const candidate = JSON.parse(raw);
|
|
167
|
+
if (isPlainObject(candidate)) parsed = candidate;
|
|
168
|
+
} catch {
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
else if (isPlainObject(raw)) parsed = raw;
|
|
172
|
+
if (!parsed) return;
|
|
173
|
+
for (const [column, alias] of Object.entries(SEO_COLUMN_ALIASES)) row[alias] = parsed[column] ?? null;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Stash folded hydration JSON for query.ts fast paths. SQLite returns a JSON
|
|
177
|
+
* string; Postgres drivers return parsed JSON for json/jsonb.
|
|
178
|
+
*/
|
|
179
|
+
function stashFolded(data, row) {
|
|
180
|
+
for (const [column, symbol] of [["_dineway_terms", FOLDED_TERMS], ["_dineway_bylines", FOLDED_BYLINES]]) {
|
|
181
|
+
const raw = row[column];
|
|
182
|
+
let value;
|
|
183
|
+
if (typeof raw === "string") try {
|
|
184
|
+
value = JSON.parse(raw);
|
|
185
|
+
} catch {
|
|
186
|
+
continue;
|
|
187
|
+
}
|
|
188
|
+
else if (Array.isArray(raw)) value = raw;
|
|
189
|
+
else continue;
|
|
190
|
+
Object.defineProperty(data, symbol, {
|
|
191
|
+
value,
|
|
192
|
+
enumerable: false,
|
|
193
|
+
configurable: true
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
}
|
|
123
197
|
function extractSeo(row) {
|
|
124
198
|
const noIndex = row[SEO_COLUMN_ALIASES.seo_no_index];
|
|
125
199
|
if (noIndex === null || noIndex === void 0) return null;
|
|
@@ -165,6 +239,9 @@ async function getTaxonomyNames(db) {
|
|
|
165
239
|
return empty;
|
|
166
240
|
}
|
|
167
241
|
}
|
|
242
|
+
function resetTaxonomyNamesCache() {
|
|
243
|
+
taxonomyNames = null;
|
|
244
|
+
}
|
|
168
245
|
/**
|
|
169
246
|
* System columns to include in data (mapped to camelCase where needed)
|
|
170
247
|
*/
|
|
@@ -451,9 +528,11 @@ function dinewayLoader() {
|
|
|
451
528
|
const orderBy = filter?.orderBy;
|
|
452
529
|
const locale = filter?.locale;
|
|
453
530
|
const fetchLimit = limit ? limit + 1 : void 0;
|
|
531
|
+
const rawOffset = cursor ? void 0 : filter?.offset;
|
|
532
|
+
const offset = typeof rawOffset === "number" && Number.isInteger(rawOffset) && rawOffset > 0 ? rawOffset : void 0;
|
|
454
533
|
const cursorCondition = cursor ? buildCursorCondition(cursor, orderBy) : null;
|
|
455
534
|
let result;
|
|
456
|
-
|
|
535
|
+
const taxonomyFilters = [];
|
|
457
536
|
let bylineFilter = null;
|
|
458
537
|
const fieldFilters = {};
|
|
459
538
|
if (where && Object.keys(where).length > 0) {
|
|
@@ -473,20 +552,17 @@ function dinewayLoader() {
|
|
|
473
552
|
console.warn(`[dineway] where filter: range operators are not supported on taxonomy "${key}", ignored`);
|
|
474
553
|
continue;
|
|
475
554
|
}
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
continue;
|
|
479
|
-
}
|
|
480
|
-
taxonomyFilter = {
|
|
555
|
+
const slugs = Array.isArray(value) ? value : [value];
|
|
556
|
+
taxonomyFilters.push({
|
|
481
557
|
name: key,
|
|
482
|
-
slugs
|
|
483
|
-
};
|
|
558
|
+
slugs
|
|
559
|
+
});
|
|
484
560
|
continue;
|
|
485
561
|
}
|
|
486
562
|
fieldFilters[key] = value;
|
|
487
563
|
}
|
|
488
564
|
}
|
|
489
|
-
if (taxonomyFilter
|
|
565
|
+
if (taxonomyFilters.some((taxonomyFilter) => taxonomyFilter.slugs.length === 0) || bylineFilter && bylineFilter.ids.length === 0) {
|
|
490
566
|
setCollectionMeta(filter, { total: 0 });
|
|
491
567
|
return {
|
|
492
568
|
entries: [],
|
|
@@ -502,14 +578,20 @@ function dinewayLoader() {
|
|
|
502
578
|
const fieldConditionsSql = fieldConditions.length > 0 ? sql`${sql.join(fieldConditions, sql` AND `)}` : null;
|
|
503
579
|
const searchCondition = buildSearchCondition(q, searchColumns);
|
|
504
580
|
const searchConditionSql = searchCondition ? sql`AND ${searchCondition}` : sql``;
|
|
505
|
-
const
|
|
581
|
+
const { terms: termsSelect, bylines: bylinesSelect } = foldedHydrationSelects(db, type, tableName);
|
|
582
|
+
let limitOffsetClause = sql``;
|
|
583
|
+
if (fetchLimit != null && offset != null) limitOffsetClause = sql`LIMIT ${fetchLimit} OFFSET ${offset}`;
|
|
584
|
+
else if (fetchLimit != null) limitOffsetClause = sql`LIMIT ${fetchLimit}`;
|
|
585
|
+
else if (offset != null) limitOffsetClause = isPostgres(db) ? sql`OFFSET ${offset}` : sql`LIMIT -1 OFFSET ${offset}`;
|
|
586
|
+
const taxonomyCondition = taxonomyFilters.length > 0 ? sql`${sql.join(taxonomyFilters.map((taxonomyFilter) => sql`AND EXISTS (
|
|
506
587
|
SELECT 1 FROM content_taxonomies ct
|
|
507
|
-
INNER JOIN taxonomies t ON t.
|
|
588
|
+
INNER JOIN taxonomies t ON t.translation_group = ct.taxonomy_id
|
|
508
589
|
WHERE ct.collection = ${type}
|
|
509
590
|
AND ct.entry_id = ${sql.ref(tableName)}.id
|
|
510
591
|
AND t.name = ${taxonomyFilter.name}
|
|
511
592
|
AND t.slug IN (${sql.join(taxonomyFilter.slugs.map((slug) => sql`${slug}`))})
|
|
512
|
-
|
|
593
|
+
${locale ? sql`AND t.locale = ${locale}` : sql``}
|
|
594
|
+
)`), sql` `)}` : sql``;
|
|
513
595
|
const bylineCondition = bylineFilter ? sql`AND EXISTS (
|
|
514
596
|
SELECT 1 FROM _dineway_content_bylines cb
|
|
515
597
|
WHERE cb.collection_slug = ${type}
|
|
@@ -524,7 +606,7 @@ function dinewayLoader() {
|
|
|
524
606
|
)
|
|
525
607
|
)` : sql``;
|
|
526
608
|
const [entriesResult, totalResult] = await Promise.all([sql`
|
|
527
|
-
SELECT
|
|
609
|
+
SELECT *, ${termsSelect}, ${bylinesSelect} FROM ${sql.ref(tableName)}
|
|
528
610
|
WHERE deleted_at IS NULL
|
|
529
611
|
AND ${statusCondition}
|
|
530
612
|
${localeFilter}
|
|
@@ -534,7 +616,7 @@ function dinewayLoader() {
|
|
|
534
616
|
${fieldConditionsSql ? sql`AND ${fieldConditionsSql}` : sql``}
|
|
535
617
|
${searchConditionSql}
|
|
536
618
|
${orderByClause}
|
|
537
|
-
${
|
|
619
|
+
${limitOffsetClause}
|
|
538
620
|
`.execute(db), sql`
|
|
539
621
|
SELECT COUNT(*) AS total FROM ${sql.ref(tableName)}
|
|
540
622
|
WHERE deleted_at IS NULL
|
|
@@ -554,11 +636,14 @@ function dinewayLoader() {
|
|
|
554
636
|
const entries = rows.map((row) => {
|
|
555
637
|
const slug = rowStr(row, "slug") || rowStr(row, "id");
|
|
556
638
|
const rowLocale = rowStr(row, "locale");
|
|
639
|
+
const id = i18nEnabled && rowLocale !== "" && (rowLocale !== i18nConfig.defaultLocale || i18nConfig.prefixDefaultLocale) ? `${rowLocale}/${slug}` : slug;
|
|
640
|
+
const data = mapRowToData(row);
|
|
641
|
+
stashFolded(data, row);
|
|
557
642
|
return {
|
|
558
|
-
id
|
|
643
|
+
id,
|
|
559
644
|
slug: rowStr(row, "slug"),
|
|
560
645
|
status: rowStr(row, "status", "draft"),
|
|
561
|
-
data
|
|
646
|
+
data,
|
|
562
647
|
cacheHint: {
|
|
563
648
|
tags: [rowStr(row, "id")],
|
|
564
649
|
lastModified: row.updated_at ? new Date(rowStr(row, "updated_at")) : void 0
|
|
@@ -579,12 +664,14 @@ function dinewayLoader() {
|
|
|
579
664
|
}
|
|
580
665
|
setCollectionMeta(filter, {
|
|
581
666
|
nextCursor,
|
|
582
|
-
total
|
|
667
|
+
total,
|
|
668
|
+
hasMore
|
|
583
669
|
});
|
|
584
670
|
return {
|
|
585
671
|
entries,
|
|
586
672
|
nextCursor,
|
|
587
673
|
total,
|
|
674
|
+
hasMore,
|
|
588
675
|
cacheHint: {
|
|
589
676
|
tags: [type],
|
|
590
677
|
lastModified: collectionLastModified
|
|
@@ -611,25 +698,23 @@ function dinewayLoader() {
|
|
|
611
698
|
if (!type || !id) return { error: /* @__PURE__ */ new Error("type and id filters are required. Use getDinewayEntry() instead of getLiveEntry() directly.") };
|
|
612
699
|
const tableName = getTableName(type);
|
|
613
700
|
const locale = filter?.locale;
|
|
614
|
-
const
|
|
701
|
+
const { terms: termsSelect, bylines: bylinesSelect } = foldedHydrationSelects(db, type, "c");
|
|
702
|
+
const seoSelect = foldedSeoSelect(db, type, "c");
|
|
615
703
|
const row = (locale ? await sql`
|
|
616
|
-
SELECT c.*, ${seoSelect}
|
|
704
|
+
SELECT c.*, ${seoSelect}, ${termsSelect}, ${bylinesSelect}
|
|
617
705
|
FROM ${sql.ref(tableName)} AS c
|
|
618
|
-
LEFT JOIN ${sql.ref("_dineway_seo")} AS s
|
|
619
|
-
ON s.collection = ${type} AND s.content_id = c.id
|
|
620
706
|
WHERE c.deleted_at IS NULL
|
|
621
707
|
AND ((c.slug = ${id} AND c.locale = ${locale}) OR c.id = ${id})
|
|
622
708
|
LIMIT 1
|
|
623
709
|
`.execute(db) : await sql`
|
|
624
|
-
SELECT c.*, ${seoSelect}
|
|
710
|
+
SELECT c.*, ${seoSelect}, ${termsSelect}, ${bylinesSelect}
|
|
625
711
|
FROM ${sql.ref(tableName)} AS c
|
|
626
|
-
LEFT JOIN ${sql.ref("_dineway_seo")} AS s
|
|
627
|
-
ON s.collection = ${type} AND s.content_id = c.id
|
|
628
712
|
WHERE c.deleted_at IS NULL
|
|
629
713
|
AND (c.slug = ${id} OR c.id = ${id})
|
|
630
714
|
LIMIT 1
|
|
631
715
|
`.execute(db)).rows[0];
|
|
632
716
|
if (!row) return;
|
|
717
|
+
expandFoldedSeo(row);
|
|
633
718
|
const i18nConfig = virtualConfig?.i18n;
|
|
634
719
|
const i18nEnabled = i18nConfig && i18nConfig.locales.length > 1;
|
|
635
720
|
const entrySlug = rowStr(row, "slug") || rowStr(row, "id");
|
|
@@ -673,6 +758,7 @@ function dinewayLoader() {
|
|
|
673
758
|
const entryData = mapRowToData(row);
|
|
674
759
|
const entrySeo = extractSeo(row);
|
|
675
760
|
if (entrySeo) entryData.seo = entrySeo;
|
|
761
|
+
stashFolded(entryData, row);
|
|
676
762
|
return {
|
|
677
763
|
id: entryId,
|
|
678
764
|
slug: rowStr(row, "slug"),
|
|
@@ -694,4 +780,4 @@ function dinewayLoader() {
|
|
|
694
780
|
}
|
|
695
781
|
|
|
696
782
|
//#endregion
|
|
697
|
-
export {
|
|
783
|
+
export { resetTaxonomyNamesCache as a, loader_exports as i, dinewayLoader as n, isMissingTableError as o, getDb as r, takeLiveCollectionMeta as s, CURSOR_RAW_VALUES as t };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { n as declaredAccessToCapabilities, t as capabilitiesToDeclaredAccess } from "./types-4garmdWa.mjs";
|
|
1
2
|
import { z } from "zod";
|
|
2
3
|
|
|
3
4
|
//#region src/plugins/manifest-schema.ts
|
|
@@ -52,6 +53,9 @@ const HOOK_NAMES = [
|
|
|
52
53
|
"content:afterDelete",
|
|
53
54
|
"content:afterPublish",
|
|
54
55
|
"content:afterUnpublish",
|
|
56
|
+
"content:afterRestore",
|
|
57
|
+
"content:afterSchedule",
|
|
58
|
+
"content:afterUnschedule",
|
|
55
59
|
"media:beforeUpload",
|
|
56
60
|
"media:afterUpload",
|
|
57
61
|
"cron",
|
|
@@ -171,6 +175,25 @@ const pluginAdminConfigSchema = z.object({
|
|
|
171
175
|
}).passthrough()).optional()
|
|
172
176
|
})).optional()
|
|
173
177
|
});
|
|
178
|
+
const accessConstraints = z.record(z.string(), z.unknown());
|
|
179
|
+
const declaredAccessSchema = z.object({
|
|
180
|
+
content: z.object({
|
|
181
|
+
read: accessConstraints.optional(),
|
|
182
|
+
write: accessConstraints.optional()
|
|
183
|
+
}).optional(),
|
|
184
|
+
media: z.object({
|
|
185
|
+
read: accessConstraints.optional(),
|
|
186
|
+
write: accessConstraints.optional()
|
|
187
|
+
}).optional(),
|
|
188
|
+
network: z.object({ request: z.object({ allowedHosts: z.array(z.string()).min(1).optional() }).optional() }).optional(),
|
|
189
|
+
email: z.object({
|
|
190
|
+
send: accessConstraints.optional(),
|
|
191
|
+
events: accessConstraints.optional(),
|
|
192
|
+
transport: accessConstraints.optional()
|
|
193
|
+
}).optional(),
|
|
194
|
+
page: z.object({ fragments: accessConstraints.optional() }).optional(),
|
|
195
|
+
users: z.object({ read: accessConstraints.optional() }).optional()
|
|
196
|
+
});
|
|
174
197
|
/**
|
|
175
198
|
* Zod schema matching the PluginManifest interface from types.ts.
|
|
176
199
|
*
|
|
@@ -179,6 +202,7 @@ const pluginAdminConfigSchema = z.object({
|
|
|
179
202
|
const pluginManifestSchema = z.object({
|
|
180
203
|
id: z.string().min(1),
|
|
181
204
|
version: z.string().min(1),
|
|
205
|
+
declaredAccess: declaredAccessSchema.optional(),
|
|
182
206
|
capabilities: z.array(z.enum(PLUGIN_CAPABILITIES)),
|
|
183
207
|
allowedHosts: z.array(z.string()),
|
|
184
208
|
storage: z.record(z.string(), storageCollectionSchema),
|
|
@@ -186,6 +210,15 @@ const pluginManifestSchema = z.object({
|
|
|
186
210
|
routes: z.array(z.union([z.string().min(1).regex(routeNamePattern, "Route name must be a safe path segment"), manifestRouteEntrySchema])),
|
|
187
211
|
admin: pluginAdminConfigSchema
|
|
188
212
|
});
|
|
213
|
+
function reconcileManifestAccess(manifest) {
|
|
214
|
+
return manifest.declaredAccess ? {
|
|
215
|
+
...manifest,
|
|
216
|
+
...declaredAccessToCapabilities(manifest.declaredAccess)
|
|
217
|
+
} : {
|
|
218
|
+
...manifest,
|
|
219
|
+
declaredAccess: capabilitiesToDeclaredAccess(manifest.capabilities, manifest.allowedHosts)
|
|
220
|
+
};
|
|
221
|
+
}
|
|
189
222
|
/**
|
|
190
223
|
* Normalize a manifest route entry — plain strings become `{ name }` objects.
|
|
191
224
|
*/
|
|
@@ -195,4 +228,4 @@ function normalizeManifestRoute(entry) {
|
|
|
195
228
|
}
|
|
196
229
|
|
|
197
230
|
//#endregion
|
|
198
|
-
export { pluginManifestSchema as i, PLUGIN_CAPABILITIES as n, normalizeManifestRoute as r, HOOK_NAMES as t };
|
|
231
|
+
export { reconcileManifestAccess as a, pluginManifestSchema as i, PLUGIN_CAPABILITIES as n, normalizeManifestRoute as r, HOOK_NAMES as t };
|