@riverbankcms/sdk 0.77.0 → 0.78.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/README.md +69 -0
- package/dist/{PreviewEditorSidebar-XSX7QKHQ.mjs → PreviewEditorSidebar-RIKFQ72L.mjs} +4916 -4847
- package/dist/{PreviewEditorUI-YZNEZ3QD.mjs → PreviewEditorUI-XO7TUWKK.mjs} +3 -3
- package/dist/SdkPreviewModeRuntime-LAGYMPNF.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +194 -184
- package/dist/_dts/api/src/accessAdmin.d.ts +5 -0
- package/dist/_dts/api/src/billing.d.ts +3 -26
- package/dist/_dts/api/src/bookingVerticals.d.ts +4 -0
- package/dist/_dts/api/src/content-editor.d.ts +1 -0
- package/dist/_dts/api/src/demoDashboardMutationSurfaces.d.ts +46 -0
- package/dist/_dts/api/src/endpoints.d.ts +8 -0
- package/dist/_dts/api/src/index.d.ts +14 -2
- package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +87 -0
- package/dist/_dts/api/src/navigation/dashboardDemoNav.d.ts +5 -0
- package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +45 -0
- package/dist/_dts/api/src/navigation/dashboardSiteNav.d.ts +42 -0
- package/dist/_dts/api/src/navigation/dashboardTeamMemberNav.d.ts +24 -0
- package/dist/_dts/api/src/navigation/linkUrlType.d.ts +3 -0
- package/dist/_dts/api/src/navigation.d.ts +12 -0
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +55 -26
- package/dist/_dts/api/src/staffAccess.d.ts +79 -0
- package/dist/_dts/api/src/types.d.ts +3 -1
- package/dist/_dts/api/src/workflows/automaticWorkflowTriggers.d.ts +21 -0
- package/dist/_dts/blocks/src/client/site-chrome.d.ts +4 -1
- package/dist/_dts/blocks/src/customBlockRegistry.d.ts +20 -1
- package/dist/_dts/blocks/src/index.d.ts +3 -2
- package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/cart.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/collection.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/faq.d.ts +294 -289
- package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +21 -21
- package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +288 -288
- package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +2 -2
- package/dist/_dts/blocks/src/system/data/index.d.ts +5 -3
- package/dist/_dts/blocks/src/system/data/previewResolvedDataState.d.ts +45 -0
- package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +2 -1
- package/dist/_dts/blocks/src/system/fragments/library/faqAccordion.d.ts +5 -0
- package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +5 -0
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +29 -29
- package/dist/_dts/blocks/src/system/node/fragments/headingDecoration.d.ts +10 -0
- package/dist/_dts/blocks/src/system/node/fragments/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/node/fragments/styledSection.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +43 -8
- package/dist/_dts/blocks/src/system/runtime/components/multi-step/runtimeFormValidation.d.ts +28 -0
- package/dist/_dts/blocks/src/system/runtime/header/shared.d.ts +8 -7
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCompactRow.d.ts +1 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +7 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/header-section.client.d.ts +2 -8
- package/dist/_dts/blocks/src/system/runtime/nodes/header-section.server.d.ts +2 -9
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-cart-discount-ui.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout-form.d.ts +76 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout.state.d.ts +1 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce-store.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce.shared.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-discount-apply.state.d.ts +52 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.state.d.ts +2 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/useDiscountApply.d.ts +21 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/DiscountCodeDisclosure.d.ts +54 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +4 -4
- package/dist/_dts/blocks/src/system/transforms/registry/ui.d.ts +1 -1
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -1
- package/dist/_dts/content-editor/src/contentTypeEditorContentState.d.ts +26 -0
- package/dist/_dts/content-editor/src/definitions/factory.d.ts +75 -0
- package/dist/_dts/content-editor/src/entryWorkflows.d.ts +2 -0
- package/dist/_dts/content-editor/src/footerBlocksEditorState.d.ts +76 -0
- package/dist/_dts/content-editor/src/index.d.ts +5 -0
- package/dist/_dts/content-editor/src/pageWorkflowContent.d.ts +29 -0
- package/dist/_dts/content-model/src/content-types/schema.d.ts +3 -3
- package/dist/_dts/content-model/src/index.d.ts +1 -0
- package/dist/_dts/content-model/src/routeTemplate.d.ts +4 -0
- package/dist/_dts/content-model/src/templates/editorState.d.ts +25 -0
- package/dist/_dts/core/src/csv-cells.d.ts +10 -0
- package/dist/_dts/core/src/csv-date-filter.d.ts +27 -0
- package/dist/_dts/core/src/csv-escape.d.ts +1 -0
- package/dist/_dts/core/src/csv-filename.d.ts +18 -0
- package/dist/_dts/core/src/csv-render.d.ts +4 -0
- package/dist/_dts/core/src/csv-types.d.ts +116 -0
- package/dist/_dts/core/src/currency-format.d.ts +4 -0
- package/dist/_dts/core/src/demo-capability-policy.d.ts +29 -0
- package/dist/_dts/core/src/demo-claim-access.d.ts +14 -0
- package/dist/_dts/core/src/demo-lifecycle-status.d.ts +11 -0
- package/dist/_dts/core/src/demo-runtime.d.ts +47 -0
- package/dist/_dts/core/src/duration.d.ts +14 -0
- package/dist/_dts/core/src/email-format.d.ts +10 -0
- package/dist/_dts/core/src/field-errors.d.ts +1 -0
- package/dist/_dts/core/src/form-submission-preview.d.ts +24 -0
- package/dist/_dts/core/src/index.d.ts +20 -0
- package/dist/_dts/core/src/number-input.d.ts +22 -0
- package/dist/_dts/core/src/public-url-validation.d.ts +12 -0
- package/dist/_dts/core/src/slug.d.ts +39 -0
- package/dist/_dts/core/src/string.d.ts +19 -0
- package/dist/_dts/core/src/uuid.d.ts +6 -0
- package/dist/_dts/db/src/schemas/forms.d.ts +50 -50
- package/dist/_dts/media-core/src/assetsInUseSummary.d.ts +34 -0
- package/dist/_dts/media-core/src/bulkDeletePlanning.d.ts +24 -0
- package/dist/_dts/media-core/src/canonicalCropReview.d.ts +66 -0
- package/dist/_dts/media-core/src/classifyAllPlanning.d.ts +48 -0
- package/dist/_dts/media-core/src/filename.d.ts +1 -0
- package/dist/_dts/media-core/src/index.d.ts +10 -0
- package/dist/_dts/media-core/src/mediaAssetUsageStatus.d.ts +47 -0
- package/dist/_dts/media-core/src/mediaSettingsState.d.ts +3 -0
- package/dist/_dts/media-core/src/portableMediaReferences.d.ts +38 -0
- package/dist/_dts/media-core/src/uploadVerificationContract.d.ts +28 -0
- package/dist/_dts/media-core/src/videoAssetRepair.d.ts +38 -0
- package/dist/_dts/media-editor/src/mediaEditorDebug.d.ts +1 -0
- package/dist/_dts/path-utils/src/index.d.ts +8 -0
- package/dist/_dts/path-utils/src/redirectPaths.d.ts +26 -0
- package/dist/_dts/path-utils/src/safeAppPath.d.ts +26 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeButton.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -0
- package/dist/_dts/preview-next/src/client/preview/previewDocumentFrame.d.ts +31 -0
- package/dist/_dts/sdk/src/client/error.d.ts +3 -0
- package/dist/_dts/sdk/src/client/index.d.ts +2 -2
- package/dist/_dts/sdk/src/client/types.d.ts +37 -19
- package/dist/_dts/sdk/src/contracts/theme.d.ts +1 -1
- package/dist/_dts/sdk/src/index.d.ts +2 -2
- package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +16 -16
- package/dist/_dts/sdk/src/next/content-load-failure.d.ts +51 -0
- package/dist/_dts/sdk/src/next/index.d.ts +2 -1
- package/dist/_dts/sdk/src/next/types.d.ts +19 -0
- package/dist/_dts/sdk/src/portal/redirects.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +2 -2
- package/dist/_dts/sdk/src/routing/index.d.ts +3 -2
- package/dist/_dts/sdk/src/routing/resolvePageContent.d.ts +71 -6
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commands.d.ts +12 -12
- package/dist/_dts/site-commands/src/index.d.ts +1 -0
- package/dist/_dts/site-commands/src/pagePaths.d.ts +6 -0
- package/dist/_dts/theme-core/src/accordions/siteStyleDefaults.d.ts +26 -0
- package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -0
- package/dist/_dts/theme-core/src/blocks/vars/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/fonts/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/fonts/uploadFormat.d.ts +44 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/index.d.ts +3 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +63 -51
- package/dist/_dts/theme-core/src/navigation/generateNavLinkCSS.d.ts +6 -1
- package/dist/_dts/theme-core/src/navigation/types.d.ts +12 -0
- package/dist/_dts/theme-core/src/palette/variants/types.d.ts +3 -3
- package/dist/_dts/theme-core/src/runtime/themeCssVarNames.d.ts +7 -0
- package/dist/_dts/theme-core/src/schema.d.ts +90 -48
- package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +214 -34
- package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +5 -2
- package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +214 -34
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +25 -1
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +35 -7
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +96 -34
- package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +4 -2
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +9 -1
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +27 -2
- package/dist/_dts/theme-core/src/siteChrome.d.ts +17 -34
- package/dist/_dts/theme-core/src/siteChromeOverlayClearance.d.ts +22 -0
- package/dist/_dts/theme-core/src/siteChromePlacement.d.ts +22 -0
- package/dist/_dts/theme-core/src/siteChromePlanning.d.ts +32 -0
- package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +2 -2
- package/dist/{chunk-EAWHBECW.mjs → chunk-F7RTCZYN.mjs} +229 -50
- package/dist/{chunk-GSQX43EZ.mjs → chunk-NIDXI46P.mjs} +22 -41
- package/dist/{chunk-WLQBJN2Z.mjs → chunk-OECWLDHN.mjs} +4538 -1911
- package/dist/{chunk-VX7B5VAC.mjs → chunk-SVMMM2NA.mjs} +8 -0
- package/dist/{chunk-6SMUFTXD.mjs → chunk-SXOLGNMX.mjs} +1 -1
- package/dist/{chunk-ANKDYZ2E.mjs → chunk-TXDES5P2.mjs} +2 -2
- package/dist/cli/index.mjs +2036 -594
- package/dist/client/{accordion-RZMQSYLR.mjs → accordion-EVDEOUPR.mjs} +2 -2
- package/dist/client/{bookingForm-NF4ASVNV.mjs → bookingForm-DIHBLC64.mjs} +27 -30
- package/dist/client/bookings.mjs +3707 -259
- package/dist/client/{carousel-LDX47ZIK.mjs → carousel-FEBQHIWI.mjs} +3 -4
- package/dist/client/{cart-RGXDS5F4.mjs → cart-7CKSXAE4.mjs} +8 -8
- package/dist/client/{checkout-P7WWSNNY.mjs → checkout-WKYCANLV.mjs} +8 -8
- package/dist/client/{chunk-JNC7CGHX.mjs → chunk-2SAVKN2M.mjs} +2 -2
- package/dist/client/{chunk-TQ5MSPDX.mjs → chunk-36WJCERQ.mjs} +1 -1
- package/dist/client/{chunk-R56FQ3RR.mjs → chunk-65F47D7Y.mjs} +280 -71
- package/dist/client/{chunk-L3DNHIJX.mjs → chunk-GUK2FPXQ.mjs} +23 -45
- package/dist/client/{chunk-PMAIXMAB.mjs → chunk-IVNCUVAV.mjs} +26 -21
- package/dist/client/{chunk-II7O4XN3.mjs → chunk-OFMSCGNY.mjs} +2 -2
- package/dist/client/chunk-PD6NBCEY.mjs +66 -0
- package/dist/client/{chunk-GMVTOKYG.mjs → chunk-RV6FX7UH.mjs} +510 -64
- package/dist/client/{chunk-E2TDNXCL.mjs → chunk-RZDWX7QW.mjs} +2 -1
- package/dist/client/{chunk-M3L3KYYR.mjs → chunk-UDNSI5PY.mjs} +12 -0
- package/dist/client/{chunk-JEZECJ3W.mjs → chunk-VPPMNXCF.mjs} +129 -3
- package/dist/client/{chunk-UFSWADAO.mjs → chunk-YDSEG6GZ.mjs} +5 -66
- package/dist/client/client.mjs +8983 -6152
- package/dist/client/{courseRegistration-7F65K5ZR.mjs → courseRegistration-5QF2PHKM.mjs} +14 -11
- package/dist/client/{eventCalendar-GLSC5KTL.mjs → eventCalendar-4ZOSETDU.mjs} +9 -9
- package/dist/client/{eventCombined-ZHK4WKUR.mjs → eventCombined-WQGU7JUX.mjs} +9 -9
- package/dist/client/{eventDetails-E3PJYBIN.mjs → eventDetails-AYWVUJ5Y.mjs} +9 -9
- package/dist/client/{eventListing-EMS3WC3E.mjs → eventListing-NT7C6UT5.mjs} +9 -9
- package/dist/client/{eventRegistration-NZOTVNPI.mjs → eventRegistration-OH24F4ZJ.mjs} +9 -9
- package/dist/client/{form-ETFZFATW.mjs → form-7L42SRBB.mjs} +6 -6
- package/dist/client/{headerSection-4LBP7ULT.mjs → headerSection-OZRZNZ52.mjs} +3 -3
- package/dist/client/hooks.mjs +1388 -427
- package/dist/client/{locationMap-5M655YSJ.mjs → locationMap-ZBXRPQ7C.mjs} +2 -2
- package/dist/client/{newsletterForm-QOUYW44O.mjs → newsletterForm-SNAGFF2I.mjs} +3 -3
- package/dist/client/{productDetail-O4DOCWQG.mjs → productDetail-I46BOFGV.mjs} +8 -8
- package/dist/client/{productList-A5RO5WIS.mjs → productList-BOYHTYI6.mjs} +8 -8
- package/dist/client/rendering/client.mjs +7090 -2645
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +7395 -4767
- package/dist/client/{shop-L4MZH4I2.mjs → shop-XTXPZTKR.mjs} +8 -8
- package/dist/preview-next/before-render.mjs +8 -0
- package/dist/preview-next/client/runtime.mjs +5 -5
- package/dist/preview-next/editor-chrome.css +10 -0
- package/dist/preview-next/middleware.mjs +8 -0
- package/dist/{sdk-runtime-Q6MTR4KL.mjs → sdk-runtime-ZJLKC6DR.mjs} +6 -6
- package/dist/server/components.mjs +4175 -2480
- package/dist/server/config-validation.mjs +1619 -658
- package/dist/server/config.mjs +1619 -658
- package/dist/server/data.mjs +1388 -427
- package/dist/server/index.mjs +488 -246
- package/dist/server/next.mjs +5607 -3354
- package/dist/server/page-converter.mjs +912 -259
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +4176 -2481
- package/dist/server/rendering.mjs +4194 -2486
- package/dist/server/routing.mjs +2078 -639
- package/dist/server/server.mjs +1886 -685
- package/dist/server/theme-bridge.mjs +4441 -1300
- package/dist/server/theme.mjs +89 -12
- package/dist/styles/index.css +1576 -1083
- package/package.json +2 -1
- package/dist/SdkPreviewModeRuntime-5FS5E6BI.mjs +0 -8
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/DiscountCodeSection.d.ts +0 -7
- package/dist/_dts/preview-next/src/client/widgets/PreviewMediaField.d.ts +0 -4
- package/dist/client/chunk-OJPZEZU2.mjs +0 -31
- package/dist/client/chunk-RTZ3JKKX.mjs +0 -178
package/dist/server/index.mjs
CHANGED
|
@@ -3922,6 +3922,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
3922
3922
|
responseKind: "json",
|
|
3923
3923
|
errors: []
|
|
3924
3924
|
},
|
|
3925
|
+
applyDiscountCode: {
|
|
3926
|
+
path: "/public/sites/{siteId}/bookings/discounts/apply",
|
|
3927
|
+
method: "POST",
|
|
3928
|
+
tags: ["site-{siteId}", "booking-discounts"],
|
|
3929
|
+
auth: "public",
|
|
3930
|
+
responseKind: "json",
|
|
3931
|
+
errors: ["validation:invalid_input", "rate_limit:exceeded"]
|
|
3932
|
+
},
|
|
3925
3933
|
// Batch endpoint for block loader requests (reduces SSR fan-out)
|
|
3926
3934
|
batchBlockLoaders: {
|
|
3927
3935
|
path: "/public/sites/{siteId}/block-loaders/batch",
|
|
@@ -6809,7 +6817,7 @@ var SimpleCache = class {
|
|
|
6809
6817
|
};
|
|
6810
6818
|
|
|
6811
6819
|
// src/version.ts
|
|
6812
|
-
var SDK_VERSION = "0.
|
|
6820
|
+
var SDK_VERSION = "0.78.0";
|
|
6813
6821
|
|
|
6814
6822
|
// src/client/error.ts
|
|
6815
6823
|
var RiverbankApiError = class _RiverbankApiError extends Error {
|
|
@@ -6954,6 +6962,22 @@ var RiverbankApiError = class _RiverbankApiError extends Error {
|
|
|
6954
6962
|
return lines.join("\n");
|
|
6955
6963
|
}
|
|
6956
6964
|
};
|
|
6965
|
+
var resilienceStatusSymbol = /* @__PURE__ */ Symbol.for("riverbankcms.sdk.resilienceStatus");
|
|
6966
|
+
function attachResilienceStatusToError(error, resilienceStatus) {
|
|
6967
|
+
const target = error !== null && (typeof error === "object" || typeof error === "function") ? error : new Error(error === void 0 ? "Unknown error" : String(error));
|
|
6968
|
+
Object.defineProperty(target, resilienceStatusSymbol, {
|
|
6969
|
+
configurable: true,
|
|
6970
|
+
enumerable: false,
|
|
6971
|
+
value: resilienceStatus
|
|
6972
|
+
});
|
|
6973
|
+
return target;
|
|
6974
|
+
}
|
|
6975
|
+
function getResilienceStatusFromError(error) {
|
|
6976
|
+
if (error === null || typeof error !== "object" && typeof error !== "function") {
|
|
6977
|
+
return void 0;
|
|
6978
|
+
}
|
|
6979
|
+
return error[resilienceStatusSymbol];
|
|
6980
|
+
}
|
|
6957
6981
|
|
|
6958
6982
|
// src/client/resilience.ts
|
|
6959
6983
|
var DEFAULT_RETRY_CONFIG = {
|
|
@@ -7212,7 +7236,9 @@ var CircuitOpenError = class extends Error {
|
|
|
7212
7236
|
var prebuildModule = null;
|
|
7213
7237
|
function tryRequire(modulePath) {
|
|
7214
7238
|
try {
|
|
7215
|
-
const req = Function(
|
|
7239
|
+
const req = Function(
|
|
7240
|
+
'return typeof require === "function" ? require : null'
|
|
7241
|
+
)();
|
|
7216
7242
|
return req ? req(modulePath) : null;
|
|
7217
7243
|
} catch {
|
|
7218
7244
|
return null;
|
|
@@ -7231,7 +7257,9 @@ function getPrebuildModule() {
|
|
|
7231
7257
|
return null;
|
|
7232
7258
|
}
|
|
7233
7259
|
try {
|
|
7234
|
-
prebuildModule = tryRequire(
|
|
7260
|
+
prebuildModule = tryRequire(
|
|
7261
|
+
"../prebuild/loader"
|
|
7262
|
+
);
|
|
7235
7263
|
return prebuildModule;
|
|
7236
7264
|
} catch {
|
|
7237
7265
|
return null;
|
|
@@ -7291,7 +7319,9 @@ function normalizePublicFormResult(result) {
|
|
|
7291
7319
|
}
|
|
7292
7320
|
function normalizePublicFormsResponse(response) {
|
|
7293
7321
|
return {
|
|
7294
|
-
forms: response.forms.map(
|
|
7322
|
+
forms: response.forms.map(
|
|
7323
|
+
(form) => normalizePublicFormResponse({ form }).form
|
|
7324
|
+
)
|
|
7295
7325
|
};
|
|
7296
7326
|
}
|
|
7297
7327
|
function normalizePublicFormsResult(result) {
|
|
@@ -7490,7 +7520,10 @@ function createRiverbankClient(config) {
|
|
|
7490
7520
|
isDegraded = nowDegraded;
|
|
7491
7521
|
config.resilience?.onDegradedMode?.(nowDegraded, status);
|
|
7492
7522
|
}
|
|
7493
|
-
return
|
|
7523
|
+
return {
|
|
7524
|
+
data,
|
|
7525
|
+
resilience: status
|
|
7526
|
+
};
|
|
7494
7527
|
}
|
|
7495
7528
|
async function resilientFetch(cacheKey, fetcher, options) {
|
|
7496
7529
|
const requestId = generateRequestId2();
|
|
@@ -7514,25 +7547,43 @@ function createRiverbankClient(config) {
|
|
|
7514
7547
|
if (allowFallbacks && !isPreview && staleIfError) {
|
|
7515
7548
|
const stale = cache.getStale(cacheKey);
|
|
7516
7549
|
if (stale) {
|
|
7517
|
-
return emitStatus(
|
|
7518
|
-
|
|
7519
|
-
|
|
7520
|
-
|
|
7550
|
+
return emitStatus(
|
|
7551
|
+
"stale",
|
|
7552
|
+
stale.value,
|
|
7553
|
+
statusDetails({
|
|
7554
|
+
staleAgeSec: stale.staleAgeSec,
|
|
7555
|
+
error: {
|
|
7556
|
+
code: "circuit_open",
|
|
7557
|
+
message: "Circuit breaker is open"
|
|
7558
|
+
}
|
|
7559
|
+
})
|
|
7560
|
+
);
|
|
7521
7561
|
}
|
|
7522
7562
|
}
|
|
7523
7563
|
if (allowFallbacks && !isPreview && options.prebuildFallback) {
|
|
7524
7564
|
const prebuildResult = options.prebuildFallback();
|
|
7525
7565
|
if (prebuildResult) {
|
|
7526
|
-
return emitStatus(
|
|
7527
|
-
|
|
7528
|
-
|
|
7529
|
-
|
|
7566
|
+
return emitStatus(
|
|
7567
|
+
"prebuild",
|
|
7568
|
+
prebuildResult.data,
|
|
7569
|
+
statusDetails({
|
|
7570
|
+
prebuildAgeSec: prebuildResult.prebuildAgeSec,
|
|
7571
|
+
error: {
|
|
7572
|
+
code: "circuit_open",
|
|
7573
|
+
message: "Circuit breaker is open"
|
|
7574
|
+
}
|
|
7575
|
+
})
|
|
7576
|
+
);
|
|
7530
7577
|
}
|
|
7531
7578
|
}
|
|
7532
7579
|
const circuitState = circuitBreaker.getState();
|
|
7533
|
-
emitStatus(
|
|
7534
|
-
error
|
|
7535
|
-
|
|
7580
|
+
emitStatus(
|
|
7581
|
+
"error",
|
|
7582
|
+
null,
|
|
7583
|
+
statusDetails({
|
|
7584
|
+
error: { code: "circuit_open", message: "Circuit breaker is open" }
|
|
7585
|
+
})
|
|
7586
|
+
);
|
|
7536
7587
|
throw new CircuitOpenError(circuitState);
|
|
7537
7588
|
}
|
|
7538
7589
|
try {
|
|
@@ -7559,7 +7610,9 @@ function createRiverbankClient(config) {
|
|
|
7559
7610
|
circuitBreaker.recordSuccess();
|
|
7560
7611
|
} else {
|
|
7561
7612
|
try {
|
|
7562
|
-
const response = await fetcher(
|
|
7613
|
+
const response = await fetcher(
|
|
7614
|
+
options.signal ?? new AbortController().signal
|
|
7615
|
+
);
|
|
7563
7616
|
data = unwrapResponse(response);
|
|
7564
7617
|
} catch (error) {
|
|
7565
7618
|
convertToTypedError(error);
|
|
@@ -7576,28 +7629,51 @@ function createRiverbankClient(config) {
|
|
|
7576
7629
|
if (allowFallbacks && !isPreview && staleIfError && cacheEnabled) {
|
|
7577
7630
|
const stale = cache.getStale(cacheKey);
|
|
7578
7631
|
if (stale) {
|
|
7579
|
-
const errorInfo2 = error instanceof RiverbankApiError ? {
|
|
7580
|
-
|
|
7581
|
-
|
|
7582
|
-
|
|
7583
|
-
}
|
|
7632
|
+
const errorInfo2 = error instanceof RiverbankApiError ? {
|
|
7633
|
+
code: error.code,
|
|
7634
|
+
message: error.message,
|
|
7635
|
+
status: error.status
|
|
7636
|
+
} : { message: error.message };
|
|
7637
|
+
return emitStatus(
|
|
7638
|
+
"stale",
|
|
7639
|
+
stale.value,
|
|
7640
|
+
statusDetails({
|
|
7641
|
+
staleAgeSec: stale.staleAgeSec,
|
|
7642
|
+
error: errorInfo2
|
|
7643
|
+
})
|
|
7644
|
+
);
|
|
7584
7645
|
}
|
|
7585
7646
|
}
|
|
7586
7647
|
if (allowFallbacks && !isPreview && options.prebuildFallback) {
|
|
7587
7648
|
const prebuildResult = options.prebuildFallback();
|
|
7588
7649
|
if (prebuildResult) {
|
|
7589
|
-
const errorInfo2 = error instanceof RiverbankApiError ? {
|
|
7590
|
-
|
|
7591
|
-
|
|
7592
|
-
|
|
7593
|
-
}
|
|
7650
|
+
const errorInfo2 = error instanceof RiverbankApiError ? {
|
|
7651
|
+
code: error.code,
|
|
7652
|
+
message: error.message,
|
|
7653
|
+
status: error.status
|
|
7654
|
+
} : { message: error.message };
|
|
7655
|
+
return emitStatus(
|
|
7656
|
+
"prebuild",
|
|
7657
|
+
prebuildResult.data,
|
|
7658
|
+
statusDetails({
|
|
7659
|
+
prebuildAgeSec: prebuildResult.prebuildAgeSec,
|
|
7660
|
+
error: errorInfo2
|
|
7661
|
+
})
|
|
7662
|
+
);
|
|
7594
7663
|
}
|
|
7595
7664
|
}
|
|
7596
|
-
const errorInfo = error instanceof RiverbankApiError ? { code: error.code, message: error.message } : { message: error.message };
|
|
7597
|
-
|
|
7598
|
-
|
|
7665
|
+
const errorInfo = error instanceof RiverbankApiError ? { code: error.code, message: error.message, status: error.status } : { message: error.message };
|
|
7666
|
+
const failure = emitStatus(
|
|
7667
|
+
"error",
|
|
7668
|
+
null,
|
|
7669
|
+
statusDetails({ error: errorInfo })
|
|
7670
|
+
);
|
|
7671
|
+
throw attachResilienceStatusToError(error, failure.resilience);
|
|
7599
7672
|
}
|
|
7600
7673
|
}
|
|
7674
|
+
async function resilientFetchData(cacheKey, fetcher, options) {
|
|
7675
|
+
return (await resilientFetch(cacheKey, fetcher, options)).data;
|
|
7676
|
+
}
|
|
7601
7677
|
function combineAbortSignals(...signals) {
|
|
7602
7678
|
const controller = new AbortController();
|
|
7603
7679
|
for (const signal of signals) {
|
|
@@ -7605,32 +7681,45 @@ function createRiverbankClient(config) {
|
|
|
7605
7681
|
controller.abort(signal.reason);
|
|
7606
7682
|
break;
|
|
7607
7683
|
}
|
|
7608
|
-
signal.addEventListener("abort", () => controller.abort(signal.reason), {
|
|
7684
|
+
signal.addEventListener("abort", () => controller.abort(signal.reason), {
|
|
7685
|
+
once: true
|
|
7686
|
+
});
|
|
7609
7687
|
}
|
|
7610
7688
|
return controller.signal;
|
|
7611
7689
|
}
|
|
7612
7690
|
async function resolveEntrySubrouteInternal(args) {
|
|
7613
7691
|
const { siteId, entryId, kind, segment, stage, signal } = args;
|
|
7614
7692
|
const cacheKey = `entry-subroute:${siteId}:${entryId}:${kind}:${segment}:${stage ?? "published"}`;
|
|
7615
|
-
return
|
|
7616
|
-
|
|
7617
|
-
|
|
7618
|
-
|
|
7619
|
-
|
|
7620
|
-
|
|
7621
|
-
|
|
7693
|
+
return resilientFetchData(
|
|
7694
|
+
cacheKey,
|
|
7695
|
+
async (sig) => {
|
|
7696
|
+
return await apiClient({
|
|
7697
|
+
endpoint: "resolveEntrySubroute",
|
|
7698
|
+
params: {
|
|
7699
|
+
siteId,
|
|
7700
|
+
entryId,
|
|
7701
|
+
kind,
|
|
7702
|
+
segment,
|
|
7703
|
+
...stage ? { stage } : {}
|
|
7704
|
+
},
|
|
7705
|
+
options: { signal: sig }
|
|
7706
|
+
});
|
|
7707
|
+
},
|
|
7708
|
+
{ signal }
|
|
7709
|
+
);
|
|
7622
7710
|
}
|
|
7623
|
-
|
|
7624
|
-
|
|
7625
|
-
|
|
7626
|
-
|
|
7627
|
-
|
|
7628
|
-
|
|
7629
|
-
|
|
7630
|
-
|
|
7631
|
-
|
|
7632
|
-
|
|
7633
|
-
|
|
7711
|
+
async function getSiteWithResilienceInternal(params) {
|
|
7712
|
+
const { slug, domain, id, signal, force, currentPath } = params;
|
|
7713
|
+
if (!slug && !domain && !id) {
|
|
7714
|
+
throw new Error(
|
|
7715
|
+
`getSite() requires at least one identifier: slug, domain, or id. Received: ${JSON.stringify(params)}`
|
|
7716
|
+
);
|
|
7717
|
+
}
|
|
7718
|
+
const cacheKey = `site:${slug || domain || id}:${currentPath ?? ""}`;
|
|
7719
|
+
const siteId = id || slug || domain;
|
|
7720
|
+
return resilientFetch(
|
|
7721
|
+
cacheKey,
|
|
7722
|
+
async (sig) => {
|
|
7634
7723
|
const apiParams = {};
|
|
7635
7724
|
if (params.slug) apiParams.slug = params.slug;
|
|
7636
7725
|
if (params.domain) apiParams.domain = params.domain;
|
|
@@ -7641,66 +7730,120 @@ function createRiverbankClient(config) {
|
|
|
7641
7730
|
endpoint: "getSite",
|
|
7642
7731
|
params: apiParams,
|
|
7643
7732
|
// When force=true, bypass Next.js fetch caching (revalidate) as well.
|
|
7644
|
-
options: {
|
|
7733
|
+
options: {
|
|
7734
|
+
signal: sig,
|
|
7735
|
+
...force ? { cache: "no-store" } : {}
|
|
7736
|
+
}
|
|
7645
7737
|
});
|
|
7646
|
-
},
|
|
7738
|
+
},
|
|
7739
|
+
{
|
|
7647
7740
|
signal,
|
|
7648
7741
|
force,
|
|
7649
7742
|
prebuildFallback: prebuildLoader && siteId ? () => prebuildLoader.loadSite(siteId) : void 0
|
|
7650
|
-
}
|
|
7651
|
-
|
|
7652
|
-
|
|
7653
|
-
|
|
7654
|
-
|
|
7655
|
-
|
|
7656
|
-
|
|
7657
|
-
|
|
7743
|
+
}
|
|
7744
|
+
);
|
|
7745
|
+
}
|
|
7746
|
+
async function getPageWithResilienceInternal(params) {
|
|
7747
|
+
const { siteId, path: path3, preview = false, signal } = params;
|
|
7748
|
+
const cacheKey = `page:${siteId}:${path3}:${preview}`;
|
|
7749
|
+
return resilientFetch(
|
|
7750
|
+
cacheKey,
|
|
7751
|
+
async (sig) => {
|
|
7752
|
+
return await apiClient({
|
|
7753
|
+
endpoint: "getContentByPath",
|
|
7754
|
+
params: { siteId },
|
|
7755
|
+
body: { path: path3, preview },
|
|
7756
|
+
options: { signal: sig }
|
|
7757
|
+
});
|
|
7758
|
+
},
|
|
7759
|
+
{
|
|
7658
7760
|
preview,
|
|
7659
7761
|
signal,
|
|
7660
7762
|
// Prebuild fallback only for published pages (not preview)
|
|
7661
7763
|
prebuildFallback: prebuildLoader && !preview ? () => prebuildLoader.loadPage(siteId, path3) : void 0
|
|
7662
|
-
}
|
|
7764
|
+
}
|
|
7765
|
+
);
|
|
7766
|
+
}
|
|
7767
|
+
return {
|
|
7768
|
+
async getSite(params) {
|
|
7769
|
+
return (await getSiteWithResilienceInternal(params)).data;
|
|
7770
|
+
},
|
|
7771
|
+
async getSiteWithResilience(params) {
|
|
7772
|
+
return getSiteWithResilienceInternal(params);
|
|
7773
|
+
},
|
|
7774
|
+
async getPage(params) {
|
|
7775
|
+
return (await getPageWithResilienceInternal(params)).data;
|
|
7776
|
+
},
|
|
7777
|
+
async getPageWithResilience(params) {
|
|
7778
|
+
return getPageWithResilienceInternal(params);
|
|
7663
7779
|
},
|
|
7664
7780
|
async getEntries(params) {
|
|
7665
|
-
const {
|
|
7781
|
+
const {
|
|
7782
|
+
siteId,
|
|
7783
|
+
contentType,
|
|
7784
|
+
limit,
|
|
7785
|
+
offset,
|
|
7786
|
+
order,
|
|
7787
|
+
preview = false,
|
|
7788
|
+
mode,
|
|
7789
|
+
entryIds,
|
|
7790
|
+
includeMeta,
|
|
7791
|
+
signal
|
|
7792
|
+
} = params;
|
|
7666
7793
|
const entryIdsCacheKey = mode === "manual" && entryIds?.length ? entryIds.join(",") : "";
|
|
7667
7794
|
const cacheKey = `entries:${siteId}:${contentType}:${limit ?? ""}:${offset ?? ""}:${order ?? ""}:${preview}:${mode ?? ""}:${entryIdsCacheKey}:${includeMeta ?? ""}`;
|
|
7668
|
-
return
|
|
7669
|
-
|
|
7670
|
-
|
|
7671
|
-
orderParam
|
|
7672
|
-
|
|
7673
|
-
|
|
7674
|
-
|
|
7675
|
-
|
|
7676
|
-
|
|
7677
|
-
|
|
7678
|
-
siteId,
|
|
7679
|
-
type: contentType,
|
|
7680
|
-
...typeof limit === "number" && { limit: String(limit) },
|
|
7681
|
-
...typeof offset === "number" && { offset: String(offset) },
|
|
7682
|
-
...includeMeta && { meta: "true" },
|
|
7683
|
-
...orderParam && { order: orderParam },
|
|
7684
|
-
...preview && { stage: "preview" },
|
|
7685
|
-
...mode === "manual" && entryIds?.length && {
|
|
7686
|
-
mode: "manual",
|
|
7687
|
-
entryIds: JSON.stringify(entryIds)
|
|
7795
|
+
return resilientFetchData(
|
|
7796
|
+
cacheKey,
|
|
7797
|
+
async (sig) => {
|
|
7798
|
+
let orderParam;
|
|
7799
|
+
if (order === "newest") {
|
|
7800
|
+
orderParam = "published_at.desc";
|
|
7801
|
+
} else if (order === "oldest") {
|
|
7802
|
+
orderParam = "published_at.asc";
|
|
7803
|
+
} else if (order === "title") {
|
|
7804
|
+
orderParam = "title.asc";
|
|
7688
7805
|
}
|
|
7689
|
-
|
|
7690
|
-
|
|
7691
|
-
|
|
7692
|
-
|
|
7693
|
-
|
|
7694
|
-
|
|
7695
|
-
|
|
7696
|
-
|
|
7806
|
+
const apiParams = {
|
|
7807
|
+
siteId,
|
|
7808
|
+
type: contentType,
|
|
7809
|
+
...typeof limit === "number" && { limit: String(limit) },
|
|
7810
|
+
...typeof offset === "number" && { offset: String(offset) },
|
|
7811
|
+
...includeMeta && { meta: "true" },
|
|
7812
|
+
...orderParam && { order: orderParam },
|
|
7813
|
+
...preview && { stage: "preview" },
|
|
7814
|
+
...mode === "manual" && entryIds?.length && {
|
|
7815
|
+
mode: "manual",
|
|
7816
|
+
entryIds: JSON.stringify(entryIds)
|
|
7817
|
+
}
|
|
7818
|
+
};
|
|
7819
|
+
return await apiClient({
|
|
7820
|
+
endpoint: "listPublishedEntries",
|
|
7821
|
+
params: apiParams,
|
|
7822
|
+
options: { signal: sig }
|
|
7823
|
+
});
|
|
7824
|
+
},
|
|
7825
|
+
{
|
|
7826
|
+
preview,
|
|
7827
|
+
signal,
|
|
7828
|
+
// Prebuild fallback only for published entries (not preview, not manual mode)
|
|
7829
|
+
prebuildFallback: prebuildLoader && !preview ? () => prebuildLoader.loadEntries(siteId, params) : void 0
|
|
7830
|
+
}
|
|
7831
|
+
);
|
|
7697
7832
|
},
|
|
7698
7833
|
async getEntry(params) {
|
|
7699
7834
|
const { siteId, contentType, slug, signal } = params;
|
|
7700
7835
|
const cacheKey = `entry:${siteId}:${contentType}:${slug}`;
|
|
7701
|
-
return
|
|
7702
|
-
|
|
7703
|
-
|
|
7836
|
+
return resilientFetchData(
|
|
7837
|
+
cacheKey,
|
|
7838
|
+
async (sig) => {
|
|
7839
|
+
return await apiClient({
|
|
7840
|
+
endpoint: "getPublishedEntryPreview",
|
|
7841
|
+
params: { siteId, type: contentType, slug },
|
|
7842
|
+
options: { signal: sig }
|
|
7843
|
+
});
|
|
7844
|
+
},
|
|
7845
|
+
{ signal }
|
|
7846
|
+
);
|
|
7704
7847
|
},
|
|
7705
7848
|
async getPublicFormById(params) {
|
|
7706
7849
|
const { formId, siteId, signal } = params;
|
|
@@ -7708,10 +7851,18 @@ function createRiverbankClient(config) {
|
|
|
7708
7851
|
throw new Error("getPublicFormById() requires formId and siteId");
|
|
7709
7852
|
}
|
|
7710
7853
|
const cacheKey = `public-form:${siteId}:${formId}`;
|
|
7711
|
-
return
|
|
7712
|
-
|
|
7713
|
-
|
|
7714
|
-
|
|
7854
|
+
return resilientFetchData(
|
|
7855
|
+
cacheKey,
|
|
7856
|
+
async (sig) => {
|
|
7857
|
+
const response = await apiClient({
|
|
7858
|
+
endpoint: "getPublicFormById",
|
|
7859
|
+
params: { formId, siteId },
|
|
7860
|
+
options: { signal: sig }
|
|
7861
|
+
});
|
|
7862
|
+
return normalizePublicFormResult(response);
|
|
7863
|
+
},
|
|
7864
|
+
{ signal }
|
|
7865
|
+
);
|
|
7715
7866
|
},
|
|
7716
7867
|
async getForms(params) {
|
|
7717
7868
|
const { siteId, signal } = params;
|
|
@@ -7719,34 +7870,42 @@ function createRiverbankClient(config) {
|
|
|
7719
7870
|
throw new Error("getForms() requires siteId");
|
|
7720
7871
|
}
|
|
7721
7872
|
const cacheKey = `forms:${siteId}`;
|
|
7722
|
-
return
|
|
7723
|
-
|
|
7724
|
-
|
|
7725
|
-
|
|
7726
|
-
|
|
7727
|
-
|
|
7728
|
-
|
|
7729
|
-
|
|
7730
|
-
|
|
7731
|
-
|
|
7732
|
-
|
|
7733
|
-
|
|
7734
|
-
|
|
7735
|
-
|
|
7736
|
-
|
|
7737
|
-
|
|
7738
|
-
|
|
7739
|
-
|
|
7740
|
-
|
|
7741
|
-
|
|
7742
|
-
|
|
7743
|
-
|
|
7744
|
-
|
|
7745
|
-
|
|
7746
|
-
|
|
7747
|
-
|
|
7748
|
-
|
|
7749
|
-
|
|
7873
|
+
return resilientFetchData(
|
|
7874
|
+
cacheKey,
|
|
7875
|
+
async (sig) => {
|
|
7876
|
+
const response = await apiClient({
|
|
7877
|
+
endpoint: "listPublicForms",
|
|
7878
|
+
params: { siteId },
|
|
7879
|
+
options: { signal: sig }
|
|
7880
|
+
});
|
|
7881
|
+
return normalizePublicFormsResult(response);
|
|
7882
|
+
},
|
|
7883
|
+
{
|
|
7884
|
+
signal,
|
|
7885
|
+
prebuildFallback: prebuildLoader ? () => {
|
|
7886
|
+
const result = prebuildLoader.loadForms();
|
|
7887
|
+
if (result) {
|
|
7888
|
+
return {
|
|
7889
|
+
data: {
|
|
7890
|
+
forms: result.data.map((form) => ({
|
|
7891
|
+
id: form.id,
|
|
7892
|
+
slug: form.slug,
|
|
7893
|
+
name: form.name,
|
|
7894
|
+
schema: form.schema,
|
|
7895
|
+
settings: form.settings,
|
|
7896
|
+
schemaJson: form.schema,
|
|
7897
|
+
settingsJson: form.settings,
|
|
7898
|
+
createdAt: null,
|
|
7899
|
+
updatedAt: null
|
|
7900
|
+
}))
|
|
7901
|
+
},
|
|
7902
|
+
prebuildAgeSec: result.prebuildAgeSec
|
|
7903
|
+
};
|
|
7904
|
+
}
|
|
7905
|
+
return null;
|
|
7906
|
+
} : void 0
|
|
7907
|
+
}
|
|
7908
|
+
);
|
|
7750
7909
|
},
|
|
7751
7910
|
async getPublicBookingServices(params) {
|
|
7752
7911
|
const { siteId, ids, signal } = params;
|
|
@@ -7754,13 +7913,21 @@ function createRiverbankClient(config) {
|
|
|
7754
7913
|
throw new Error("getPublicBookingServices() requires siteId");
|
|
7755
7914
|
}
|
|
7756
7915
|
const cacheKey = `public-booking-services:${siteId}:${ids ?? ""}`;
|
|
7757
|
-
return
|
|
7758
|
-
|
|
7759
|
-
|
|
7760
|
-
|
|
7761
|
-
|
|
7762
|
-
|
|
7763
|
-
|
|
7916
|
+
return resilientFetchData(
|
|
7917
|
+
cacheKey,
|
|
7918
|
+
async (sig) => {
|
|
7919
|
+
const apiParams = {
|
|
7920
|
+
siteId,
|
|
7921
|
+
...ids && { ids }
|
|
7922
|
+
};
|
|
7923
|
+
return await apiClient({
|
|
7924
|
+
endpoint: "getPublicBookingServices",
|
|
7925
|
+
params: apiParams,
|
|
7926
|
+
options: { signal: sig }
|
|
7927
|
+
});
|
|
7928
|
+
},
|
|
7929
|
+
{ signal }
|
|
7930
|
+
);
|
|
7764
7931
|
},
|
|
7765
7932
|
async listPublicEvents(params) {
|
|
7766
7933
|
const {
|
|
@@ -7781,22 +7948,30 @@ function createRiverbankClient(config) {
|
|
|
7781
7948
|
throw new Error("listPublicEvents() requires siteId");
|
|
7782
7949
|
}
|
|
7783
7950
|
const cacheKey = `public-events:${siteId}:${limit ?? ""}:${from ?? ""}:${to ?? ""}:${stage ?? ""}:${categoryIds ?? ""}:${venueId ?? ""}:${kind ?? ""}:${entryId ?? ""}:${seriesId ?? ""}:${includeOccurrenceId ?? ""}`;
|
|
7784
|
-
return
|
|
7785
|
-
|
|
7786
|
-
|
|
7787
|
-
|
|
7788
|
-
|
|
7789
|
-
|
|
7790
|
-
|
|
7791
|
-
|
|
7792
|
-
|
|
7793
|
-
|
|
7794
|
-
|
|
7795
|
-
|
|
7796
|
-
|
|
7797
|
-
|
|
7798
|
-
|
|
7799
|
-
|
|
7951
|
+
return resilientFetchData(
|
|
7952
|
+
cacheKey,
|
|
7953
|
+
async (sig) => {
|
|
7954
|
+
const apiParams = {
|
|
7955
|
+
siteId,
|
|
7956
|
+
...typeof limit === "number" && { limit: String(limit) },
|
|
7957
|
+
...from && { from },
|
|
7958
|
+
...to && { to },
|
|
7959
|
+
...stage && { stage },
|
|
7960
|
+
...categoryIds && { categoryIds },
|
|
7961
|
+
...venueId && { venueId },
|
|
7962
|
+
...kind && { kind },
|
|
7963
|
+
...entryId && { entryId },
|
|
7964
|
+
...seriesId && { seriesId },
|
|
7965
|
+
...includeOccurrenceId && { includeOccurrenceId }
|
|
7966
|
+
};
|
|
7967
|
+
return await apiClient({
|
|
7968
|
+
endpoint: "listPublicEvents",
|
|
7969
|
+
params: apiParams,
|
|
7970
|
+
options: { signal: sig }
|
|
7971
|
+
});
|
|
7972
|
+
},
|
|
7973
|
+
{ signal }
|
|
7974
|
+
);
|
|
7800
7975
|
},
|
|
7801
7976
|
async getPublicEventDetails(params) {
|
|
7802
7977
|
const {
|
|
@@ -7820,37 +7995,44 @@ function createRiverbankClient(config) {
|
|
|
7820
7995
|
throw new Error("getPublicEventDetails() requires siteId");
|
|
7821
7996
|
}
|
|
7822
7997
|
const cacheKey = `public-event-details:${siteId}:${limit ?? ""}:${from ?? ""}:${to ?? ""}:${afterStartsAt ?? ""}:${afterId ?? ""}:${stage ?? ""}:${categoryIds ?? ""}:${venueId ?? ""}:${staffMemberId ?? ""}:${kind ?? ""}:${entryId ?? ""}:${seriesId ?? ""}:${includeOccurrenceId ?? ""}`;
|
|
7823
|
-
return
|
|
7824
|
-
|
|
7825
|
-
|
|
7826
|
-
|
|
7827
|
-
|
|
7828
|
-
|
|
7829
|
-
|
|
7830
|
-
|
|
7831
|
-
|
|
7832
|
-
|
|
7833
|
-
|
|
7834
|
-
|
|
7835
|
-
|
|
7836
|
-
|
|
7837
|
-
|
|
7838
|
-
|
|
7839
|
-
|
|
7840
|
-
|
|
7841
|
-
|
|
7842
|
-
|
|
7843
|
-
|
|
7844
|
-
|
|
7845
|
-
|
|
7998
|
+
return resilientFetchData(
|
|
7999
|
+
cacheKey,
|
|
8000
|
+
async (sig) => {
|
|
8001
|
+
const requestId = "eventDetails";
|
|
8002
|
+
const response = await apiClient({
|
|
8003
|
+
endpoint: "batchBlockLoaders",
|
|
8004
|
+
params: { siteId, ...stage && { stage } },
|
|
8005
|
+
body: {
|
|
8006
|
+
requests: [
|
|
8007
|
+
{
|
|
8008
|
+
id: requestId,
|
|
8009
|
+
endpoint: "getPublicEventDetails",
|
|
8010
|
+
params: {
|
|
8011
|
+
...typeof limit === "number" && { limit: String(limit) },
|
|
8012
|
+
...from && { from },
|
|
8013
|
+
...to && { to },
|
|
8014
|
+
...afterStartsAt && { afterStartsAt },
|
|
8015
|
+
...afterId && { afterId },
|
|
8016
|
+
...categoryIds && { categoryIds },
|
|
8017
|
+
...venueId && { venueId },
|
|
8018
|
+
...staffMemberId && { staffMemberId },
|
|
8019
|
+
...kind && { kind },
|
|
8020
|
+
...entryId && { entryId },
|
|
8021
|
+
...seriesId && { seriesId },
|
|
8022
|
+
...includeOccurrenceId && { includeOccurrenceId }
|
|
8023
|
+
}
|
|
7846
8024
|
}
|
|
7847
|
-
|
|
7848
|
-
|
|
7849
|
-
|
|
7850
|
-
|
|
7851
|
-
|
|
7852
|
-
|
|
7853
|
-
|
|
8025
|
+
]
|
|
8026
|
+
},
|
|
8027
|
+
options: { signal: sig }
|
|
8028
|
+
});
|
|
8029
|
+
return normalizeBatchBlockLoaderResult(
|
|
8030
|
+
response,
|
|
8031
|
+
requestId
|
|
8032
|
+
);
|
|
8033
|
+
},
|
|
8034
|
+
{ signal }
|
|
8035
|
+
);
|
|
7854
8036
|
},
|
|
7855
8037
|
async listPublicCourses(params) {
|
|
7856
8038
|
const { siteId, limit, stage, signal } = params;
|
|
@@ -7858,14 +8040,22 @@ function createRiverbankClient(config) {
|
|
|
7858
8040
|
throw new Error("listPublicCourses() requires siteId");
|
|
7859
8041
|
}
|
|
7860
8042
|
const cacheKey = `public-courses:${siteId}:${limit ?? ""}:${stage ?? ""}`;
|
|
7861
|
-
return
|
|
7862
|
-
|
|
7863
|
-
|
|
7864
|
-
|
|
7865
|
-
|
|
7866
|
-
|
|
7867
|
-
|
|
7868
|
-
|
|
8043
|
+
return resilientFetchData(
|
|
8044
|
+
cacheKey,
|
|
8045
|
+
async (sig) => {
|
|
8046
|
+
const apiParams = {
|
|
8047
|
+
siteId,
|
|
8048
|
+
...typeof limit === "number" && { limit: String(limit) },
|
|
8049
|
+
...stage && { stage }
|
|
8050
|
+
};
|
|
8051
|
+
return await apiClient({
|
|
8052
|
+
endpoint: "listPublicCourses",
|
|
8053
|
+
params: apiParams,
|
|
8054
|
+
options: { signal: sig }
|
|
8055
|
+
});
|
|
8056
|
+
},
|
|
8057
|
+
{ signal }
|
|
8058
|
+
);
|
|
7869
8059
|
},
|
|
7870
8060
|
async listPublicTeamMembers(params) {
|
|
7871
8061
|
const { siteId, stage, signal } = params;
|
|
@@ -7873,17 +8063,21 @@ function createRiverbankClient(config) {
|
|
|
7873
8063
|
throw new Error("listPublicTeamMembers() requires siteId");
|
|
7874
8064
|
}
|
|
7875
8065
|
const cacheKey = `public-team-members:${siteId}:${stage ?? ""}`;
|
|
7876
|
-
return
|
|
7877
|
-
|
|
7878
|
-
|
|
7879
|
-
|
|
7880
|
-
|
|
7881
|
-
|
|
7882
|
-
|
|
7883
|
-
|
|
7884
|
-
|
|
7885
|
-
|
|
7886
|
-
|
|
8066
|
+
return resilientFetchData(
|
|
8067
|
+
cacheKey,
|
|
8068
|
+
async (sig) => {
|
|
8069
|
+
const apiParams = {
|
|
8070
|
+
siteId,
|
|
8071
|
+
...stage && { stage }
|
|
8072
|
+
};
|
|
8073
|
+
return await apiClient({
|
|
8074
|
+
endpoint: "listPublicTeamMembers",
|
|
8075
|
+
params: apiParams,
|
|
8076
|
+
options: { signal: sig }
|
|
8077
|
+
});
|
|
8078
|
+
},
|
|
8079
|
+
{ signal }
|
|
8080
|
+
);
|
|
7887
8081
|
},
|
|
7888
8082
|
async listPublicProducts(params) {
|
|
7889
8083
|
const { siteId, stage, categorySelector, signal } = params;
|
|
@@ -7892,14 +8086,22 @@ function createRiverbankClient(config) {
|
|
|
7892
8086
|
}
|
|
7893
8087
|
const selectorKey = categorySelector ? categorySelector.kind === "category" ? `category:${categorySelector.productCategoryId}` : `current-category-page:${categorySelector.productCategoryEntryId}` : "";
|
|
7894
8088
|
const cacheKey = `public-products:${siteId}:${stage ?? ""}:${selectorKey}`;
|
|
7895
|
-
return
|
|
7896
|
-
|
|
7897
|
-
|
|
7898
|
-
|
|
7899
|
-
|
|
7900
|
-
|
|
7901
|
-
|
|
7902
|
-
|
|
8089
|
+
return resilientFetchData(
|
|
8090
|
+
cacheKey,
|
|
8091
|
+
async (sig) => {
|
|
8092
|
+
const apiParams = {
|
|
8093
|
+
siteId,
|
|
8094
|
+
...stage && { stage },
|
|
8095
|
+
...encodePublicProductCategorySelector(categorySelector)
|
|
8096
|
+
};
|
|
8097
|
+
return await apiClient({
|
|
8098
|
+
endpoint: "listPublicProducts",
|
|
8099
|
+
params: apiParams,
|
|
8100
|
+
options: { signal: sig }
|
|
8101
|
+
});
|
|
8102
|
+
},
|
|
8103
|
+
{ signal }
|
|
8104
|
+
);
|
|
7903
8105
|
},
|
|
7904
8106
|
async listPublicPasses(params) {
|
|
7905
8107
|
const { siteId, categories, signal } = params;
|
|
@@ -7907,13 +8109,21 @@ function createRiverbankClient(config) {
|
|
|
7907
8109
|
throw new Error("listPublicPasses() requires siteId");
|
|
7908
8110
|
}
|
|
7909
8111
|
const cacheKey = `public-passes:${siteId}:${categories ?? ""}`;
|
|
7910
|
-
return
|
|
7911
|
-
|
|
7912
|
-
|
|
7913
|
-
|
|
7914
|
-
|
|
7915
|
-
|
|
7916
|
-
|
|
8112
|
+
return resilientFetchData(
|
|
8113
|
+
cacheKey,
|
|
8114
|
+
async (sig) => {
|
|
8115
|
+
const apiParams = {
|
|
8116
|
+
siteId,
|
|
8117
|
+
...categories && { categories }
|
|
8118
|
+
};
|
|
8119
|
+
return await apiClient({
|
|
8120
|
+
endpoint: "listPublicPasses",
|
|
8121
|
+
params: apiParams,
|
|
8122
|
+
options: { signal: sig }
|
|
8123
|
+
});
|
|
8124
|
+
},
|
|
8125
|
+
{ signal }
|
|
8126
|
+
);
|
|
7917
8127
|
},
|
|
7918
8128
|
async listPublicMemberships(params) {
|
|
7919
8129
|
const { siteId, categories, signal } = params;
|
|
@@ -7921,25 +8131,44 @@ function createRiverbankClient(config) {
|
|
|
7921
8131
|
throw new Error("listPublicMemberships() requires siteId");
|
|
7922
8132
|
}
|
|
7923
8133
|
const cacheKey = `public-memberships:${siteId}:${categories ?? ""}`;
|
|
7924
|
-
return
|
|
7925
|
-
|
|
7926
|
-
|
|
7927
|
-
|
|
7928
|
-
|
|
7929
|
-
|
|
7930
|
-
|
|
8134
|
+
return resilientFetchData(
|
|
8135
|
+
cacheKey,
|
|
8136
|
+
async (sig) => {
|
|
8137
|
+
const apiParams = {
|
|
8138
|
+
siteId,
|
|
8139
|
+
...categories && { categories }
|
|
8140
|
+
};
|
|
8141
|
+
return await apiClient({
|
|
8142
|
+
endpoint: "listPublicMemberships",
|
|
8143
|
+
params: apiParams,
|
|
8144
|
+
options: { signal: sig }
|
|
8145
|
+
});
|
|
8146
|
+
},
|
|
8147
|
+
{ signal }
|
|
8148
|
+
);
|
|
7931
8149
|
},
|
|
7932
8150
|
async resolveEntrySubroute(params) {
|
|
7933
8151
|
const { siteId, entryId, kind, segment, stage, signal } = params;
|
|
7934
8152
|
if (!siteId || !entryId || !kind || !segment) {
|
|
7935
|
-
throw new Error(
|
|
8153
|
+
throw new Error(
|
|
8154
|
+
"resolveEntrySubroute() requires siteId, entryId, kind, and segment"
|
|
8155
|
+
);
|
|
7936
8156
|
}
|
|
7937
|
-
return resolveEntrySubrouteInternal({
|
|
8157
|
+
return resolveEntrySubrouteInternal({
|
|
8158
|
+
siteId,
|
|
8159
|
+
entryId,
|
|
8160
|
+
kind,
|
|
8161
|
+
segment,
|
|
8162
|
+
stage,
|
|
8163
|
+
signal
|
|
8164
|
+
});
|
|
7938
8165
|
},
|
|
7939
8166
|
async resolveEventOccurrence(params) {
|
|
7940
8167
|
const { siteId, entryId, segment, signal } = params;
|
|
7941
8168
|
if (!siteId || !entryId || !segment) {
|
|
7942
|
-
throw new Error(
|
|
8169
|
+
throw new Error(
|
|
8170
|
+
"resolveEventOccurrence() requires siteId, entryId, and segment"
|
|
8171
|
+
);
|
|
7943
8172
|
}
|
|
7944
8173
|
const result = await resolveEntrySubrouteInternal({
|
|
7945
8174
|
siteId,
|
|
@@ -7958,13 +8187,17 @@ function createRiverbankClient(config) {
|
|
|
7958
8187
|
throw new Error("checkRedirect() requires siteId and path");
|
|
7959
8188
|
}
|
|
7960
8189
|
const cacheKey = `redirect:${siteId}:${path3}`;
|
|
7961
|
-
return
|
|
7962
|
-
|
|
7963
|
-
|
|
7964
|
-
|
|
7965
|
-
|
|
7966
|
-
|
|
7967
|
-
|
|
8190
|
+
return resilientFetchData(
|
|
8191
|
+
cacheKey,
|
|
8192
|
+
async (sig) => {
|
|
8193
|
+
return await apiClient({
|
|
8194
|
+
endpoint: "checkRedirect",
|
|
8195
|
+
params: { site: siteId, path: path3 },
|
|
8196
|
+
options: { signal: sig }
|
|
8197
|
+
});
|
|
8198
|
+
},
|
|
8199
|
+
{ signal }
|
|
8200
|
+
);
|
|
7968
8201
|
},
|
|
7969
8202
|
async getAllPublishedRoutes(params) {
|
|
7970
8203
|
const { siteId, signal } = params;
|
|
@@ -7972,13 +8205,17 @@ function createRiverbankClient(config) {
|
|
|
7972
8205
|
throw new Error("getAllPublishedRoutes() requires siteId");
|
|
7973
8206
|
}
|
|
7974
8207
|
const cacheKey = `routable-content:${siteId}:published`;
|
|
7975
|
-
return
|
|
7976
|
-
|
|
7977
|
-
|
|
7978
|
-
|
|
7979
|
-
|
|
7980
|
-
|
|
7981
|
-
|
|
8208
|
+
return resilientFetchData(
|
|
8209
|
+
cacheKey,
|
|
8210
|
+
async (sig) => {
|
|
8211
|
+
return await apiClient({
|
|
8212
|
+
endpoint: "getPublicRoutableContent",
|
|
8213
|
+
params: { siteId, publishedOnly: "true" },
|
|
8214
|
+
options: { signal: sig }
|
|
8215
|
+
});
|
|
8216
|
+
},
|
|
8217
|
+
{ signal }
|
|
8218
|
+
);
|
|
7982
8219
|
},
|
|
7983
8220
|
async getSitemapRoutes(params) {
|
|
7984
8221
|
const { siteId, page, pageSize, signal } = params;
|
|
@@ -7986,17 +8223,21 @@ function createRiverbankClient(config) {
|
|
|
7986
8223
|
throw new Error("getSitemapRoutes() requires siteId");
|
|
7987
8224
|
}
|
|
7988
8225
|
const cacheKey = `sitemap:${siteId}:${page ?? 1}:${pageSize ?? "default"}`;
|
|
7989
|
-
return
|
|
7990
|
-
|
|
7991
|
-
|
|
7992
|
-
|
|
7993
|
-
|
|
7994
|
-
|
|
7995
|
-
|
|
7996
|
-
|
|
7997
|
-
|
|
7998
|
-
|
|
7999
|
-
|
|
8226
|
+
return resilientFetchData(
|
|
8227
|
+
cacheKey,
|
|
8228
|
+
async (sig) => {
|
|
8229
|
+
return await apiClient({
|
|
8230
|
+
endpoint: "getPublicSitemapRoutes",
|
|
8231
|
+
params: {
|
|
8232
|
+
siteId,
|
|
8233
|
+
...page ? { page: String(page) } : {},
|
|
8234
|
+
...pageSize ? { pageSize: String(pageSize) } : {}
|
|
8235
|
+
},
|
|
8236
|
+
options: { signal: sig }
|
|
8237
|
+
});
|
|
8238
|
+
},
|
|
8239
|
+
{ signal }
|
|
8240
|
+
);
|
|
8000
8241
|
},
|
|
8001
8242
|
clearCache() {
|
|
8002
8243
|
cache.clear();
|
|
@@ -8833,5 +9074,6 @@ export {
|
|
|
8833
9074
|
canUsePrebuild,
|
|
8834
9075
|
createPrebuildLoader,
|
|
8835
9076
|
createRiverbankClient,
|
|
9077
|
+
getResilienceStatusFromError,
|
|
8836
9078
|
prebuildCache
|
|
8837
9079
|
};
|