dineway 0.1.49 → 0.2.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/activity-DUaz_w7p.mjs +79 -0
- package/dist/{activity-events-CwM7yxPW.mjs → activity-events-CJDvE2uc.mjs} +5 -113
- package/dist/actor-0QJ1Gbtf.mjs +37 -0
- package/dist/after-BfniwgIf.mjs +9 -0
- package/dist/{allowed-origins-CyGnbgBd.mjs → allowed-origins--OwHHiY8.mjs} +1 -1
- package/dist/api/route-utils.d.mts +9 -10
- package/dist/api/route-utils.mjs +16 -13
- package/dist/api/schemas/index.d.mts +2 -2
- package/dist/api/schemas/index.mjs +5 -4
- package/dist/{api-BMIxRIEN.mjs → api-B4PHIF4V.mjs} +93 -41
- package/dist/{api-tokens-DtvdtIkm.mjs → api-tokens-tbK_sORH.mjs} +6 -2
- package/dist/{apply-D_RlTYtC.mjs → apply-DjTqq6Ae.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 +34 -11
- package/dist/astro/index.mjs +163 -24
- 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 +8 -18
- package/dist/astro/middleware/auth.mjs +42 -24
- package/dist/astro/middleware/redirect.mjs +13 -4
- package/dist/astro/middleware/request-context.mjs +8 -5
- 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 +389 -206
- 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 +21 -17
- 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 +17 -14
- package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +17 -14
- package/dist/astro/routes/api/admin/bylines/index.mjs +17 -14
- package/dist/astro/routes/api/admin/comments/_id_/status.mjs +14 -12
- package/dist/astro/routes/api/admin/comments/_id_.mjs +6 -5
- package/dist/astro/routes/api/admin/comments/bulk.mjs +11 -9
- package/dist/astro/routes/api/admin/comments/counts.mjs +6 -5
- package/dist/astro/routes/api/admin/comments/index.mjs +11 -9
- package/dist/astro/routes/api/admin/context/_id_/history.mjs +27 -24
- package/dist/astro/routes/api/admin/context/_id_/index.mjs +27 -24
- package/dist/astro/routes/api/admin/context/_id_/review.mjs +32 -28
- package/dist/astro/routes/api/admin/context/_id_/supersede.mjs +32 -28
- package/dist/astro/routes/api/admin/context/diff.mjs +31 -27
- package/dist/astro/routes/api/admin/context/index.mjs +32 -28
- package/dist/astro/routes/api/admin/context/stale.mjs +31 -27
- package/dist/astro/routes/api/admin/hitl-requests/_id_/index.mjs +27 -24
- package/dist/astro/routes/api/admin/hitl-requests/_id_/resolve.mjs +31 -27
- package/dist/astro/routes/api/admin/hitl-requests/index.mjs +31 -27
- package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +28 -25
- 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 -51
- package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +56 -51
- package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +47 -43
- package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +54 -49
- package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +53 -48
- package/dist/astro/routes/api/admin/plugins/index.mjs +47 -43
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +2 -2
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +46 -42
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +53 -48
- package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +46 -42
- package/dist/astro/routes/api/admin/plugins/updates.mjs +46 -42
- package/dist/astro/routes/api/admin/review-requests/_id_/index.mjs +5 -5
- package/dist/astro/routes/api/admin/review-requests/_id_/resolve.mjs +32 -63
- package/dist/astro/routes/api/admin/review-requests/index.d.mts +2 -1
- package/dist/astro/routes/api/admin/review-requests/index.mjs +58 -10
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +46 -42
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +2 -2
- package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +46 -42
- 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 +9 -8
- 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 +5 -5
- 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 +15 -13
- 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 -5
- package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +6 -5
- package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +6 -5
- package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +11 -10
- package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +49 -20
- package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +6 -5
- package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +2 -2
- package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +67 -32
- package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +16 -14
- package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +2 -2
- package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +6 -5
- package/dist/astro/routes/api/content/_collection_/_id_.mjs +11 -9
- package/dist/astro/routes/api/content/_collection_/authors.mjs +2 -2
- package/dist/astro/routes/api/content/_collection_/index.mjs +11 -9
- package/dist/astro/routes/api/content/_collection_/trash.mjs +7 -6
- package/dist/astro/routes/api/dashboard.mjs +9 -8
- 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 +22 -10
- package/dist/astro/routes/api/import/wordpress/analyze.mjs +9 -6
- package/dist/astro/routes/api/import/wordpress/execute.d.mts +18 -1
- package/dist/astro/routes/api/import/wordpress/execute.mjs +85 -37
- package/dist/astro/routes/api/import/wordpress/media.d.mts +12 -1
- package/dist/astro/routes/api/import/wordpress/media.mjs +20 -14
- package/dist/astro/routes/api/import/wordpress/prepare.mjs +36 -32
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +17 -1
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +121 -100
- package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
- package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +24 -12
- package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +55 -2
- package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +284 -55
- package/dist/astro/routes/api/manifest.mjs +14 -5
- package/dist/astro/routes/api/mcp.mjs +753 -170
- package/dist/astro/routes/api/media/_id_/confirm.mjs +38 -10
- 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 +11 -10
- package/dist/astro/routes/api/media.mjs +28 -35
- package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +32 -28
- package/dist/astro/routes/api/menus/_name_/items.mjs +32 -28
- package/dist/astro/routes/api/menus/_name_/reorder.mjs +32 -28
- package/dist/astro/routes/api/menus/_name_/translations.mjs +32 -28
- package/dist/astro/routes/api/menus/_name_.mjs +32 -28
- package/dist/astro/routes/api/menus/index.mjs +32 -28
- 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 +46 -31
- package/dist/astro/routes/api/redirects/404s/index.mjs +11 -10
- package/dist/astro/routes/api/redirects/404s/summary.mjs +11 -10
- package/dist/astro/routes/api/redirects/_id_.mjs +33 -29
- package/dist/astro/routes/api/redirects/index.mjs +33 -29
- 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 -43
- package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +48 -43
- package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +48 -43
- package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +48 -43
- package/dist/astro/routes/api/schema/collections/index.mjs +48 -43
- package/dist/astro/routes/api/schema/index.mjs +14 -15
- package/dist/astro/routes/api/schema/orphans/_slug_.mjs +46 -42
- package/dist/astro/routes/api/schema/orphans/index.mjs +46 -42
- package/dist/astro/routes/api/search/enable.mjs +11 -10
- package/dist/astro/routes/api/search/index.mjs +10 -9
- package/dist/astro/routes/api/search/rebuild.mjs +11 -10
- package/dist/astro/routes/api/search/stats.mjs +6 -6
- package/dist/astro/routes/api/search/suggest.mjs +10 -9
- package/dist/astro/routes/api/sections/_slug_.mjs +32 -28
- package/dist/astro/routes/api/sections/index.mjs +32 -28
- package/dist/astro/routes/api/settings/email.mjs +4 -4
- package/dist/astro/routes/api/settings.mjs +32 -28
- 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 +31 -25
- package/dist/astro/routes/api/setup/dev-reset.mjs +2 -2
- package/dist/astro/routes/api/setup/index.mjs +29 -25
- package/dist/astro/routes/api/setup/status.mjs +3 -3
- package/dist/astro/routes/api/snapshot.mjs +8 -7
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +35 -31
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +35 -31
- package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +35 -31
- package/dist/astro/routes/api/taxonomies/index.mjs +35 -31
- package/dist/astro/routes/api/themes/preview.mjs +5 -5
- 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 -27
- package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +32 -28
- package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +32 -28
- package/dist/astro/routes/api/widget-areas/_name_.mjs +29 -26
- package/dist/astro/routes/api/widget-areas/index.mjs +32 -28
- package/dist/astro/routes/api/widget-components.mjs +2 -2
- package/dist/astro/routes/robots.txt.mjs +8 -7
- package/dist/astro/routes/sitemap-_collection_.xml.mjs +23 -14
- package/dist/astro/routes/sitemap.xml.mjs +9 -8
- package/dist/astro/session-driver.d.mts +1 -1
- package/dist/astro/session-driver.mjs +2 -2
- package/dist/astro/types.d.mts +22 -13
- package/dist/{audit-BeNsSyfU.mjs → audit-B2pRxZ20.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-D71jourk.mjs} +1 -1
- package/dist/{authorize-BLO0m7fW.mjs → authorize-ZXPGPwKn.mjs} +1 -1
- package/dist/{briefing-CkTee1ex.mjs → briefing-0rf-su3-.mjs} +90 -28
- package/dist/{briefing-DJX6irto.mjs → briefing-kRhegBoF.mjs} +2 -1
- package/dist/bundle-CEcdUa1s.mjs +602 -0
- package/dist/{byline-BVC1lV6G.mjs → byline-7xR185Ly.mjs} +30 -62
- package/dist/{byline-fields-Cj39WhXC.mjs → byline-fields-BKzA0fJU.mjs} +1 -1
- package/dist/{byline-fields-uJlygdzM.d.mts → byline-fields-Ckeqd1OY.d.mts} +88 -35
- package/dist/{byline-fields-cNrLJVRs.mjs → byline-fields-WN7RQT4q.mjs} +10 -4
- package/dist/{byline-registry-4v6tXMNX.mjs → byline-registry-Ba54M74c.mjs} +2 -2
- package/dist/{bylines-LN9XISRo.mjs → bylines-C-EL6dh3.mjs} +9 -3
- package/dist/{bylines-DwokOFj6.mjs → bylines-CmZFCMr0.mjs} +5 -5
- package/dist/{cache-Bac05gBd.mjs → cache-DkVCKGio.mjs} +2 -2
- package/dist/{chunks-CuUt7K50.mjs → chunks-ChGNDY8r.mjs} +1 -1
- package/dist/cli/index.d.mts +29 -1
- package/dist/cli/index.mjs +1466 -1763
- package/dist/cli/plugin-kit.d.mts +75 -0
- package/dist/cli/plugin-kit.mjs +4 -0
- package/dist/client/external-auth-headers.d.mts +1 -1
- package/dist/client/index.d.mts +27 -52
- package/dist/client/index.mjs +34 -6
- package/dist/client-factory-BDD9azPJ.mjs +233 -0
- package/dist/{comment-Beue8-15.mjs → comment-DFALgsJD.mjs} +13 -3
- package/dist/comment-reaction-C37bf99u.mjs +58 -0
- package/dist/{comments-DcjFIfqX.mjs → comments-B3NwDBxl.mjs} +1 -1
- package/dist/{content-CBxYGWfL.mjs → content-DJcAYFhz.mjs} +51 -34
- package/dist/content-refresh-B4ZCmxgd.mjs +1576 -0
- package/dist/{context-Df1xVYyr.mjs → context-DnpXcp6Y.mjs} +2 -2
- package/dist/{context-CQVNZaR8.mjs → context-fSCYLL3c.mjs} +125 -53
- package/dist/{context-route-helpers-B9wj8Rmh.mjs → context-route-helpers-CI8XzcsK.mjs} +2 -1
- package/dist/{cron-DxCAU_Sn.mjs → cron-B1SL_lsb.mjs} +7 -3
- package/dist/{dashboard-B7ZUNuyF.mjs → dashboard-D0nj5oWg.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-BZVGftqi.mjs → device-flow-BJe6VEhP.mjs} +5 -5
- package/dist/{placeholder-d54Qr_7n.mjs → enrich-Ck9tfMqe.mjs} +36 -9
- package/dist/{error-DCSuUAZW.mjs → error-CSVaQNZy.mjs} +5 -0
- package/dist/{experimental-workflows-CSMffP6q.mjs → experimental-workflows-GVhUgzEs.mjs} +1 -1
- package/dist/field-defs-cache-DL-T2XVS.mjs +49 -0
- package/dist/forgeway-seo-client-G5ddhVHd.mjs +456 -0
- package/dist/{fts-manager-B5l_qwrA.mjs → fts-manager-ewTGohf4.mjs} +1 -1
- package/dist/{hitl-requests-7NlzVeUA.mjs → hitl-requests-DEFj8e6u.mjs} +2 -2
- package/dist/{hitl-route-helpers-k---_H3-.mjs → hitl-route-helpers-C23JHaWz.mjs} +5 -4
- package/dist/import-CXXL5pip.mjs +1354 -0
- package/dist/index-DcnOCD1e.d.mts +375 -0
- package/dist/index.d.mts +15 -16
- package/dist/index.mjs +85 -70
- package/dist/{jsonld-DZ67souc.d.mts → jsonld-DzKbhRZ4.d.mts} +8 -4
- package/dist/{load-D9OiGr2m.mjs → load-CFtJRT3c.mjs} +1 -1
- package/dist/{loader--GOYux8M.mjs → loader-aWkkc1_o.mjs} +117 -31
- package/dist/{manifest-schema-qh2P7RDX.mjs → manifest-schema-uA6pRFXi.mjs} +38 -1
- package/dist/mcp-reviewed-executor-Dn52L_yY.mjs +558 -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 +15 -11
- package/dist/media/local-runtime.mjs +9 -7
- package/dist/{media-CbKyYukG.mjs → media-CVMOoywq.mjs} +3 -1
- package/dist/{media-allowlist-BYxJIcTO.mjs → media-allowlist-zDNJmXCo.mjs} +1 -1
- package/dist/media-url-BdoLPvg8.mjs +20 -0
- package/dist/{menus-C7F0sCrC.mjs → menus-CCG2z5um.mjs} +80 -15
- package/dist/{menus-BZbXf-ej.mjs → menus-CmyIkRG5.mjs} +19 -5
- package/dist/{normalize-ByemhhfW.mjs → normalize-Cyt7JdF7.mjs} +8 -1
- package/dist/{oauth-authorization-DF-LCsIA.mjs → oauth-authorization-B9H7X85L.mjs} +5 -5
- package/dist/{oauth-clients-Du-V0fEm.mjs → oauth-clients-Dwl32-Uj.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/output-DhBe5_Pi.mjs +68 -0
- package/dist/page/index.d.mts +10 -3
- package/dist/page/index.mjs +2 -2
- package/dist/{parse-CneSgl7-.mjs → parse-i15EFSAE.mjs} +1 -1
- package/dist/{parser-DxfsARXL.mjs → parser-06LLLL4E.mjs} +151 -9
- package/dist/{placeholder-CXfoCtCd.d.mts → placeholder-DkWkXfDI.d.mts} +12 -4
- package/dist/plugin-utils.d.mts +8 -9
- package/dist/plugins/adapt-sandbox-entry.d.mts +8 -9
- package/dist/plugins/adapt-sandbox-entry.mjs +13 -2
- package/dist/{plugins-DzfqRREq.mjs → plugins-CPA2PtfY.mjs} +919 -66
- package/dist/{transport-LSdZVXHF.mjs → portable-text-BASHceim.mjs} +1 -134
- package/dist/portable-text-E79LyjGo.d.mts +45 -0
- package/dist/{preview-C-3YTX2U.mjs → preview-BjedZm8G.mjs} +4 -3
- package/dist/process-cache-CCDgti7j.mjs +106 -0
- package/dist/project-env-DKibmuP8.mjs +95 -0
- package/dist/{provider-loader-9it4vd6L.d.mts → provider-loader-DC2JdWeO.d.mts} +1 -1
- package/dist/{public-url-B4xV4rGa.d.mts → public-url-DQJCnYi9.d.mts} +1 -1
- package/dist/publication-authorization-RKiHXKtq.mjs +985 -0
- package/dist/{query-CZ3TH_Uu.mjs → query-C2U5u5_p.mjs} +11 -6
- package/dist/{query-Ds0EnMFX.mjs → query-DEv5x6yB.mjs} +281 -76
- package/dist/{rate-limit-i0G3IAOX.mjs → rate-limit-DglsAJSw.mjs} +2 -2
- package/dist/{redirect-CEACczxo.mjs → redirect-ubhEqQCQ.mjs} +2 -2
- package/dist/{redirects-ocRJmQHP.mjs → redirects-Bhpm8bRe.mjs} +35 -19
- package/dist/{redirects-DYj1yPxs.mjs → redirects-xs2yahLq.mjs} +47 -24
- package/dist/{registry-D7HACema.mjs → registry-BYYyb2tF.mjs} +148 -81
- package/dist/request-context.d.mts +2 -0
- package/dist/{request-meta-DAb6xaP9.mjs → request-meta-CFe1tW2M.mjs} +1 -1
- package/dist/review-payload-BysRWpxS.mjs +111 -0
- package/dist/{review-requests-BW2NxY-l.mjs → review-requests-CTWGnWUt.mjs} +1 -1
- package/dist/review-requests-D42VEP1l.mjs +142 -0
- package/dist/review-route-helpers-C31vO6SI.mjs +41 -0
- package/dist/runner-BgmttQmD.mjs +7444 -0
- package/dist/{runner-09sTqtv0.d.mts → runner-D6hzs8L9.d.mts} +1 -1
- package/dist/runtime.d.mts +9 -10
- package/dist/runtime.mjs +3 -3
- package/dist/schema-DUtnZxjZ.mjs +8 -0
- package/dist/{search-Gdrqj582.mjs → search-DUKgZUlm.mjs} +5 -3
- package/dist/{secrets-CeGpBFV2.mjs → secrets-ZV5rd8yV.mjs} +14 -11
- package/dist/{sections-BOjU13Y-.mjs → sections-DvFgsnda.mjs} +2 -2
- package/dist/seed/index.d.mts +2 -2
- package/dist/seed/index.mjs +21 -18
- package/dist/seo/index.d.mts +1 -1
- package/dist/seo/index.mjs +3 -12
- package/dist/{seo-5lJOtB5J.mjs → seo-BLszyJxd.mjs} +22 -4
- package/dist/{seo-CLj8lS7Q.mjs → seo-BU8MLCS9.mjs} +5 -2
- package/dist/{seo-contributions-CqVvReEj.mjs → seo-contributions-GnCuL1ML.mjs} +11 -3
- package/dist/{service-jGlhrICs.mjs → service-FL3fB0Rx.mjs} +2 -2
- package/dist/session-user-Ct6GBLvn.mjs +22 -0
- package/dist/{settings-CUXOxzsT.mjs → settings-BECcAIRH.mjs} +28 -55
- package/dist/{settings-DlBsT2VS.mjs → settings-EzADu-dd.mjs} +2 -2
- package/dist/{setup-complete-BRrdPYjZ.mjs → setup-complete-Da0axZEE.mjs} +1 -1
- package/dist/{site-activity-DONFrMBJ.mjs → site-activity-h8smOlYI.mjs} +1 -1
- package/dist/{site-context-C8Az_P_I.mjs → site-context-B8T1kpUP.mjs} +337 -530
- package/dist/{site-url-DIMD68go.mjs → site-url-DJEid0ml.mjs} +1 -1
- package/dist/stable-hash-DshcXvRE.mjs +19 -0
- package/dist/status-NqWOSFAD.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-D9Sw4wWM.mjs → taxonomies-BiM9NtgW.mjs} +36 -29
- package/dist/taxonomies-DSnY5nOa.mjs +443 -0
- package/dist/{taxonomy-B169Nm6B.mjs → taxonomy-0k_vRVsD.mjs} +44 -9
- package/dist/transport-C46KHLMP.mjs +134 -0
- package/dist/types-A8fPOJnl.mjs +69 -0
- package/dist/types-BLQCz46p.d.mts +118 -0
- package/dist/{types-CwawBUTa.d.mts → types-B_FlxIIl.d.mts} +4 -1
- package/dist/{types-CSgR9nQB.mjs → types-ChxYDRvx.mjs} +1 -1
- package/dist/{types-GaCtZ1k9.d.mts → types-Cw0PeCT_.d.mts} +18 -0
- package/dist/types-DuQn1G7-.d.mts +2973 -0
- package/dist/{runtime-C4-2lSFg.d.mts → types-DwoUifGE.d.mts} +5668 -3000
- package/dist/{types-DRIKLmJI.d.mts → types-opjX_kz6.d.mts} +17 -2
- package/dist/ui/server-runtime.d.mts +13 -15
- package/dist/ui/server-runtime.mjs +24 -20
- package/dist/url-guoXQQcV.mjs +33 -0
- package/dist/{user-DTLoZs16.mjs → user-BH-n01y3.mjs} +2 -2
- package/dist/{utils-B8hBJ9Oz.mjs → utils-D1SrKGtP.mjs} +129 -7
- package/dist/{validate-DzjCdy6v.d.mts → validate-CbVFoJgc.d.mts} +65 -8
- package/dist/{validate-DWmPO6oj.mjs → validate-D1HL-oLR.mjs} +11 -6
- package/dist/version-C3iVRuaF.mjs +6 -0
- package/dist/{widgets-BpJ8EpPd.mjs → widgets-BZrLrNgS.mjs} +46 -43
- package/dist/{wordpress-slugs-DHNR9LpG.mjs → wordpress-slugs-C3PWcowq.mjs} +1 -1
- package/dist/{zod-generator-K91-g665.mjs → zod-generator-C7AsLpSB.mjs} +42 -14
- package/package.json +38 -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-4y93Yjuc.mjs +0 -51
- package/dist/import-4YBXbDkI.mjs +0 -684
- package/dist/index-CZiWCQDp.d.mts +0 -227
- package/dist/review-requests-Qum4713s.mjs +0 -79
- package/dist/runner-DzIpHGND.mjs +0 -2836
- package/dist/schema-Bsi-VpYv.mjs +0 -8
- package/dist/taxonomies-CZ-_DitR.mjs +0 -327
- package/dist/types-CuJOqHfM.d.mts +0 -758
- package/dist/types-DSPGWjxO.d.mts +0 -1247
- package/dist/types-nP9vGUFq.d.mts +0 -56
- package/dist/version-C4gfn0PJ.mjs +0 -6
- /package/dist/{adapters-OQCImOL7.d.mts → adapters-BiRymx02.d.mts} +0 -0
- /package/dist/{api-tokens-CYUoFGo7.mjs → api-tokens-Ypaly90d.mjs} +0 -0
- /package/dist/{challenge-store-DFxX0_15.mjs → challenge-store-D5pSY2S1.mjs} +0 -0
- /package/dist/{components--pg6zBvu.mjs → components-DImzlLhb.mjs} +0 -0
- /package/dist/{context-types-r8oFvyOq.mjs → context-types-eBuMDAg-.mjs} +0 -0
- /package/dist/{default-B6iaLvP7.mjs → default-D4Vygcy_.mjs} +0 -0
- /package/dist/{email-console-BOVqIYpB.mjs → email-console-Bp0r68iF.mjs} +0 -0
- /package/dist/{escape-BDgouFFY.mjs → escape-DN4Qmjsl.mjs} +0 -0
- /package/dist/{hash-BPmX6P8I.mjs → hash-mxxx2oPW.mjs} +0 -0
- /package/dist/{mime-CbKsKDCB.mjs → mime-C0vOHFm7.mjs} +0 -0
- /package/dist/{mode-CZqCF9dZ.mjs → mode-C8yZnIlR.mjs} +0 -0
- /package/dist/{oauth-state-store-qncPB_IU.mjs → oauth-state-store-CndT35iw.mjs} +0 -0
- /package/dist/{oauth-user-lookup-BFjWF8wK.mjs → oauth-user-lookup-CMehAaKs.mjs} +0 -0
- /package/dist/{options-LsPjZlqD.mjs → options-DQPTH5n0.mjs} +0 -0
- /package/dist/{passkey-config-DzHQK90v.mjs → passkey-config-NYukYGed.mjs} +0 -0
- /package/dist/{patterns-DKAX6oqN.mjs → patterns-CoqlXUvk.mjs} +0 -0
- /package/dist/{provider-loader-DzUxejk7.mjs → provider-loader-BtfrrzfD.mjs} +0 -0
- /package/dist/{public-url-B_m9IwdV.mjs → public-url-Cp6hyjVR.mjs} +0 -0
- /package/dist/{redirect-BjIBtDWY.mjs → redirect-DrbEmU9a.mjs} +0 -0
- /package/dist/{request-cache-ho99schz.mjs → request-cache-CBFjCwSt.mjs} +0 -0
- /package/dist/{resolve-DTuDyYKs.mjs → resolve-DE71WcL9.mjs} +0 -0
- /package/dist/{setup-nonce-pyGfc9hV.mjs → setup-nonce-BtkKnvxQ.mjs} +0 -0
- /package/dist/{sidecar-client-mJxwayYN.mjs → sidecar-client-Ctzfyyp-.mjs} +0 -0
- /package/dist/{slugify-BqebcqBg.mjs → slugify-KSsVD_D3.mjs} +0 -0
- /package/dist/{ssrf-DiKqWd3N.mjs → ssrf-FJqwQzj4.mjs} +0 -0
- /package/dist/{tokens-SLmgowfd.mjs → tokens-BDQU29Vd.mjs} +0 -0
- /package/dist/{transaction-CFLhEOuH.mjs → transaction-0LEAAy8R.mjs} +0 -0
- /package/dist/{transport-BnsNxh2l.d.mts → transport-D9pKAzFP.d.mts} +0 -0
- /package/dist/{trusted-proxy-BgIIcbsN.mjs → trusted-proxy-Dm7Mxvt6.mjs} +0 -0
- /package/dist/{types-CJ8DkL0q.mjs → types-B7TDDFMG.mjs} +0 -0
- /package/dist/{types-Dryvv7LH.d.mts → types-g0zMtraY.d.mts} +0 -0
- /package/dist/{types-Cg276-3z.mjs → types-mVVgRPaU.mjs} +0 -0
- /package/dist/{types-DZpT-PnG.d.mts → types-wFu80FrO.d.mts} +0 -0
- /package/dist/{url-w7Mp5qAD.mjs → url-EMAguGVk.mjs} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as CustomFieldValue } from "./types-
|
|
1
|
+
import { c as CustomFieldValue } from "./types-B_FlxIIl.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/database/repositories/types.d.ts
|
|
4
4
|
interface CreateContentInput {
|
|
@@ -52,6 +52,14 @@ interface BylineSummary {
|
|
|
52
52
|
avatarStorageKey?: string | null;
|
|
53
53
|
/** Avatar media alt text from the same media join. */
|
|
54
54
|
avatarAlt?: string | null;
|
|
55
|
+
/**
|
|
56
|
+
* Avatar media blurhash placeholder from the same media join. Null when
|
|
57
|
+
* the byline has no avatar, the avatar has no placeholder, or the byline
|
|
58
|
+
* was loaded through a plain finder that does not join media.
|
|
59
|
+
*/
|
|
60
|
+
avatarBlurhash?: string | null;
|
|
61
|
+
/** Avatar media dominant color placeholder from the same media join. */
|
|
62
|
+
avatarDominantColor?: string | null;
|
|
55
63
|
websiteUrl: string | null;
|
|
56
64
|
userId: string | null;
|
|
57
65
|
isGuest: boolean;
|
|
@@ -97,6 +105,13 @@ interface FindManyResult<T> {
|
|
|
97
105
|
nextCursor?: string;
|
|
98
106
|
total?: number;
|
|
99
107
|
}
|
|
108
|
+
/** Encode a cursor from order value + id */
|
|
109
|
+
declare function encodeCursor(orderValue: string, id: string): string;
|
|
110
|
+
/** Decode a cursor to order value + id. Returns null if invalid. */
|
|
111
|
+
declare function decodeCursor(cursor: string): {
|
|
112
|
+
orderValue: string;
|
|
113
|
+
id: string;
|
|
114
|
+
} | null;
|
|
100
115
|
interface ContentItem {
|
|
101
116
|
id: string;
|
|
102
117
|
type: string;
|
|
@@ -128,4 +143,4 @@ declare class ScheduledNotDueError extends Error {
|
|
|
128
143
|
constructor();
|
|
129
144
|
}
|
|
130
145
|
//#endregion
|
|
131
|
-
export { ContentSeo as a, DinewayValidationError as c, ScheduledNotDueError as d, UpdateContentInput as f, ContentItem as i, FindManyOptions as l, ContentBylineCredit as n, ContentSeoInput as o, ContentDateField as r, CreateContentInput as s, BylineSummary as t, FindManyResult as u };
|
|
146
|
+
export { ContentSeo as a, DinewayValidationError as c, ScheduledNotDueError as d, UpdateContentInput as f, ContentItem as i, FindManyOptions as l, encodeCursor as m, ContentBylineCredit as n, ContentSeoInput as o, decodeCursor as p, ContentDateField as r, CreateContentInput as s, BylineSummary as t, FindManyResult as u };
|
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "../types-
|
|
3
|
-
import {
|
|
4
|
-
import "../
|
|
5
|
-
import
|
|
6
|
-
import "../
|
|
7
|
-
import "../
|
|
8
|
-
import
|
|
9
|
-
import "../
|
|
10
|
-
import "../
|
|
11
|
-
import "../
|
|
12
|
-
import { t as getPublicOrigin } from "../public-url-B4xV4rGa.mjs";
|
|
13
|
-
import { a as generateSiteSeoContributions, d as resolvePageMetadata, i as generateBaseSeoContributions, o as renderFragments, u as renderPageMetadata } from "../jsonld-DZ67souc.mjs";
|
|
1
|
+
import { D as PageMetadataContribution, Ea as getCollectionInfo, Ii as getEditMeta, Ln as getComments, Pi as getDinewayCollection, Vn as getSiteSettings, Zo as PublicComment, Zt as getWidgetArea, an as Widget, gt as PublicPageContext, pn as getTaxonomyTerms, ra as sanitizeHref, wn as getMenu } from "../types-DwoUifGE.mjs";
|
|
2
|
+
import "../types-DuQn1G7-.mjs";
|
|
3
|
+
import { _ as MediaValue, c as EmbedResult, l as ImageEmbed, s as EmbedOptions } from "../placeholder-DkWkXfDI.mjs";
|
|
4
|
+
import "../runner-D6hzs8L9.mjs";
|
|
5
|
+
import "../index-DcnOCD1e.mjs";
|
|
6
|
+
import "../types-g0zMtraY.mjs";
|
|
7
|
+
import { x as MediaReference } from "../validate-CbVFoJgc.mjs";
|
|
8
|
+
import "../byline-fields-Ckeqd1OY.mjs";
|
|
9
|
+
import "../types-Cw0PeCT_.mjs";
|
|
10
|
+
import { t as getPublicOrigin } from "../public-url-DQJCnYi9.mjs";
|
|
11
|
+
import { a as generateSiteSeoContributions, c as ResolvedPageMetadata, d as renderPageMetadata, f as resolvePageMetadata, i as generateBaseSeoContributions, l as createSha256CspHash, o as renderFragments } from "../jsonld-DzKbhRZ4.mjs";
|
|
14
12
|
import { getPageRuntime } from "../page/index.mjs";
|
|
15
|
-
import { t as getMediaProvider } from "../provider-loader-
|
|
13
|
+
import { t as getMediaProvider } from "../provider-loader-DC2JdWeO.mjs";
|
|
16
14
|
|
|
17
15
|
//#region src/utils/sanitize.d.ts
|
|
18
16
|
/**
|
|
@@ -87,4 +85,4 @@ interface SiteIdentityInput {
|
|
|
87
85
|
}
|
|
88
86
|
declare function renderSiteIdentity(input: SiteIdentityInput | undefined): string;
|
|
89
87
|
//#endregion
|
|
90
|
-
export { type EmbedOptions, type EmbedResult, type GetImage, type ImageEmbed, type MediaValue, type PageMetadataContribution, type PublicComment, type PublicPageContext, RESPONSIVE_BREAKPOINTS, type Widget, absolutizeMediaUrl, buildRenderMediaUrl, buildResponsiveImage, generateBaseSeoContributions, generateSiteSeoContributions, getCollectionInfo, getComments, getDinewayCollection, getEditMeta, getMediaProvider, getMenu, getPageRuntime, getPublicOrigin, getSiteSettings, getTaxonomyTerms, getWidgetArea, renderFragments, renderPageMetadata, renderSiteIdentity, resolvePageMetadata, sanitizeContent, sanitizeHref, toAbsoluteMediaUrl };
|
|
88
|
+
export { type EmbedOptions, type EmbedResult, type GetImage, type ImageEmbed, type MediaValue, type PageMetadataContribution, type PublicComment, type PublicPageContext, RESPONSIVE_BREAKPOINTS, type ResolvedPageMetadata, type Widget, absolutizeMediaUrl, buildRenderMediaUrl, buildResponsiveImage, createSha256CspHash, generateBaseSeoContributions, generateSiteSeoContributions, getCollectionInfo, getComments, getDinewayCollection, getEditMeta, getMediaProvider, getMenu, getPageRuntime, getPublicOrigin, getSiteSettings, getTaxonomyTerms, getWidgetArea, renderFragments, renderPageMetadata, renderSiteIdentity, resolvePageMetadata, sanitizeContent, sanitizeHref, toAbsoluteMediaUrl };
|
|
@@ -1,24 +1,28 @@
|
|
|
1
1
|
import "../dialect-helpers-fk43GbDb.mjs";
|
|
2
2
|
import "../base64-F8-DUraK.mjs";
|
|
3
|
-
import "../types-
|
|
4
|
-
import "../loader
|
|
5
|
-
import "../
|
|
6
|
-
import "../
|
|
7
|
-
import "../
|
|
8
|
-
import "../
|
|
9
|
-
import "../
|
|
10
|
-
import "../
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import "../
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import { t as
|
|
20
|
-
import
|
|
21
|
-
import {
|
|
3
|
+
import "../types-ChxYDRvx.mjs";
|
|
4
|
+
import "../loader-aWkkc1_o.mjs";
|
|
5
|
+
import "../object-cache-D51qOseS.mjs";
|
|
6
|
+
import "../media-CVMOoywq.mjs";
|
|
7
|
+
import "../comment-DFALgsJD.mjs";
|
|
8
|
+
import "../options-DQPTH5n0.mjs";
|
|
9
|
+
import "../request-cache-CBFjCwSt.mjs";
|
|
10
|
+
import "../content-refresh-B4ZCmxgd.mjs";
|
|
11
|
+
import "../fts-manager-ewTGohf4.mjs";
|
|
12
|
+
import "../registry-BYYyb2tF.mjs";
|
|
13
|
+
import { n as buildRenderMediaUrl } from "../url-guoXQQcV.mjs";
|
|
14
|
+
import { i as getSiteSettings } from "../settings-BECcAIRH.mjs";
|
|
15
|
+
import { t as getCollectionInfo } from "../query-C2U5u5_p.mjs";
|
|
16
|
+
import "../resolve-DE71WcL9.mjs";
|
|
17
|
+
import { a as getTaxonomyTerms } from "../taxonomies-DSnY5nOa.mjs";
|
|
18
|
+
import { n as sanitizeHref } from "../url-EMAguGVk.mjs";
|
|
19
|
+
import { r as getEditMeta, t as getDinewayCollection } from "../query-DEv5x6yB.mjs";
|
|
20
|
+
import "../comment-reaction-C37bf99u.mjs";
|
|
21
|
+
import { i as getComments, t as getMenu } from "../menus-CCG2z5um.mjs";
|
|
22
|
+
import { t as getWidgetArea } from "../widgets-BZrLrNgS.mjs";
|
|
23
|
+
import { t as getMediaProvider } from "../provider-loader-BtfrrzfD.mjs";
|
|
24
|
+
import { n as getPublicOrigin } from "../public-url-Cp6hyjVR.mjs";
|
|
25
|
+
import { c as createSha256CspHash, d as resolvePageMetadata, l as escapeHtmlAttr, n as generateSiteSeoContributions, o as renderFragments, t as generateBaseSeoContributions, u as renderPageMetadata } from "../seo-contributions-GnCuL1ML.mjs";
|
|
22
26
|
import { getPageRuntime } from "../page/index.mjs";
|
|
23
27
|
import sanitizeHtml from "sanitize-html";
|
|
24
28
|
|
|
@@ -201,4 +205,4 @@ function renderSiteIdentity(input) {
|
|
|
201
205
|
}
|
|
202
206
|
|
|
203
207
|
//#endregion
|
|
204
|
-
export { RESPONSIVE_BREAKPOINTS, absolutizeMediaUrl, buildRenderMediaUrl, buildResponsiveImage, generateBaseSeoContributions, generateSiteSeoContributions, getCollectionInfo, getComments, getDinewayCollection, getEditMeta, getMediaProvider, getMenu, getPageRuntime, getPublicOrigin, getSiteSettings, getTaxonomyTerms, getWidgetArea, renderFragments, renderPageMetadata, renderSiteIdentity, resolvePageMetadata, sanitizeContent, sanitizeHref, toAbsoluteMediaUrl };
|
|
208
|
+
export { RESPONSIVE_BREAKPOINTS, absolutizeMediaUrl, buildRenderMediaUrl, buildResponsiveImage, createSha256CspHash, generateBaseSeoContributions, generateSiteSeoContributions, getCollectionInfo, getComments, getDinewayCollection, getEditMeta, getMediaProvider, getMenu, getPageRuntime, getPublicOrigin, getSiteSettings, getTaxonomyTerms, getWidgetArea, renderFragments, renderPageMetadata, renderSiteIdentity, resolvePageMetadata, sanitizeContent, sanitizeHref, toAbsoluteMediaUrl };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
//#region src/media/url.ts
|
|
2
|
+
const INTERNAL_MEDIA_PREFIX = "/_dineway/api/media/file/";
|
|
3
|
+
const SAFE_STORAGE_KEY = /^[A-Za-z0-9._-]+$/;
|
|
4
|
+
function addInternalMediaUrl(item) {
|
|
5
|
+
return {
|
|
6
|
+
...item,
|
|
7
|
+
url: `${INTERNAL_MEDIA_PREFIX}${item.storageKey.split("/").map((segment) => encodeURIComponent(segment)).join("/")}`
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
function resolvePublicMediaUrl(storage, storageKey) {
|
|
11
|
+
if (!storageKey) return "";
|
|
12
|
+
if (storage) return storage.getPublicUrl(storageKey);
|
|
13
|
+
return `${INTERNAL_MEDIA_PREFIX}${storageKey}`;
|
|
14
|
+
}
|
|
15
|
+
function createPublicMediaUrlResolver(storage) {
|
|
16
|
+
return (key) => resolvePublicMediaUrl(storage, key);
|
|
17
|
+
}
|
|
18
|
+
function buildRenderMediaUrl(resolve, ref) {
|
|
19
|
+
const { storageKey, url, id } = ref;
|
|
20
|
+
if (storageKey) return resolve ? resolve(storageKey) : `${INTERNAL_MEDIA_PREFIX}${storageKey}`;
|
|
21
|
+
if (url) {
|
|
22
|
+
if (resolve && url.startsWith(INTERNAL_MEDIA_PREFIX)) {
|
|
23
|
+
const key = url.slice(25);
|
|
24
|
+
if (SAFE_STORAGE_KEY.test(key)) return resolve(key);
|
|
25
|
+
}
|
|
26
|
+
return url;
|
|
27
|
+
}
|
|
28
|
+
if (id) return `${INTERNAL_MEDIA_PREFIX}${id}`;
|
|
29
|
+
return "";
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
//#endregion
|
|
33
|
+
export { resolvePublicMediaUrl as i, buildRenderMediaUrl as n, createPublicMediaUrlResolver as r, addInternalMediaUrl as t };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { i as encodeCursor, r as decodeCursor } from "./types-
|
|
2
|
-
import { n as chunks, t as SQL_BATCH_SIZE } from "./chunks-
|
|
1
|
+
import { i as encodeCursor, r as decodeCursor } from "./types-ChxYDRvx.mjs";
|
|
2
|
+
import { n as chunks, t as SQL_BATCH_SIZE } from "./chunks-ChGNDY8r.mjs";
|
|
3
3
|
import { ulid } from "ulidx";
|
|
4
4
|
|
|
5
5
|
//#region src/database/repositories/user.ts
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
import { n as slugify } from "./slugify-
|
|
1
|
+
import { n as slugify } from "./slugify-KSsVD_D3.mjs";
|
|
2
|
+
import { o as RESERVED_FIELD_SLUGS } from "./types-B7TDDFMG.mjs";
|
|
2
3
|
import mime from "mime/lite";
|
|
3
4
|
|
|
4
5
|
//#region src/import/utils.ts
|
|
5
|
-
/**
|
|
6
|
-
* Shared import utilities
|
|
7
|
-
*
|
|
8
|
-
* Common constants and functions used across all WordPress import sources.
|
|
9
|
-
*/
|
|
10
6
|
/** Internal WordPress post types that should be excluded from import */
|
|
11
7
|
const INTERNAL_POST_TYPES = [
|
|
12
8
|
"revision",
|
|
@@ -26,6 +22,10 @@ const INTERNAL_META_PREFIXES = ["_edit_", "_wp_"];
|
|
|
26
22
|
const NUMERIC_PATTERN = /^-?\d+(\.\d+)?$/;
|
|
27
23
|
const TRAILING_SLASHES = /\/+$/;
|
|
28
24
|
const WP_JSON_SUFFIX = /\/wp-json\/?.*$/;
|
|
25
|
+
const REGEX_SPECIALS = /[.*+?^${}()|[\]\\]/g;
|
|
26
|
+
const LEADING_WWW = /^www\./;
|
|
27
|
+
const INVALID_FIELD_SLUG_CHARS = /[^a-z0-9_]+/g;
|
|
28
|
+
const LEADING_NON_ALPHA_CHARS = /^[^a-z]+/;
|
|
29
29
|
/** Specific internal meta keys */
|
|
30
30
|
const INTERNAL_META_KEYS = [
|
|
31
31
|
"_edit_last",
|
|
@@ -33,6 +33,46 @@ const INTERNAL_META_KEYS = [
|
|
|
33
33
|
"_pingme",
|
|
34
34
|
"_encloseme"
|
|
35
35
|
];
|
|
36
|
+
/** Plugin meta prefixes that are operational/bookkeeping data, not content fields */
|
|
37
|
+
const PLUGIN_META_PREFIXES = [
|
|
38
|
+
"aawp_",
|
|
39
|
+
"algolia_",
|
|
40
|
+
"amazon_polly_",
|
|
41
|
+
"ampforwp_",
|
|
42
|
+
"classifai_",
|
|
43
|
+
"essb_",
|
|
44
|
+
"eg_",
|
|
45
|
+
"gnpub_",
|
|
46
|
+
"jetpack_",
|
|
47
|
+
"mashsb_",
|
|
48
|
+
"monsterinsights_",
|
|
49
|
+
"onesignal_",
|
|
50
|
+
"penci_",
|
|
51
|
+
"perfmatters_",
|
|
52
|
+
"pys_",
|
|
53
|
+
"rank_math_",
|
|
54
|
+
"rp4wp_",
|
|
55
|
+
"saswp_",
|
|
56
|
+
"sbg_",
|
|
57
|
+
"snap_",
|
|
58
|
+
"spay_",
|
|
59
|
+
"tie_",
|
|
60
|
+
"wl_",
|
|
61
|
+
"wpil_",
|
|
62
|
+
"wprm_",
|
|
63
|
+
"wpswa_",
|
|
64
|
+
"wpuf_",
|
|
65
|
+
"yarpp_"
|
|
66
|
+
];
|
|
67
|
+
/** Specific plugin meta keys that should not become Dineway fields */
|
|
68
|
+
const PLUGIN_META_KEYS = new Set([
|
|
69
|
+
"entity_same_as",
|
|
70
|
+
"exclude_from_search",
|
|
71
|
+
"footnotes",
|
|
72
|
+
"inline_featured_image",
|
|
73
|
+
"os_meta",
|
|
74
|
+
"thirstydata"
|
|
75
|
+
]);
|
|
36
76
|
/** Base fields required for any WordPress import */
|
|
37
77
|
const BASE_REQUIRED_FIELDS = [
|
|
38
78
|
{
|
|
@@ -82,6 +122,23 @@ function isInternalMetaKey(key) {
|
|
|
82
122
|
return false;
|
|
83
123
|
}
|
|
84
124
|
/**
|
|
125
|
+
* Check if a plugin-provided custom field is bookkeeping rather than content.
|
|
126
|
+
*/
|
|
127
|
+
function isPluginBookkeepingMeta(key) {
|
|
128
|
+
const normalized = key.replaceAll("-", "_");
|
|
129
|
+
if (PLUGIN_META_KEYS.has(normalized)) return true;
|
|
130
|
+
return PLUGIN_META_PREFIXES.some((prefix) => normalized.startsWith(prefix));
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Convert a source custom field key into a valid Dineway field slug.
|
|
134
|
+
*/
|
|
135
|
+
function sanitizeFieldSlug(key) {
|
|
136
|
+
const sanitized = key.toLowerCase().replace(INVALID_FIELD_SLUG_CHARS, "_").replace(LEADING_NON_ALPHA_CHARS, "").slice(0, 63);
|
|
137
|
+
if (!sanitized) return "field";
|
|
138
|
+
if (RESERVED_FIELD_SLUGS.includes(sanitized)) return `wp_${sanitized}`;
|
|
139
|
+
return sanitized;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
85
142
|
* Map WordPress status to normalized status
|
|
86
143
|
*/
|
|
87
144
|
function mapWpStatus(status) {
|
|
@@ -143,6 +200,71 @@ function inferMetaType(key, value) {
|
|
|
143
200
|
return "string";
|
|
144
201
|
}
|
|
145
202
|
/**
|
|
203
|
+
* Turn an absolute URL into a root-relative one when it points at the source
|
|
204
|
+
* site. External links, non-http(s) schemes, and `/wp-content/` media URLs are
|
|
205
|
+
* left untouched so the later media pass can still map old media URLs.
|
|
206
|
+
*/
|
|
207
|
+
function relativizeUrl(url, sourceHost) {
|
|
208
|
+
if (!url.startsWith("http://") && !url.startsWith("https://")) return null;
|
|
209
|
+
try {
|
|
210
|
+
const parsed = new URL(url);
|
|
211
|
+
if (parsed.hostname.replace(LEADING_WWW, "") !== sourceHost) return null;
|
|
212
|
+
if (parsed.pathname.startsWith("/wp-content/")) return null;
|
|
213
|
+
return `${parsed.pathname}${parsed.search}${parsed.hash}` || "/";
|
|
214
|
+
} catch {
|
|
215
|
+
return null;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
function relativizeMarkDefs(markDefs, sourceHost) {
|
|
219
|
+
for (const def of markDefs ?? []) if (def._type === "link" && typeof def.href === "string") def.href = relativizeUrl(def.href, sourceHost) ?? def.href;
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Rewrite internal links in imported content to root-relative URLs, in place.
|
|
223
|
+
* This prevents migrated posts from linking back to the old WordPress domain.
|
|
224
|
+
*/
|
|
225
|
+
function relativizeContentLinks(blocks, siteUrl) {
|
|
226
|
+
let sourceHost;
|
|
227
|
+
try {
|
|
228
|
+
sourceHost = new URL(siteUrl).hostname.replace(LEADING_WWW, "");
|
|
229
|
+
} catch {
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
const hrefPattern = new RegExp(`href=(["']?)https?://(?:www\\.)?${sourceHost.replace(REGEX_SPECIALS, "\\$&")}(/[^"'\\s>]*)?\\1`, "gi");
|
|
233
|
+
for (const block of blocks) switch (block._type) {
|
|
234
|
+
case "block":
|
|
235
|
+
relativizeMarkDefs(block.markDefs, sourceHost);
|
|
236
|
+
break;
|
|
237
|
+
case "image":
|
|
238
|
+
if (block.link) block.link = relativizeUrl(block.link, sourceHost) ?? block.link;
|
|
239
|
+
break;
|
|
240
|
+
case "table":
|
|
241
|
+
for (const row of block.rows) for (const cell of row.cells) relativizeMarkDefs(cell.markDefs, sourceHost);
|
|
242
|
+
break;
|
|
243
|
+
case "columns":
|
|
244
|
+
for (const column of block.columns) relativizeContentLinks(column.content, siteUrl);
|
|
245
|
+
break;
|
|
246
|
+
case "cover":
|
|
247
|
+
relativizeContentLinks(block.content, siteUrl);
|
|
248
|
+
break;
|
|
249
|
+
case "button":
|
|
250
|
+
if (block.url) block.url = relativizeUrl(block.url, sourceHost) ?? block.url;
|
|
251
|
+
break;
|
|
252
|
+
case "buttons":
|
|
253
|
+
for (const button of block.buttons) if (button.url) button.url = relativizeUrl(button.url, sourceHost) ?? button.url;
|
|
254
|
+
break;
|
|
255
|
+
case "htmlBlock":
|
|
256
|
+
block.html = block.html.replace(hrefPattern, (_match, _quote, path) => `href="${path || "/"}"`);
|
|
257
|
+
break;
|
|
258
|
+
case "break":
|
|
259
|
+
case "code":
|
|
260
|
+
case "embed":
|
|
261
|
+
case "file":
|
|
262
|
+
case "gallery":
|
|
263
|
+
case "pullquote": break;
|
|
264
|
+
default:
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
146
268
|
* Normalize URL for API requests
|
|
147
269
|
*/
|
|
148
270
|
function normalizeUrl(url) {
|
|
@@ -282,4 +404,4 @@ function checkSchemaCompatibility(requiredFields, existingCollection) {
|
|
|
282
404
|
}
|
|
283
405
|
|
|
284
406
|
//#endregion
|
|
285
|
-
export { getFilenameFromUrl as a, isInternalMetaKey as c,
|
|
407
|
+
export { sanitizeFieldSlug as _, getFilenameFromUrl as a, isInternalMetaKey as c, mapMetaKeyToField as d, mapPostTypeToCollection as f, resolveImportByline as g, relativizeContentLinks as h, checkSchemaCompatibility as i, isInternalPostType as l, normalizeUrl as m, FEATURED_IMAGE_FIELD as n, guessMimeType as o, mapWpStatus as p, buildAttachmentMap as r, inferMetaType as s, BASE_REQUIRED_FIELDS as t, isPluginBookkeepingMeta as u };
|
|
@@ -1,9 +1,63 @@
|
|
|
1
|
-
import { d as FieldType } from "./types-
|
|
2
|
-
import { t as Database } from "./types-
|
|
3
|
-
import { d as Storage } from "./types-
|
|
4
|
-
import { i as SiteSettings } from "./types-nP9vGUFq.mjs";
|
|
1
|
+
import { d as FieldType } from "./types-B_FlxIIl.mjs";
|
|
2
|
+
import { t as Database } from "./types-DuQn1G7-.mjs";
|
|
3
|
+
import { d as Storage } from "./types-wFu80FrO.mjs";
|
|
5
4
|
import { Kysely } from "kysely";
|
|
6
5
|
|
|
6
|
+
//#region src/settings/types.d.ts
|
|
7
|
+
/**
|
|
8
|
+
* Site Settings Types
|
|
9
|
+
*
|
|
10
|
+
* Global configuration for the site (title, logo, social links, etc.)
|
|
11
|
+
*/
|
|
12
|
+
/** Media reference for logo/favicon */
|
|
13
|
+
interface MediaReference {
|
|
14
|
+
mediaId: string;
|
|
15
|
+
alt?: string;
|
|
16
|
+
/** Resolved media URL returned by getSiteSettings()/getSiteSetting(). */
|
|
17
|
+
url?: string;
|
|
18
|
+
/** Resolved MIME type returned by getSiteSettings()/getSiteSetting(). */
|
|
19
|
+
contentType?: string;
|
|
20
|
+
/** Resolved pixel width when known. */
|
|
21
|
+
width?: number;
|
|
22
|
+
/** Resolved pixel height when known. */
|
|
23
|
+
height?: number;
|
|
24
|
+
}
|
|
25
|
+
/** Site-level SEO settings */
|
|
26
|
+
interface SeoSettings {
|
|
27
|
+
/** Separator between page title and site title (e.g., " | ", " — ") */
|
|
28
|
+
titleSeparator?: string;
|
|
29
|
+
/** Default OG image when content has no seo_image */
|
|
30
|
+
defaultOgImage?: MediaReference;
|
|
31
|
+
/** Custom robots.txt content. If unset, a default is generated. */
|
|
32
|
+
robotsTxt?: string;
|
|
33
|
+
/** Google Search Console verification meta tag content */
|
|
34
|
+
googleVerification?: string;
|
|
35
|
+
/** Bing Webmaster Tools verification meta tag content */
|
|
36
|
+
bingVerification?: string;
|
|
37
|
+
}
|
|
38
|
+
/** Site settings schema */
|
|
39
|
+
interface SiteSettings {
|
|
40
|
+
title: string;
|
|
41
|
+
tagline?: string;
|
|
42
|
+
logo?: MediaReference;
|
|
43
|
+
favicon?: MediaReference;
|
|
44
|
+
url?: string;
|
|
45
|
+
postsPerPage: number;
|
|
46
|
+
dateFormat: string;
|
|
47
|
+
timezone: string;
|
|
48
|
+
social?: {
|
|
49
|
+
twitter?: string;
|
|
50
|
+
github?: string;
|
|
51
|
+
facebook?: string;
|
|
52
|
+
instagram?: string;
|
|
53
|
+
linkedin?: string;
|
|
54
|
+
youtube?: string;
|
|
55
|
+
};
|
|
56
|
+
seo?: SeoSettings;
|
|
57
|
+
}
|
|
58
|
+
/** Keys that are valid site settings */
|
|
59
|
+
type SiteSettingKey = keyof SiteSettings;
|
|
60
|
+
//#endregion
|
|
7
61
|
//#region src/seed/types.d.ts
|
|
8
62
|
/**
|
|
9
63
|
* Root seed file structure
|
|
@@ -138,8 +192,8 @@ interface SeedMenuItem {
|
|
|
138
192
|
*/
|
|
139
193
|
interface SeedRedirect {
|
|
140
194
|
source: string;
|
|
141
|
-
destination
|
|
142
|
-
type?: 301 | 302 | 307 | 308;
|
|
195
|
+
destination?: string;
|
|
196
|
+
type?: 301 | 302 | 307 | 308 | 410 | 451;
|
|
143
197
|
enabled?: boolean;
|
|
144
198
|
groupName?: string | null;
|
|
145
199
|
}
|
|
@@ -247,7 +301,10 @@ interface SeedBylineCredit {
|
|
|
247
301
|
* Options for applying a seed
|
|
248
302
|
*/
|
|
249
303
|
interface SeedApplyOptions {
|
|
250
|
-
/**
|
|
304
|
+
/**
|
|
305
|
+
* Include sample data: content entries, bylines, and taxonomy terms
|
|
306
|
+
* (default: false). Schema and structure are always applied.
|
|
307
|
+
*/
|
|
251
308
|
includeContent?: boolean;
|
|
252
309
|
/** How to handle conflicts (default: "skip") */
|
|
253
310
|
onConflict?: "skip" | "update" | "error";
|
|
@@ -370,4 +427,4 @@ declare function loadUserSeed(): Promise<SeedFile | null>;
|
|
|
370
427
|
*/
|
|
371
428
|
declare function validateSeed(data: unknown): ValidationResult;
|
|
372
429
|
//#endregion
|
|
373
|
-
export { SeedTaxonomyTerm as _, applySeed as a, ValidationResult as b, SeedCollection as c, SeedFile as d, SeedMenu as f, SeedTaxonomy as g, SeedSection as h, defaultSeed as i, SeedContentEntry as l, SeedRedirect as m, loadSeed as n, SeedApplyOptions as o, SeedMenuItem as p, loadUserSeed as r, SeedApplyResult as s, validateSeed as t, SeedField as u, SeedWidget as v, SeedWidgetArea as y };
|
|
430
|
+
export { SiteSettingKey as C, SeoSettings as S, SeedTaxonomyTerm as _, applySeed as a, ValidationResult as b, SeedCollection as c, SeedFile as d, SeedMenu as f, SeedTaxonomy as g, SeedSection as h, defaultSeed as i, SeedContentEntry as l, SeedRedirect as m, loadSeed as n, SeedApplyOptions as o, SeedMenuItem as p, loadUserSeed as r, SeedApplyResult as s, validateSeed as t, SeedField as u, SeedWidget as v, SiteSettings as w, MediaReference as x, SeedWidgetArea as y };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as __exportAll } from "./runner-
|
|
2
|
-
import { n as FIELD_TYPES } from "./types-
|
|
1
|
+
import { a as __exportAll } from "./runner-BgmttQmD.mjs";
|
|
2
|
+
import { n as FIELD_TYPES } from "./types-B7TDDFMG.mjs";
|
|
3
3
|
|
|
4
4
|
//#region src/seed/validate.ts
|
|
5
5
|
/**
|
|
@@ -14,8 +14,11 @@ const REDIRECT_TYPES = new Set([
|
|
|
14
14
|
301,
|
|
15
15
|
302,
|
|
16
16
|
307,
|
|
17
|
-
308
|
|
17
|
+
308,
|
|
18
|
+
410,
|
|
19
|
+
451
|
|
18
20
|
]);
|
|
21
|
+
const TERMINAL_REDIRECT_TYPES = new Set([410, 451]);
|
|
19
22
|
const CRLF_PATTERN = /[\r\n]/;
|
|
20
23
|
/** Type guard for Record<string, unknown> */
|
|
21
24
|
function isRecord(value) {
|
|
@@ -151,16 +154,18 @@ function validateSeed(data) {
|
|
|
151
154
|
}
|
|
152
155
|
const source = typeof redirect.source === "string" ? redirect.source : void 0;
|
|
153
156
|
const destination = typeof redirect.destination === "string" ? redirect.destination : void 0;
|
|
157
|
+
const type = typeof redirect.type === "number" ? redirect.type : void 0;
|
|
158
|
+
const terminal = TERMINAL_REDIRECT_TYPES.has(type ?? 301);
|
|
154
159
|
if (!source) errors.push(`${prefix}: source is required`);
|
|
155
160
|
else {
|
|
156
161
|
if (!isValidRedirectPath(source)) errors.push(`${prefix}.source: must be a path starting with / (no protocol-relative URLs, path traversal, or newlines)`);
|
|
157
162
|
if (redirectSources.has(source)) errors.push(`${prefix}.source: duplicate redirect source "${source}"`);
|
|
158
163
|
redirectSources.add(source);
|
|
159
164
|
}
|
|
160
|
-
if (!destination) errors.push(`${prefix}: destination is required`);
|
|
161
|
-
else if (!isValidRedirectPath(destination)) errors.push(`${prefix}.destination: must be a path starting with / (no protocol-relative URLs, path traversal, or newlines)`);
|
|
165
|
+
if (!terminal && !destination) errors.push(`${prefix}: destination is required`);
|
|
166
|
+
else if (destination && !isValidRedirectPath(destination)) errors.push(`${prefix}.destination: must be a path starting with / (no protocol-relative URLs, path traversal, or newlines)`);
|
|
162
167
|
if (redirect.type !== void 0) {
|
|
163
|
-
if (typeof redirect.type !== "number" || !REDIRECT_TYPES.has(redirect.type)) errors.push(`${prefix}.type: must be 301, 302, 307, or
|
|
168
|
+
if (typeof redirect.type !== "number" || !REDIRECT_TYPES.has(redirect.type)) errors.push(`${prefix}.type: must be 301, 302, 307, 308, 410, or 451`);
|
|
164
169
|
}
|
|
165
170
|
if (redirect.enabled !== void 0 && typeof redirect.enabled !== "boolean") errors.push(`${prefix}.enabled: must be a boolean`);
|
|
166
171
|
if (redirect.groupName !== void 0 && typeof redirect.groupName !== "string" && redirect.groupName !== null) errors.push(`${prefix}.groupName: must be a string or null`);
|
|
@@ -1,53 +1,56 @@
|
|
|
1
|
-
import { r as getDb } from "./loader
|
|
2
|
-
import {
|
|
1
|
+
import { r as getDb } from "./loader-aWkkc1_o.mjs";
|
|
2
|
+
import { r as requestCached } from "./request-cache-CBFjCwSt.mjs";
|
|
3
|
+
import { t as getWidgetComponents$1 } from "./components-DImzlLhb.mjs";
|
|
3
4
|
|
|
4
5
|
//#region src/widgets/index.ts
|
|
5
6
|
/**
|
|
6
7
|
* Get a widget area by name, with all its widgets
|
|
7
8
|
*/
|
|
8
9
|
async function getWidgetArea(name) {
|
|
9
|
-
|
|
10
|
-
"a.
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
10
|
+
return requestCached(`widget-area:${name}`, async () => {
|
|
11
|
+
const rows = await (await getDb()).selectFrom("_dineway_widget_areas as a").leftJoin("_dineway_widgets as w", "w.area_id", "a.id").select([
|
|
12
|
+
"a.id as a_id",
|
|
13
|
+
"a.name as a_name",
|
|
14
|
+
"a.label as a_label",
|
|
15
|
+
"a.description as a_description",
|
|
16
|
+
"w.id as w_id",
|
|
17
|
+
"w.type as w_type",
|
|
18
|
+
"w.title as w_title",
|
|
19
|
+
"w.content as w_content",
|
|
20
|
+
"w.menu_name as w_menu_name",
|
|
21
|
+
"w.component_id as w_component_id",
|
|
22
|
+
"w.component_props as w_component_props",
|
|
23
|
+
"w.area_id as w_area_id",
|
|
24
|
+
"w.sort_order as w_sort_order",
|
|
25
|
+
"w.created_at as w_created_at"
|
|
26
|
+
]).where("a.name", "=", name).orderBy("w.sort_order", "asc").execute();
|
|
27
|
+
const first = rows[0];
|
|
28
|
+
if (!first) return null;
|
|
29
|
+
const widgets = [];
|
|
30
|
+
for (const row of rows) {
|
|
31
|
+
if (!row.w_id || !isWidgetType(row.w_type) || !row.w_area_id || row.w_sort_order === null || !row.w_created_at) continue;
|
|
32
|
+
const widgetRow = {
|
|
33
|
+
id: row.w_id,
|
|
34
|
+
type: row.w_type,
|
|
35
|
+
title: row.w_title,
|
|
36
|
+
content: row.w_content,
|
|
37
|
+
menu_name: row.w_menu_name,
|
|
38
|
+
component_id: row.w_component_id,
|
|
39
|
+
component_props: row.w_component_props,
|
|
40
|
+
area_id: row.w_area_id,
|
|
41
|
+
sort_order: row.w_sort_order,
|
|
42
|
+
created_at: row.w_created_at
|
|
43
|
+
};
|
|
44
|
+
widgets.push(rowToWidget(widgetRow));
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
id: first.a_id,
|
|
48
|
+
name: first.a_name,
|
|
49
|
+
label: first.a_label,
|
|
50
|
+
description: first.a_description ?? void 0,
|
|
51
|
+
widgets
|
|
41
52
|
};
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
return {
|
|
45
|
-
id: first.a_id,
|
|
46
|
-
name: first.a_name,
|
|
47
|
-
label: first.a_label,
|
|
48
|
-
description: first.a_description ?? void 0,
|
|
49
|
-
widgets
|
|
50
|
-
};
|
|
53
|
+
});
|
|
51
54
|
}
|
|
52
55
|
function isWidgetType(value) {
|
|
53
56
|
return value === "content" || value === "menu" || value === "component";
|