@riverbankcms/sdk 0.121.0 → 0.124.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 +14 -9
- package/dist/{PreviewEditorSidebar-lZ600tJx.mjs → PreviewEditorSidebar-DBmAJJkQ.mjs} +24 -41
- package/dist/{PreviewEditorUI-CTBWzLSb.mjs → PreviewEditorUI-CfGaz9cY.mjs} +3 -3
- package/dist/{PreviewQueryProvider-BHT8CJvZ.mjs → PreviewQueryProvider-BH-3-jSj.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-DhPU58s7.mjs → SdkPreviewModeRuntime-BW9Z8j8T.mjs} +1020 -1234
- package/dist/{SiteChromeCustomizeContext-BkNvpzNZ.mjs → SiteChromeCustomizeContext-2z8moxYf.mjs} +1902 -1961
- package/dist/_dts/ai/src/contracts/proposals.d.ts +1236 -4152
- package/dist/_dts/api/src/appointmentEndpointDefinitions.d.ts +435 -0
- package/dist/_dts/api/src/bookingClosures.d.ts +3 -3
- package/dist/_dts/api/src/bookingConfig.d.ts +100 -75
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +26 -35
- package/dist/_dts/api/src/bookingRecords.d.ts +4 -15
- package/dist/_dts/api/src/bookingVerticalCatalog.d.ts +746 -0
- package/dist/_dts/api/src/bookingVerticalPreset.d.ts +38 -0
- package/dist/_dts/api/src/bookingVerticals.d.ts +11 -652
- package/dist/_dts/api/src/bookings.d.ts +11 -9
- package/dist/_dts/api/src/cache-tags.d.ts +2 -2
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +10 -10
- package/dist/_dts/api/src/common/envelope.d.ts +2 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +0 -17
- package/dist/_dts/api/src/courseEndpointDefinitions.d.ts +99 -0
- package/dist/_dts/api/src/courses.d.ts +22 -33
- package/dist/_dts/api/src/defineEndpointDefinitions.d.ts +14 -0
- package/dist/_dts/api/src/demoMutationPolicies.d.ts +4 -0
- package/dist/_dts/api/src/endpoints.d.ts +3740 -3733
- package/dist/_dts/api/src/event-destination-policy.d.ts +1 -1
- package/dist/_dts/api/src/event-presentation.d.ts +4 -9
- package/dist/_dts/api/src/index.d.ts +10 -12
- package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +376 -0
- package/dist/_dts/api/src/participantMessaging.d.ts +2 -2
- package/dist/_dts/api/src/public/endpoints.d.ts +1 -1
- package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +272 -0
- package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +274 -0
- package/dist/_dts/api/src/publicExperience/newsletterEndpoints.d.ts +31 -0
- package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +152 -0
- package/dist/_dts/api/src/publicExperience/siteEndpoints.d.ts +95 -0
- package/dist/_dts/api/src/publicExperience/wholeSeriesEndpoints.d.ts +154 -0
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +10 -962
- package/dist/_dts/api/src/publicWholeSeriesEndpointDefinitions.d.ts +52 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +0 -51
- package/dist/_dts/api/src/sdkEntryReadEndpoints.d.ts +23 -0
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -38
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +6 -7
- package/dist/_dts/blocks/src/PageRenderer.d.ts +4 -15
- package/dist/_dts/blocks/src/contracts/index.d.ts +1 -1
- package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +0 -16
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +6 -222
- package/dist/_dts/blocks/src/portal/types.d.ts +3 -3
- package/dist/_dts/blocks/src/subroutes/fold.d.ts +1 -14
- package/dist/_dts/blocks/src/subroutes/index.d.ts +1 -1
- package/dist/_dts/blocks/src/subroutes/kinds.d.ts +3 -3
- package/dist/_dts/blocks/src/system/blocks/course-details.d.ts +0 -11
- package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +3 -4
- package/dist/_dts/blocks/src/system/blocks/courses/shared/pricing.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +401 -12
- package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +9 -10
- package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +14 -13
- package/dist/_dts/blocks/src/system/blocks/events/event-listing.d.ts +1 -2
- package/dist/_dts/blocks/src/system/blocks/events/shared/filtering.d.ts +1 -4
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +19 -18
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +9 -11
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +2 -2
- package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +10 -10
- package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +10 -10
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +162 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +59 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/courses.d.ts +134 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/discounts.d.ts +85 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +241 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/forms.d.ts +53 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/newsletter.d.ts +32 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/portal.d.ts +220 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/shop.d.ts +176 -0
- package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +12 -1121
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +19 -583
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +9 -276
- package/dist/_dts/blocks/src/system/runtime/hooks/useEventFilters.d.ts +1 -12
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +0 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessWholeSeriesRegistrationFlow.d.ts +0 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +2 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/course-details/logic.d.ts +1 -18
- package/dist/_dts/blocks/src/system/runtime/nodes/course-details/runs.d.ts +0 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/course-details.server.d.ts +1 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/courseRegistrationViewState.d.ts +21 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/pricing.d.ts +14 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/types.d.ts +0 -25
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseEligibility.d.ts +24 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCoursePaymentVerification.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationActions.d.ts +35 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationPortal.d.ts +7 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationSelection.d.ts +31 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationWizard.d.ts +80 -55
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseWaitlistSelection.d.ts +14 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/whole-series-registration.headless.contract.d.ts +4 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +0 -38
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +1 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +0 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardActions.d.ts +12 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +0 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventScope.d.ts +0 -9
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +0 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +0 -11
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +0 -21
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +24 -433
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +1 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +52 -266
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +5 -15
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventFilters.d.ts +0 -8
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +1573 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/listOptions.d.ts +1 -3
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +2 -3
- package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +2 -2
- package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +0 -5
- package/dist/_dts/content-model/src/content-types/builtins.d.ts +0 -5
- package/dist/_dts/content-model/src/templates/defaults.d.ts +6 -3
- package/dist/_dts/core/src/editor-state.d.ts +1 -13
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +1587 -115
- package/dist/_dts/preview-next/src/client/preview/siteChromeBrandPreferences.d.ts +6 -6
- package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +6 -1
- package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +27 -4
- package/dist/_dts/sdk/src/cli/commands/audit.d.ts +1 -2
- package/dist/_dts/sdk/src/cli/commands/pull-dated-offering-scope.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/pull-dry-run.d.ts +4 -6
- package/dist/_dts/sdk/src/cli/commands/push/consts.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/push/pushAllExtras.d.ts +0 -1
- package/dist/_dts/sdk/src/cli/commands/push/verification.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/content/collectionWriters.d.ts +23 -0
- package/dist/_dts/sdk/src/cli/content/metadataAfterPush.d.ts +25 -0
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +0 -52
- package/dist/_dts/sdk/src/cli/content/writer.d.ts +3 -81
- package/dist/_dts/sdk/src/cli/site-commands/datedOfferingCommands.d.ts +6 -9
- package/dist/_dts/sdk/src/client/contentReadOperations.d.ts +40 -0
- package/dist/_dts/sdk/src/client/management/index.d.ts +1 -3
- package/dist/_dts/sdk/src/client/management/types.d.ts +3 -91
- package/dist/_dts/sdk/src/client/runtimeCacheKeys.d.ts +72 -0
- package/dist/_dts/sdk/src/client/runtimeCachePolicy.d.ts +10 -75
- package/dist/_dts/sdk/src/client/types.d.ts +7 -33
- package/dist/_dts/sdk/src/components.d.ts +1 -1
- package/dist/_dts/sdk/src/config/types.d.ts +1 -1
- package/dist/_dts/sdk/src/config/validation.d.ts +3 -6
- package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/page.d.ts +0 -8
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +1 -34
- package/dist/_dts/sdk/src/data/prefetchBlockData.d.ts +4 -3
- package/dist/_dts/sdk/src/next/catch-all-utils.d.ts +0 -11
- package/dist/_dts/sdk/src/next/catch-all.d.ts +1 -76
- package/dist/_dts/sdk/src/next/types.d.ts +0 -19
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +7 -207
- package/dist/_dts/sdk/src/public-api/runtime.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -1
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +2 -2
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +0 -7
- package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +81 -0
- package/dist/_dts/sdk/src/rendering/index.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +1 -51
- package/dist/_dts/sdk/src/rendering/overrides.d.ts +2 -1
- package/dist/_dts/sdk/src/routing/entrySubroutes.d.ts +6 -6
- package/dist/_dts/sdk/src/routing/index.d.ts +0 -2
- package/dist/_dts/sdk/src/routing/resolveOccurrence.d.ts +3 -3
- package/dist/_dts/sdk/src/routing/resolvePageContent.d.ts +10 -39
- package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/adapter.d.ts +1 -1
- package/dist/_dts/site-commands/src/appointmentCommandSchemas.d.ts +100 -0
- package/dist/_dts/site-commands/src/capabilityGaps.d.ts +2 -2
- package/dist/_dts/site-commands/src/commandContract.d.ts +1242 -0
- package/dist/_dts/site-commands/src/commandDomain.d.ts +20 -0
- package/dist/_dts/site-commands/src/commandIdentifiers.d.ts +7 -0
- package/dist/_dts/site-commands/src/commandValidation.d.ts +10 -0
- package/dist/_dts/site-commands/src/commands.d.ts +729 -2659
- package/dist/_dts/site-commands/src/domain.d.ts +1 -1
- package/dist/_dts/site-commands/src/eventCommandContent.d.ts +11 -0
- package/dist/_dts/site-commands/src/exposure.d.ts +1 -1
- package/dist/_dts/site-commands/src/index.d.ts +6 -0
- package/dist/_dts/site-commands/src/metadata.d.ts +1 -27
- package/dist/_dts/site-commands/src/planner.d.ts +1 -1
- package/dist/_dts/site-commands/src/refContributions.d.ts +1 -1
- package/dist/_dts/site-commands/src/refs.d.ts +1 -4
- package/dist/_dts/site-commands/src/siteStyleCommandSchema.d.ts +378 -0
- package/dist/_dts/site-commands/src/siteStyleSelectionSchemaBuilder.d.ts +46 -0
- package/dist/_dts/site-commands/src/staticExecutionGaps.d.ts +2 -2
- package/dist/_dts/site-commands/src/venueCommandMapping.d.ts +21 -0
- package/dist/_dts/theme-core/src/site-styles/compilationPlan.d.ts +58 -0
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +1 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +47 -24
- package/dist/cli/index.mjs +7392 -10989
- package/dist/cli/init-docs/content/cli-reference.md +5 -21
- package/dist/cli/init-docs/content/content-management.md +4 -5
- package/dist/client/{DiscountCodeDisclosure-DIWj-P9v.mjs → DiscountCodeDisclosure-DxvjKvck.mjs} +2 -2
- package/dist/client/{EventCombined.client-De8YWBSr.mjs → EventCombined.client-BydMGc4c.mjs} +5 -16
- package/dist/client/{EventListing.client-seHTjimY.mjs → EventListing.client-vpzhhysN.mjs} +3 -10
- package/dist/client/{LeafletStaticMap-BmQxFcJW.mjs → LeafletStaticMap-CB07rpf8.mjs} +1 -1
- package/dist/client/{MagicLinkForm-OoJAIUIj.mjs → MagicLinkForm-BzyRJ8VF.mjs} +2 -2
- package/dist/client/{StepIndicator-CiZ8kdPk.mjs → StepIndicator-CTcGf8Be.mjs} +2 -2
- package/dist/client/{accordion-6lnN__XJ.mjs → accordion-B-DUDLRD.mjs} +1 -1
- package/dist/client/{bookingForm-5uyqhONU.mjs → bookingForm-DSbClLcZ.mjs} +6 -6
- package/dist/client/bookings.mjs +753 -818
- package/dist/client/{carousel-Dtnifil_.mjs → carousel-B6Ccdx8M.mjs} +1 -1
- package/dist/client/{cart-5Tc5S7NV.mjs → cart-BZh8G8wM.mjs} +3 -3
- package/dist/client/{checkout-CYKKN5Hr.mjs → checkout-o6zaC-kM.mjs} +3 -3
- package/dist/client/client.mjs +7398 -7687
- package/dist/client/{context-BGZNlGXB.mjs → context-CJz1Vlsz.mjs} +40 -43
- package/dist/client/{courseRegistration-CxCBybB4.mjs → courseRegistration-Cf11pNDs.mjs} +606 -621
- package/dist/client/{eventCalendar-Xj2jZS9X.mjs → eventCalendar-BeXrdsSE.mjs} +5 -13
- package/dist/client/{eventCombined-CgcMoOgM.mjs → eventCombined-DA76PZgG.mjs} +3 -3
- package/dist/client/{eventDetails-CEAH8Edc.mjs → eventDetails-BLxg0rok.mjs} +140 -116
- package/dist/client/{eventListing-qyPVQ0wP.mjs → eventListing-tO9LheBX.mjs} +3 -3
- package/dist/client/{eventRegistration-DDu79CtL.mjs → eventRegistration-Cnene9D9.mjs} +165 -68
- package/dist/client/{form-Bc7JKI7I.mjs → form-DZf72CHB.mjs} +2 -2
- package/dist/client/{headerSection-vTku_LEl.mjs → headerSection-Hioja5Cr.mjs} +2 -2
- package/dist/client/hooks.mjs +3452 -2365
- package/dist/client/{locationMap-Bg7X4Jna.mjs → locationMap-DwhUXEix.mjs} +2 -2
- package/dist/client/{newsletterForm-lpylVdp5.mjs → newsletterForm-C350bEQf.mjs} +2 -2
- package/dist/client/{pricing-DE8fjJiT.mjs → pricing-BYWN_ATa.mjs} +3 -19
- package/dist/client/{productDetail-D7Bo2RMH.mjs → productDetail-CCqCyXgU.mjs} +3 -3
- package/dist/client/{productList-VjnZqiqN.mjs → productList-BAiNJrOU.mjs} +3 -3
- package/dist/client/{propsDecoder-DreFXjNP.mjs → propsDecoder-DeunRj6m.mjs} +210 -378
- package/dist/client/rendering/client.mjs +2541 -2813
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +5622 -4734
- package/dist/client/{shop-IRsHHbf7.mjs → shop-DUmCdBtw.mjs} +6 -6
- package/dist/client/{shop-commerce-gnI8PieZ.mjs → shop-commerce-CY27mEUr.mjs} +5 -5
- package/dist/client/{shop-commerce-store-BTbrhObn.mjs → shop-commerce-store-ChXPbWfa.mjs} +1 -1
- package/dist/client/{shopShared-D6KS2_qk.mjs → shopShared-q0kin1cv.mjs} +3 -3
- package/dist/client/{useDiscountCodeUi-DCccGCxV.mjs → useDiscountCodeUi-I-92-x2V.mjs} +2 -2
- package/dist/client/{useEventFilters-eGs3rPZQ.mjs → useEventFilters-DlcVluZh.mjs} +59 -124
- package/dist/client/{usePolling-CvSU2sur.mjs → usePolling-Bz7GFV_a.mjs} +2 -2
- package/dist/preview-next/before-render.mjs +1115 -1043
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/middleware.mjs +1116 -1044
- package/dist/{previewAuthStore-31xH13Jc.mjs → previewAuthStore-CJX21dGi.mjs} +1119 -1044
- package/dist/{sdk-runtime-BE_vcGua.mjs → sdk-runtime-OnPM8Z69.mjs} +2 -2
- package/dist/{separator-CiffYtk3.mjs → separator-CPtfzHqA.mjs} +1 -1
- package/dist/server/components.mjs +11120 -12601
- package/dist/server/config-validation.mjs +3454 -2356
- package/dist/server/config.mjs +3454 -2356
- package/dist/server/data.mjs +3452 -2367
- package/dist/server/index.mjs +1499 -1488
- package/dist/server/next.mjs +18291 -21201
- package/dist/server/page-converter.mjs +1898 -2040
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +19666 -21153
- package/dist/server/rendering.mjs +17117 -18651
- package/dist/server/routing.mjs +3614 -2509
- package/dist/server/server.mjs +3298 -3478
- package/package.json +1 -1
- package/dist/_dts/api/src/previewContentContract.d.ts +0 -4
- package/dist/_dts/sdk/src/cli/commands/course.d.ts +0 -6
- package/dist/_dts/sdk/src/cli/commands/push/scopes/courses.d.ts +0 -4
- package/dist/_dts/sdk/src/client/management/courses.d.ts +0 -10
- package/dist/_dts/sdk/src/routing/resolveEntrySubroute.d.ts +0 -36
package/dist/server/index.mjs
CHANGED
|
@@ -33,6 +33,12 @@ function blockedDemoMutationPolicy(classification, publicMessage) {
|
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
35
|
//#endregion
|
|
36
|
+
//#region ../api/src/demoMutationPolicies.ts
|
|
37
|
+
const DEMO_MUTATION_BLOCKED_HIDDEN = blockedDemoMutationPolicy("blocked-hidden", "This action is not available in demo sites.");
|
|
38
|
+
const DEMO_MUTATION_BLOCKED_DISABLED = blockedDemoMutationPolicy("blocked-disabled", "This setting is disabled in demo sites.");
|
|
39
|
+
const DEMO_MUTATION_INTERNAL_ONLY = blockedDemoMutationPolicy("internal-only", "This internal operation is not available in demo sites.");
|
|
40
|
+
const DEMO_MUTATION_ALLOWED = allowedDemoMutationPolicy();
|
|
41
|
+
//#endregion
|
|
36
42
|
//#region ../api/src/cache-tags.ts
|
|
37
43
|
/**
|
|
38
44
|
* Tag templates for endpoint definitions (support `{param}` placeholders).
|
|
@@ -59,7 +65,7 @@ const TAG_TEMPLATES = {
|
|
|
59
65
|
formSubmissionsBySlug: "riverbank:form-submissions:{slug}",
|
|
60
66
|
publicEvents: "riverbank:site:{siteId}:public-events",
|
|
61
67
|
publicEventFilters: "riverbank:site:{siteId}:public-event-filters",
|
|
62
|
-
|
|
68
|
+
publicWholeSeriesOfferings: "riverbank:site:{siteId}:public-whole-series-offerings",
|
|
63
69
|
publicTeamMembers: "riverbank:site:{siteId}:public-team-members",
|
|
64
70
|
publicProducts: "riverbank:site:{siteId}:public-products",
|
|
65
71
|
publicPasses: "riverbank:site:{siteId}:public-passes",
|
|
@@ -74,524 +80,506 @@ const TAG_TEMPLATES = {
|
|
|
74
80
|
siteTheme: "riverbank:site:{siteId}:theme"
|
|
75
81
|
};
|
|
76
82
|
//#endregion
|
|
77
|
-
//#region ../api/src/
|
|
78
|
-
const
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
path: "/ai/content-update-chat",
|
|
85
|
-
method: "POST",
|
|
86
|
-
auth: "user",
|
|
87
|
-
responseKind: "stream"
|
|
88
|
-
},
|
|
89
|
-
aiChat: {
|
|
90
|
-
path: "/ai/chat",
|
|
91
|
-
method: "POST",
|
|
92
|
-
auth: "user",
|
|
93
|
-
responseKind: "stream"
|
|
94
|
-
},
|
|
95
|
-
aiDesignerThemeApply: {
|
|
96
|
-
path: "/sites/{siteId}/ai/designer/theme/apply",
|
|
97
|
-
method: "POST",
|
|
98
|
-
tags: [TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme],
|
|
99
|
-
auth: "user",
|
|
100
|
-
responseKind: "json"
|
|
101
|
-
},
|
|
102
|
-
aiDesignerPageOpsApply: {
|
|
103
|
-
path: "/sites/{siteId}/ai/designer/page/apply",
|
|
104
|
-
method: "POST",
|
|
105
|
-
tags: [TAG_TEMPLATES.siteCollection],
|
|
106
|
-
auth: "user",
|
|
83
|
+
//#region ../api/src/sdkEntryReadEndpoints.ts
|
|
84
|
+
const SDK_ENTRY_READ_ENDPOINTS = {
|
|
85
|
+
sdkPullEntriesByType: {
|
|
86
|
+
path: "/sdk/{siteId}/pull/entries/{type}",
|
|
87
|
+
method: "GET",
|
|
88
|
+
errors: ["validation:invalid_input", "server:internal_error"],
|
|
89
|
+
auth: "service",
|
|
107
90
|
responseKind: "json"
|
|
108
91
|
},
|
|
109
|
-
|
|
110
|
-
path: "/
|
|
111
|
-
method: "
|
|
112
|
-
|
|
92
|
+
sdkListEntries: {
|
|
93
|
+
path: "/sdk/{siteId}/entries/{contentType}",
|
|
94
|
+
method: "GET",
|
|
95
|
+
errors: ["validation:invalid_input", "server:internal_error"],
|
|
96
|
+
auth: "service",
|
|
113
97
|
responseKind: "json"
|
|
114
98
|
},
|
|
115
|
-
|
|
116
|
-
path: "/
|
|
117
|
-
method: "
|
|
118
|
-
|
|
99
|
+
sdkGetEntry: {
|
|
100
|
+
path: "/sdk/{siteId}/entries/{contentType}/{identifier}",
|
|
101
|
+
method: "GET",
|
|
102
|
+
errors: [
|
|
103
|
+
"validation:invalid_input",
|
|
104
|
+
"resource:not_found",
|
|
105
|
+
"server:internal_error"
|
|
106
|
+
],
|
|
107
|
+
auth: "service",
|
|
119
108
|
responseKind: "json"
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
//#endregion
|
|
112
|
+
//#region ../api/src/defineEndpointDefinitions.ts
|
|
113
|
+
/**
|
|
114
|
+
* Validates extracted endpoint descriptors while preserving each literal path,
|
|
115
|
+
* method, and parameter contract for the typed URL builders.
|
|
116
|
+
*/
|
|
117
|
+
function defineEndpointDefinitions(definitions) {
|
|
118
|
+
return definitions;
|
|
119
|
+
}
|
|
120
|
+
//#endregion
|
|
121
|
+
//#region ../api/src/appointmentEndpointDefinitions.ts
|
|
122
|
+
const APPOINTMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
123
|
+
listAppointmentResources: {
|
|
124
|
+
path: "/sites/{siteId}/bookings/resources",
|
|
125
|
+
method: "GET",
|
|
124
126
|
auth: "user",
|
|
125
127
|
responseKind: "json"
|
|
126
128
|
},
|
|
127
|
-
|
|
128
|
-
path: "/
|
|
129
|
+
createAppointmentResource: {
|
|
130
|
+
path: "/sites/{siteId}/bookings/resources",
|
|
129
131
|
method: "POST",
|
|
130
132
|
auth: "user",
|
|
131
|
-
responseKind: "json"
|
|
133
|
+
responseKind: "json",
|
|
134
|
+
errors: [
|
|
135
|
+
"validation:invalid_input",
|
|
136
|
+
"billing:plan_limit_exceeded",
|
|
137
|
+
"server:internal_error"
|
|
138
|
+
]
|
|
132
139
|
},
|
|
133
|
-
|
|
134
|
-
path: "/sites/{siteId}/
|
|
140
|
+
createAppointmentResourceWithAccountAccess: {
|
|
141
|
+
path: "/sites/{siteId}/bookings/resources/account-access",
|
|
135
142
|
method: "POST",
|
|
136
143
|
auth: "user",
|
|
137
|
-
responseKind: "
|
|
144
|
+
responseKind: "json",
|
|
145
|
+
errors: [
|
|
146
|
+
"validation:invalid_input",
|
|
147
|
+
"auth:forbidden",
|
|
148
|
+
"billing:plan_limit_exceeded",
|
|
149
|
+
"resource:conflict",
|
|
150
|
+
"resource:not_found",
|
|
151
|
+
"server:internal_error"
|
|
152
|
+
]
|
|
138
153
|
},
|
|
139
|
-
|
|
140
|
-
path: "/sites/{siteId}/
|
|
154
|
+
getAppointmentResource: {
|
|
155
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}",
|
|
141
156
|
method: "GET",
|
|
142
157
|
auth: "user",
|
|
143
|
-
responseKind: "
|
|
158
|
+
responseKind: "json"
|
|
144
159
|
},
|
|
145
|
-
|
|
146
|
-
path: "/sites/{siteId}/
|
|
147
|
-
method: "
|
|
160
|
+
updateAppointmentResource: {
|
|
161
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}",
|
|
162
|
+
method: "PUT",
|
|
148
163
|
auth: "user",
|
|
149
|
-
responseKind: "
|
|
164
|
+
responseKind: "json",
|
|
165
|
+
errors: [
|
|
166
|
+
"validation:invalid_input",
|
|
167
|
+
"resource:not_found",
|
|
168
|
+
"server:internal_error"
|
|
169
|
+
]
|
|
150
170
|
},
|
|
151
|
-
|
|
152
|
-
path: "/sites/{siteId}/
|
|
153
|
-
method: "
|
|
171
|
+
removeAppointmentResource: {
|
|
172
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}",
|
|
173
|
+
method: "DELETE",
|
|
154
174
|
auth: "user",
|
|
155
|
-
responseKind: "
|
|
175
|
+
responseKind: "json",
|
|
176
|
+
errors: ["resource:not_found", "server:internal_error"]
|
|
156
177
|
},
|
|
157
|
-
|
|
158
|
-
path: "/sites/{siteId}/
|
|
159
|
-
method: "
|
|
178
|
+
listAppointmentReservations: {
|
|
179
|
+
path: "/sites/{siteId}/bookings/appointment-reservations",
|
|
180
|
+
method: "GET",
|
|
160
181
|
auth: "user",
|
|
161
|
-
responseKind: "json"
|
|
182
|
+
responseKind: "json",
|
|
183
|
+
errors: []
|
|
162
184
|
},
|
|
163
|
-
|
|
164
|
-
path: "/sites/{siteId}/
|
|
185
|
+
createAppointmentReservation: {
|
|
186
|
+
path: "/sites/{siteId}/bookings/appointment-reservations",
|
|
165
187
|
method: "POST",
|
|
166
188
|
auth: "user",
|
|
167
|
-
responseKind: "json"
|
|
189
|
+
responseKind: "json",
|
|
190
|
+
errors: [
|
|
191
|
+
"validation:invalid_input",
|
|
192
|
+
"resource:not_found",
|
|
193
|
+
"resource:conflict",
|
|
194
|
+
"server:internal_error"
|
|
195
|
+
]
|
|
168
196
|
},
|
|
169
|
-
|
|
170
|
-
path: "/sites/{siteId}/
|
|
197
|
+
getAppointmentReservation: {
|
|
198
|
+
path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}",
|
|
171
199
|
method: "GET",
|
|
172
200
|
auth: "user",
|
|
173
|
-
responseKind: "json"
|
|
201
|
+
responseKind: "json",
|
|
202
|
+
errors: ["resource:not_found", "server:internal_error"]
|
|
174
203
|
},
|
|
175
|
-
|
|
176
|
-
path: "/sites/{siteId}/
|
|
177
|
-
method: "
|
|
204
|
+
updateAppointmentReservation: {
|
|
205
|
+
path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}",
|
|
206
|
+
method: "PUT",
|
|
178
207
|
auth: "user",
|
|
179
|
-
responseKind: "json"
|
|
208
|
+
responseKind: "json",
|
|
209
|
+
errors: [
|
|
210
|
+
"validation:invalid_input",
|
|
211
|
+
"resource:not_found",
|
|
212
|
+
"resource:conflict",
|
|
213
|
+
"server:internal_error"
|
|
214
|
+
]
|
|
180
215
|
},
|
|
181
|
-
|
|
182
|
-
path: "/sites/{siteId}/
|
|
216
|
+
pauseAppointmentReservation: {
|
|
217
|
+
path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/pause",
|
|
183
218
|
method: "POST",
|
|
184
219
|
auth: "user",
|
|
185
|
-
responseKind: "json"
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
responseKind: "json"
|
|
220
|
+
responseKind: "json",
|
|
221
|
+
errors: [
|
|
222
|
+
"resource:not_found",
|
|
223
|
+
"resource:conflict",
|
|
224
|
+
"server:internal_error"
|
|
225
|
+
]
|
|
192
226
|
},
|
|
193
|
-
|
|
194
|
-
path: "/sites/{siteId}/
|
|
227
|
+
resumeAppointmentReservation: {
|
|
228
|
+
path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/resume",
|
|
195
229
|
method: "POST",
|
|
196
230
|
auth: "user",
|
|
197
231
|
responseKind: "json",
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
auth: "public",
|
|
204
|
-
errors: [],
|
|
205
|
-
responseKind: "json"
|
|
206
|
-
},
|
|
207
|
-
listOnboardingPreviewThemes: {
|
|
208
|
-
path: "/public/sites/{siteId}/onboarding/themes",
|
|
209
|
-
method: "GET",
|
|
210
|
-
auth: "public",
|
|
211
|
-
errors: [],
|
|
212
|
-
responseKind: "json"
|
|
232
|
+
errors: [
|
|
233
|
+
"resource:not_found",
|
|
234
|
+
"resource:conflict",
|
|
235
|
+
"server:internal_error"
|
|
236
|
+
]
|
|
213
237
|
},
|
|
214
|
-
|
|
215
|
-
path: "/sites/{siteId}/
|
|
238
|
+
endAppointmentReservation: {
|
|
239
|
+
path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/end",
|
|
216
240
|
method: "POST",
|
|
217
241
|
auth: "user",
|
|
218
|
-
errors: [],
|
|
219
242
|
responseKind: "json",
|
|
220
|
-
|
|
243
|
+
errors: [
|
|
244
|
+
"validation:invalid_input",
|
|
245
|
+
"resource:not_found",
|
|
246
|
+
"resource:conflict",
|
|
247
|
+
"server:internal_error"
|
|
248
|
+
]
|
|
221
249
|
},
|
|
222
|
-
|
|
223
|
-
path: "/sites/{siteId}/
|
|
250
|
+
previewAppointmentReservationRun: {
|
|
251
|
+
path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/run-preview",
|
|
224
252
|
method: "POST",
|
|
225
253
|
auth: "user",
|
|
226
|
-
|
|
227
|
-
|
|
254
|
+
responseKind: "json",
|
|
255
|
+
errors: [
|
|
256
|
+
"validation:invalid_input",
|
|
257
|
+
"resource:not_found",
|
|
258
|
+
"resource:conflict",
|
|
259
|
+
"server:internal_error"
|
|
260
|
+
]
|
|
228
261
|
},
|
|
229
|
-
|
|
230
|
-
path: "/
|
|
262
|
+
createAppointmentReservationRun: {
|
|
263
|
+
path: "/sites/{siteId}/bookings/appointment-reservations/{reservationId}/runs",
|
|
231
264
|
method: "POST",
|
|
232
|
-
auth: "
|
|
233
|
-
|
|
234
|
-
|
|
265
|
+
auth: "user",
|
|
266
|
+
responseKind: "json",
|
|
267
|
+
errors: [
|
|
268
|
+
"validation:invalid_input",
|
|
269
|
+
"resource:not_found",
|
|
270
|
+
"resource:conflict",
|
|
271
|
+
"server:internal_error"
|
|
272
|
+
]
|
|
235
273
|
},
|
|
236
|
-
|
|
237
|
-
path: "/
|
|
274
|
+
createTeamMemberProfile: {
|
|
275
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/profile",
|
|
238
276
|
method: "POST",
|
|
239
|
-
auth: "
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
errors: [],
|
|
248
|
-
responseKind: "json"
|
|
249
|
-
},
|
|
250
|
-
uploadPublicOnboardingLogo: {
|
|
251
|
-
path: "/public/onboarding/attempts/{attemptToken}/logo",
|
|
252
|
-
method: "POST",
|
|
253
|
-
auth: "public",
|
|
254
|
-
errors: [],
|
|
255
|
-
responseKind: "json"
|
|
256
|
-
},
|
|
257
|
-
getPublicOnboardingAttempt: {
|
|
258
|
-
path: "/public/onboarding/attempts/{attemptToken}",
|
|
259
|
-
method: "GET",
|
|
260
|
-
auth: "public",
|
|
261
|
-
errors: [],
|
|
262
|
-
responseKind: "json"
|
|
277
|
+
auth: "user",
|
|
278
|
+
responseKind: "json",
|
|
279
|
+
errors: [
|
|
280
|
+
"validation:invalid_input",
|
|
281
|
+
"resource:not_found",
|
|
282
|
+
"resource:conflict",
|
|
283
|
+
"server:internal_error"
|
|
284
|
+
]
|
|
263
285
|
},
|
|
264
|
-
|
|
265
|
-
path: "/
|
|
266
|
-
method: "
|
|
267
|
-
auth: "
|
|
268
|
-
|
|
269
|
-
|
|
286
|
+
updateTeamMemberProfilePolicy: {
|
|
287
|
+
path: "/sites/{siteId}/bookings/resources/profile-policy",
|
|
288
|
+
method: "PUT",
|
|
289
|
+
auth: "user",
|
|
290
|
+
responseKind: "json",
|
|
291
|
+
errors: ["validation:invalid_input", "server:internal_error"]
|
|
270
292
|
},
|
|
271
|
-
|
|
272
|
-
path: "/
|
|
273
|
-
method: "
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
293
|
+
updateTeamMemberProfileContent: {
|
|
294
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/content",
|
|
295
|
+
method: "PUT",
|
|
296
|
+
tags: [
|
|
297
|
+
"site-{siteId}",
|
|
298
|
+
"content-{siteId}-team-member",
|
|
299
|
+
"content-entry-{entryId}"
|
|
300
|
+
],
|
|
301
|
+
auth: "user",
|
|
302
|
+
responseKind: "json",
|
|
303
|
+
errors: [
|
|
304
|
+
"validation:invalid_input",
|
|
305
|
+
"resource:not_found",
|
|
306
|
+
"resource:conflict",
|
|
307
|
+
"server:internal_error"
|
|
308
|
+
]
|
|
277
309
|
},
|
|
278
|
-
|
|
279
|
-
path: "/
|
|
310
|
+
publishTeamMemberProfile: {
|
|
311
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/publish",
|
|
280
312
|
method: "POST",
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
313
|
+
tags: [
|
|
314
|
+
"site-{siteId}",
|
|
315
|
+
"content-{siteId}-team-member",
|
|
316
|
+
"content-entry-{entryId}"
|
|
317
|
+
],
|
|
318
|
+
auth: "user",
|
|
319
|
+
responseKind: "json",
|
|
320
|
+
errors: [
|
|
321
|
+
"validation:invalid_input",
|
|
322
|
+
"resource:not_found",
|
|
323
|
+
"server:internal_error"
|
|
324
|
+
]
|
|
284
325
|
},
|
|
285
|
-
|
|
286
|
-
path: "/sites/{siteId}/
|
|
326
|
+
discardTeamMemberProfileDraft: {
|
|
327
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/discard",
|
|
287
328
|
method: "POST",
|
|
329
|
+
tags: [
|
|
330
|
+
"site-{siteId}",
|
|
331
|
+
"content-{siteId}-team-member",
|
|
332
|
+
"content-entry-{entryId}"
|
|
333
|
+
],
|
|
288
334
|
auth: "user",
|
|
289
335
|
responseKind: "json",
|
|
290
|
-
|
|
336
|
+
errors: [
|
|
337
|
+
"validation:invalid_input",
|
|
338
|
+
"resource:not_found",
|
|
339
|
+
"resource:conflict",
|
|
340
|
+
"server:internal_error"
|
|
341
|
+
]
|
|
291
342
|
},
|
|
292
|
-
|
|
293
|
-
path: "/sites/{siteId}/
|
|
343
|
+
unpublishTeamMemberProfile: {
|
|
344
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/unpublish",
|
|
294
345
|
method: "POST",
|
|
346
|
+
tags: [
|
|
347
|
+
"site-{siteId}",
|
|
348
|
+
"content-{siteId}-team-member",
|
|
349
|
+
"content-entry-{entryId}"
|
|
350
|
+
],
|
|
295
351
|
auth: "user",
|
|
296
352
|
responseKind: "json",
|
|
297
|
-
|
|
353
|
+
errors: [
|
|
354
|
+
"validation:invalid_input",
|
|
355
|
+
"resource:not_found",
|
|
356
|
+
"resource:conflict",
|
|
357
|
+
"server:internal_error"
|
|
358
|
+
]
|
|
298
359
|
},
|
|
299
|
-
|
|
300
|
-
path: "/sites/{siteId}/
|
|
360
|
+
scheduleTeamMemberProfile: {
|
|
361
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/schedule",
|
|
301
362
|
method: "POST",
|
|
363
|
+
tags: [
|
|
364
|
+
"site-{siteId}",
|
|
365
|
+
"content-{siteId}-team-member",
|
|
366
|
+
"content-entry-{entryId}"
|
|
367
|
+
],
|
|
302
368
|
auth: "user",
|
|
303
|
-
errors: [],
|
|
304
369
|
responseKind: "json",
|
|
305
|
-
|
|
370
|
+
errors: [
|
|
371
|
+
"validation:invalid_input",
|
|
372
|
+
"resource:not_found",
|
|
373
|
+
"resource:conflict",
|
|
374
|
+
"server:internal_error"
|
|
375
|
+
]
|
|
306
376
|
},
|
|
307
|
-
|
|
308
|
-
path: "/
|
|
377
|
+
cancelScheduledTeamMemberProfile: {
|
|
378
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/schedule",
|
|
379
|
+
method: "DELETE",
|
|
380
|
+
tags: [
|
|
381
|
+
"site-{siteId}",
|
|
382
|
+
"content-{siteId}-team-member",
|
|
383
|
+
"content-entry-{entryId}"
|
|
384
|
+
],
|
|
385
|
+
auth: "user",
|
|
386
|
+
responseKind: "json",
|
|
387
|
+
errors: [
|
|
388
|
+
"validation:invalid_input",
|
|
389
|
+
"resource:not_found",
|
|
390
|
+
"resource:conflict",
|
|
391
|
+
"server:internal_error"
|
|
392
|
+
]
|
|
393
|
+
},
|
|
394
|
+
updateTeamMemberProfileRouteMetadata: {
|
|
395
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/routes/{routeId}/metadata",
|
|
396
|
+
method: "PATCH",
|
|
397
|
+
tags: [
|
|
398
|
+
TAG_TEMPLATES.siteCollection,
|
|
399
|
+
TAG_TEMPLATES.siteRoutableContent,
|
|
400
|
+
TAG_TEMPLATES.routeById
|
|
401
|
+
],
|
|
402
|
+
auth: "user",
|
|
403
|
+
responseKind: "json",
|
|
404
|
+
errors: [
|
|
405
|
+
"validation:invalid_input",
|
|
406
|
+
"resource:not_found",
|
|
407
|
+
"resource:conflict",
|
|
408
|
+
"server:internal_error"
|
|
409
|
+
]
|
|
410
|
+
},
|
|
411
|
+
listAppointmentServices: {
|
|
412
|
+
path: "/sites/{siteId}/bookings/services",
|
|
309
413
|
method: "GET",
|
|
310
|
-
auth: "
|
|
311
|
-
errors: [],
|
|
414
|
+
auth: "user",
|
|
312
415
|
responseKind: "json"
|
|
313
416
|
},
|
|
314
|
-
|
|
315
|
-
path: "/
|
|
417
|
+
exportAppointmentServicesCsv: {
|
|
418
|
+
path: "/sites/{siteId}/bookings/services/export.csv",
|
|
316
419
|
method: "GET",
|
|
317
|
-
|
|
420
|
+
tags: [
|
|
421
|
+
"site-{siteId}",
|
|
422
|
+
"bookings",
|
|
423
|
+
"appointment-services-{siteId}"
|
|
424
|
+
],
|
|
318
425
|
errors: [],
|
|
319
|
-
|
|
426
|
+
auth: "user",
|
|
427
|
+
responseKind: "blob"
|
|
320
428
|
},
|
|
321
|
-
|
|
322
|
-
path: "/
|
|
323
|
-
method: "
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
errors: []
|
|
327
|
-
auth: "public",
|
|
328
|
-
responseKind: "json"
|
|
429
|
+
createAppointmentService: {
|
|
430
|
+
path: "/sites/{siteId}/bookings/services",
|
|
431
|
+
method: "POST",
|
|
432
|
+
auth: "user",
|
|
433
|
+
responseKind: "json",
|
|
434
|
+
errors: ["validation:invalid_input", "server:internal_error"]
|
|
329
435
|
},
|
|
330
|
-
|
|
331
|
-
path: "/sites/{siteId}/
|
|
436
|
+
getAppointmentService: {
|
|
437
|
+
path: "/sites/{siteId}/bookings/services/{serviceId}",
|
|
332
438
|
method: "GET",
|
|
333
439
|
auth: "user",
|
|
334
440
|
responseKind: "json"
|
|
335
441
|
},
|
|
336
|
-
|
|
337
|
-
path: "/sites/{siteId}/
|
|
338
|
-
method: "
|
|
339
|
-
errors: ["validation:invalid_input", "resource:not_found"],
|
|
442
|
+
updateAppointmentService: {
|
|
443
|
+
path: "/sites/{siteId}/bookings/services/{serviceId}",
|
|
444
|
+
method: "PUT",
|
|
340
445
|
auth: "user",
|
|
341
|
-
responseKind: "json"
|
|
446
|
+
responseKind: "json",
|
|
447
|
+
errors: [
|
|
448
|
+
"validation:invalid_input",
|
|
449
|
+
"resource:not_found",
|
|
450
|
+
"server:internal_error"
|
|
451
|
+
]
|
|
342
452
|
},
|
|
343
|
-
|
|
344
|
-
path: "/sites/{siteId}/
|
|
453
|
+
deleteAppointmentService: {
|
|
454
|
+
path: "/sites/{siteId}/bookings/services/{serviceId}",
|
|
345
455
|
method: "DELETE",
|
|
346
|
-
errors: ["resource:not_found"],
|
|
347
456
|
auth: "user",
|
|
348
|
-
responseKind: "json"
|
|
457
|
+
responseKind: "json",
|
|
458
|
+
errors: ["resource:not_found", "server:internal_error"]
|
|
349
459
|
},
|
|
350
|
-
|
|
351
|
-
path: "/sites/{siteId}/
|
|
460
|
+
getAppointmentSetup: {
|
|
461
|
+
path: "/sites/{siteId}/bookings/appointment-setup",
|
|
352
462
|
method: "GET",
|
|
353
|
-
tags: ["site-{siteId}", "webhooks"],
|
|
354
463
|
auth: "user",
|
|
355
|
-
responseKind: "json"
|
|
464
|
+
responseKind: "json",
|
|
465
|
+
errors: ["server:internal_error"]
|
|
356
466
|
},
|
|
357
|
-
|
|
358
|
-
path: "/sites/{siteId}/
|
|
467
|
+
applyAppointmentSetup: {
|
|
468
|
+
path: "/sites/{siteId}/bookings/appointment-setup",
|
|
359
469
|
method: "POST",
|
|
360
|
-
tags: ["site-{siteId}", "webhooks"],
|
|
361
470
|
auth: "user",
|
|
362
|
-
responseKind: "json"
|
|
471
|
+
responseKind: "json",
|
|
472
|
+
errors: ["validation:invalid_input", "server:internal_error"]
|
|
363
473
|
},
|
|
364
|
-
|
|
365
|
-
path: "/sites/{siteId}/
|
|
474
|
+
getAppointmentServicesReference: {
|
|
475
|
+
path: "/sites/{siteId}/bookings/services/reference",
|
|
366
476
|
method: "GET",
|
|
367
|
-
tags: ["site-{siteId}", "webhooks"],
|
|
368
477
|
auth: "user",
|
|
369
478
|
responseKind: "json"
|
|
370
479
|
},
|
|
371
|
-
|
|
372
|
-
path: "/sites/{siteId}/
|
|
373
|
-
method: "
|
|
374
|
-
tags: ["site-{siteId}", "webhooks"],
|
|
480
|
+
getAppointmentResourcesReference: {
|
|
481
|
+
path: "/sites/{siteId}/bookings/resources/reference",
|
|
482
|
+
method: "GET",
|
|
375
483
|
auth: "user",
|
|
376
484
|
responseKind: "json"
|
|
377
485
|
},
|
|
378
|
-
|
|
379
|
-
path: "/sites/{siteId}/
|
|
380
|
-
method: "DELETE",
|
|
381
|
-
tags: ["site-{siteId}", "webhooks"],
|
|
382
|
-
auth: "user",
|
|
383
|
-
responseKind: "json"
|
|
384
|
-
},
|
|
385
|
-
getSdkDeploymentHealth: {
|
|
386
|
-
path: "/sites/{siteId}/sdk-deployment/health",
|
|
387
|
-
method: "GET",
|
|
388
|
-
tags: ["site-{siteId}", "webhooks"],
|
|
389
|
-
auth: "user",
|
|
390
|
-
errors: [],
|
|
391
|
-
responseKind: "json"
|
|
392
|
-
},
|
|
393
|
-
setupSdkDeploymentRevalidationWebhook: {
|
|
394
|
-
path: "/sites/{siteId}/sdk-deployment/revalidation-webhook",
|
|
395
|
-
method: "POST",
|
|
396
|
-
tags: ["site-{siteId}", "webhooks"],
|
|
397
|
-
auth: "user",
|
|
398
|
-
errors: ["validation:invalid_input", "resource:conflict"],
|
|
399
|
-
responseKind: "json",
|
|
400
|
-
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED
|
|
401
|
-
},
|
|
402
|
-
listSiteApiKeys: {
|
|
403
|
-
path: "/sites/{siteId}/api-keys",
|
|
486
|
+
getResourceServices: {
|
|
487
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/services",
|
|
404
488
|
method: "GET",
|
|
405
489
|
auth: "user",
|
|
406
|
-
tags: ["site-{siteId}", "api-keys"],
|
|
407
|
-
responseKind: "json"
|
|
408
|
-
},
|
|
409
|
-
createSiteApiKey: {
|
|
410
|
-
path: "/sites/{siteId}/api-keys",
|
|
411
|
-
method: "POST",
|
|
412
|
-
auth: "user",
|
|
413
|
-
tags: ["site-{siteId}", "api-keys"],
|
|
414
490
|
responseKind: "json"
|
|
415
491
|
},
|
|
416
|
-
|
|
417
|
-
path: "/sites/{siteId}/
|
|
418
|
-
method: "
|
|
492
|
+
updateResourceServices: {
|
|
493
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/services",
|
|
494
|
+
method: "PUT",
|
|
419
495
|
auth: "user",
|
|
420
|
-
tags: ["site-{siteId}", "api-keys"],
|
|
421
496
|
responseKind: "json"
|
|
422
497
|
},
|
|
423
|
-
|
|
424
|
-
path: "/sites/{siteId}/
|
|
498
|
+
getServiceResources: {
|
|
499
|
+
path: "/sites/{siteId}/bookings/services/{serviceId}/resources",
|
|
425
500
|
method: "GET",
|
|
426
501
|
auth: "user",
|
|
427
|
-
tags: [
|
|
428
|
-
"site-{siteId}",
|
|
429
|
-
"api-keys",
|
|
430
|
-
"preview-key"
|
|
431
|
-
],
|
|
432
|
-
responseKind: "json"
|
|
433
|
-
},
|
|
434
|
-
createSitePreviewKey: {
|
|
435
|
-
path: "/sites/{siteId}/api-keys/preview",
|
|
436
|
-
method: "POST",
|
|
437
|
-
auth: "user",
|
|
438
|
-
tags: [
|
|
439
|
-
"site-{siteId}",
|
|
440
|
-
"api-keys",
|
|
441
|
-
"preview-key"
|
|
442
|
-
],
|
|
443
502
|
responseKind: "json"
|
|
444
503
|
},
|
|
445
|
-
|
|
446
|
-
path: "/sites/{siteId}/
|
|
447
|
-
method: "
|
|
504
|
+
updateServiceResources: {
|
|
505
|
+
path: "/sites/{siteId}/bookings/services/{serviceId}/resources",
|
|
506
|
+
method: "PUT",
|
|
448
507
|
auth: "user",
|
|
449
|
-
tags: [
|
|
450
|
-
"site-{siteId}",
|
|
451
|
-
"api-keys",
|
|
452
|
-
"access-logs"
|
|
453
|
-
],
|
|
454
508
|
responseKind: "json"
|
|
455
509
|
},
|
|
456
|
-
|
|
457
|
-
path: "/sites/{siteId}/
|
|
510
|
+
listAvailabilityRules: {
|
|
511
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/availability",
|
|
458
512
|
method: "GET",
|
|
459
513
|
auth: "user",
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
"api-keys",
|
|
463
|
-
"management-keys"
|
|
464
|
-
],
|
|
465
|
-
responseKind: "json"
|
|
466
|
-
},
|
|
467
|
-
createManagementKey: {
|
|
468
|
-
path: "/sites/{siteId}/api-keys/management",
|
|
469
|
-
method: "POST",
|
|
470
|
-
auth: "user",
|
|
471
|
-
tags: [
|
|
472
|
-
"site-{siteId}",
|
|
473
|
-
"api-keys",
|
|
474
|
-
"management-keys"
|
|
475
|
-
],
|
|
476
|
-
responseKind: "json"
|
|
477
|
-
},
|
|
478
|
-
revokeManagementKey: {
|
|
479
|
-
path: "/sites/{siteId}/api-keys/management",
|
|
480
|
-
method: "DELETE",
|
|
481
|
-
auth: "user",
|
|
482
|
-
tags: [
|
|
483
|
-
"site-{siteId}",
|
|
484
|
-
"api-keys",
|
|
485
|
-
"management-keys"
|
|
486
|
-
],
|
|
487
|
-
responseKind: "json"
|
|
514
|
+
responseKind: "json",
|
|
515
|
+
errors: ["resource:not_found", "server:internal_error"]
|
|
488
516
|
},
|
|
489
|
-
|
|
490
|
-
path: "/sites/{siteId}/bookings/
|
|
491
|
-
method: "
|
|
517
|
+
setWeeklyAvailability: {
|
|
518
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/weekly-availability",
|
|
519
|
+
method: "PUT",
|
|
492
520
|
auth: "user",
|
|
493
|
-
|
|
494
|
-
|
|
521
|
+
responseKind: "json",
|
|
522
|
+
errors: [
|
|
523
|
+
"validation:invalid_input",
|
|
524
|
+
"resource:not_found",
|
|
525
|
+
"server:internal_error"
|
|
526
|
+
]
|
|
495
527
|
},
|
|
496
|
-
|
|
497
|
-
path: "/sites/{siteId}/bookings/
|
|
528
|
+
setServiceSpecificAvailability: {
|
|
529
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/service-availability",
|
|
498
530
|
method: "PUT",
|
|
499
531
|
auth: "user",
|
|
500
|
-
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteBookingSettings],
|
|
501
532
|
responseKind: "json",
|
|
502
533
|
errors: [
|
|
503
534
|
"validation:invalid_input",
|
|
504
|
-
"
|
|
535
|
+
"resource:not_found",
|
|
505
536
|
"server:internal_error"
|
|
506
537
|
]
|
|
507
538
|
},
|
|
508
|
-
|
|
509
|
-
path: "/sites/{siteId}/bookings/
|
|
510
|
-
method: "
|
|
539
|
+
deleteServiceSpecificAvailability: {
|
|
540
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/service-availability/{scheduleId}",
|
|
541
|
+
method: "DELETE",
|
|
511
542
|
auth: "user",
|
|
512
|
-
tags: [
|
|
513
|
-
"site-{siteId}",
|
|
514
|
-
"bookings",
|
|
515
|
-
"closures-{siteId}"
|
|
516
|
-
],
|
|
517
543
|
responseKind: "json",
|
|
518
|
-
errors: ["
|
|
544
|
+
errors: ["resource:not_found", "server:internal_error"]
|
|
519
545
|
},
|
|
520
|
-
|
|
521
|
-
path: "/sites/{siteId}/bookings/
|
|
522
|
-
method: "
|
|
546
|
+
listBlackouts: {
|
|
547
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/blackouts",
|
|
548
|
+
method: "GET",
|
|
523
549
|
auth: "user",
|
|
524
|
-
tags: [
|
|
525
|
-
"site-{siteId}",
|
|
526
|
-
"bookings",
|
|
527
|
-
"closures-{siteId}"
|
|
528
|
-
],
|
|
529
550
|
responseKind: "json",
|
|
530
|
-
errors: [
|
|
531
|
-
"validation:invalid_input",
|
|
532
|
-
"auth:forbidden",
|
|
533
|
-
"server:internal_error"
|
|
534
|
-
]
|
|
551
|
+
errors: ["resource:not_found", "server:internal_error"]
|
|
535
552
|
},
|
|
536
|
-
|
|
537
|
-
path: "/sites/{siteId}/bookings/
|
|
553
|
+
createBlackout: {
|
|
554
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/blackouts",
|
|
538
555
|
method: "POST",
|
|
539
556
|
auth: "user",
|
|
540
|
-
tags: [
|
|
541
|
-
"site-{siteId}",
|
|
542
|
-
"bookings",
|
|
543
|
-
"closures-{siteId}"
|
|
544
|
-
],
|
|
545
557
|
responseKind: "json",
|
|
546
558
|
errors: [
|
|
547
559
|
"validation:invalid_input",
|
|
548
|
-
"resource:
|
|
549
|
-
"auth:forbidden",
|
|
560
|
+
"resource:not_found",
|
|
550
561
|
"server:internal_error"
|
|
551
562
|
]
|
|
552
563
|
},
|
|
553
|
-
|
|
554
|
-
path: "/sites/{siteId}/bookings/
|
|
555
|
-
method: "GET",
|
|
556
|
-
auth: "user",
|
|
557
|
-
tags: [
|
|
558
|
-
"site-{siteId}",
|
|
559
|
-
"bookings",
|
|
560
|
-
"closures-{siteId}"
|
|
561
|
-
],
|
|
562
|
-
responseKind: "json",
|
|
563
|
-
errors: ["resource:not_found", "server:internal_error"]
|
|
564
|
-
},
|
|
565
|
-
deleteBookingClosure: {
|
|
566
|
-
path: "/sites/{siteId}/bookings/closures/{closureId}",
|
|
564
|
+
deleteBlackout: {
|
|
565
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/blackouts/{blackoutId}",
|
|
567
566
|
method: "DELETE",
|
|
568
567
|
auth: "user",
|
|
569
|
-
tags: [
|
|
570
|
-
"site-{siteId}",
|
|
571
|
-
"bookings",
|
|
572
|
-
"closures-{siteId}"
|
|
573
|
-
],
|
|
574
568
|
responseKind: "json",
|
|
575
569
|
errors: ["resource:not_found", "server:internal_error"]
|
|
576
570
|
},
|
|
577
|
-
|
|
578
|
-
path: "/
|
|
579
|
-
method: "GET",
|
|
580
|
-
auth: "user",
|
|
581
|
-
responseKind: "json"
|
|
582
|
-
},
|
|
583
|
-
opsListOccurrenceAttendees: {
|
|
584
|
-
path: "/ops/sites/{siteId}/events/{occurrenceId}/attendees",
|
|
571
|
+
getCalendarStatus: {
|
|
572
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/calendar",
|
|
585
573
|
method: "GET",
|
|
586
574
|
auth: "user",
|
|
587
|
-
responseKind: "json"
|
|
575
|
+
responseKind: "json",
|
|
576
|
+
errors: ["auth:forbidden", "server:internal_error"]
|
|
588
577
|
},
|
|
589
|
-
|
|
590
|
-
path: "/
|
|
591
|
-
method: "
|
|
578
|
+
updateCalendarPreferences: {
|
|
579
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/calendar",
|
|
580
|
+
method: "PUT",
|
|
592
581
|
auth: "user",
|
|
593
582
|
responseKind: "json",
|
|
594
|
-
demoMutation: DEMO_MUTATION_INTERNAL_ONLY,
|
|
595
583
|
errors: [
|
|
596
584
|
"validation:invalid_input",
|
|
597
585
|
"auth:forbidden",
|
|
@@ -599,102 +587,303 @@ const API_ENDPOINTS$1 = {
|
|
|
599
587
|
"server:internal_error"
|
|
600
588
|
]
|
|
601
589
|
},
|
|
602
|
-
|
|
603
|
-
path: "/
|
|
604
|
-
method: "
|
|
590
|
+
disconnectCalendar: {
|
|
591
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/calendar",
|
|
592
|
+
method: "DELETE",
|
|
605
593
|
auth: "user",
|
|
606
594
|
responseKind: "json",
|
|
607
|
-
demoMutation: DEMO_MUTATION_INTERNAL_ONLY,
|
|
608
595
|
errors: [
|
|
609
|
-
"validation:invalid_input",
|
|
610
596
|
"auth:forbidden",
|
|
611
597
|
"resource:not_found",
|
|
612
598
|
"server:internal_error"
|
|
613
599
|
]
|
|
614
600
|
},
|
|
615
|
-
|
|
616
|
-
path: "/
|
|
601
|
+
getResourceCalendarFeed: {
|
|
602
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/calendar/feed",
|
|
617
603
|
method: "GET",
|
|
618
604
|
auth: "user",
|
|
619
|
-
responseKind: "json"
|
|
620
|
-
},
|
|
621
|
-
opsCancelEventAttendee: {
|
|
622
|
-
path: "/ops/sites/{siteId}/events/attendees/{attendeeId}/cancel",
|
|
623
|
-
method: "POST",
|
|
624
|
-
auth: "user",
|
|
625
605
|
responseKind: "json",
|
|
626
|
-
demoMutation: DEMO_MUTATION_INTERNAL_ONLY,
|
|
627
606
|
errors: [
|
|
628
|
-
"validation:invalid_input",
|
|
629
607
|
"auth:forbidden",
|
|
630
608
|
"resource:not_found",
|
|
631
|
-
"resource:conflict",
|
|
632
609
|
"server:internal_error"
|
|
633
610
|
]
|
|
634
611
|
},
|
|
635
|
-
|
|
636
|
-
path: "/sites/{siteId}/bookings/
|
|
637
|
-
method: "GET",
|
|
638
|
-
auth: "user",
|
|
639
|
-
responseKind: "json",
|
|
640
|
-
errors: []
|
|
641
|
-
},
|
|
642
|
-
cancelEventAttendee: {
|
|
643
|
-
path: "/sites/{siteId}/bookings/event-attendees/{attendeeId}/cancel",
|
|
612
|
+
regenerateResourceCalendarFeed: {
|
|
613
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/calendar/feed",
|
|
644
614
|
method: "POST",
|
|
645
615
|
auth: "user",
|
|
646
616
|
responseKind: "json",
|
|
647
617
|
errors: [
|
|
648
|
-
"validation:invalid_input",
|
|
649
618
|
"auth:forbidden",
|
|
650
619
|
"resource:not_found",
|
|
651
|
-
"resource:conflict",
|
|
652
620
|
"server:internal_error"
|
|
653
621
|
]
|
|
654
622
|
},
|
|
655
|
-
|
|
656
|
-
path: "/
|
|
657
|
-
method: "
|
|
623
|
+
revokeResourceCalendarFeed: {
|
|
624
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/calendar/feed",
|
|
625
|
+
method: "DELETE",
|
|
658
626
|
auth: "user",
|
|
659
627
|
responseKind: "json",
|
|
660
|
-
demoMutation: DEMO_MUTATION_INTERNAL_ONLY,
|
|
661
628
|
errors: [
|
|
662
|
-
"validation:invalid_input",
|
|
663
629
|
"auth:forbidden",
|
|
664
630
|
"resource:not_found",
|
|
665
|
-
"resource:conflict",
|
|
666
631
|
"server:internal_error"
|
|
667
632
|
]
|
|
668
633
|
},
|
|
669
|
-
|
|
670
|
-
path: "/sites/{siteId}/
|
|
634
|
+
getVenueCalendarFeed: {
|
|
635
|
+
path: "/sites/{siteId}/bookings/venues/{venueId}/calendar/feed",
|
|
636
|
+
method: "GET",
|
|
637
|
+
auth: "user",
|
|
638
|
+
responseKind: "json",
|
|
639
|
+
errors: [
|
|
640
|
+
"auth:forbidden",
|
|
641
|
+
"resource:not_found",
|
|
642
|
+
"server:internal_error"
|
|
643
|
+
]
|
|
644
|
+
},
|
|
645
|
+
regenerateVenueCalendarFeed: {
|
|
646
|
+
path: "/sites/{siteId}/bookings/venues/{venueId}/calendar/feed",
|
|
647
|
+
method: "POST",
|
|
648
|
+
auth: "user",
|
|
649
|
+
responseKind: "json",
|
|
650
|
+
errors: [
|
|
651
|
+
"auth:forbidden",
|
|
652
|
+
"resource:not_found",
|
|
653
|
+
"server:internal_error"
|
|
654
|
+
]
|
|
655
|
+
},
|
|
656
|
+
revokeVenueCalendarFeed: {
|
|
657
|
+
path: "/sites/{siteId}/bookings/venues/{venueId}/calendar/feed",
|
|
658
|
+
method: "DELETE",
|
|
659
|
+
auth: "user",
|
|
660
|
+
responseKind: "json",
|
|
661
|
+
errors: [
|
|
662
|
+
"auth:forbidden",
|
|
663
|
+
"resource:not_found",
|
|
664
|
+
"server:internal_error"
|
|
665
|
+
]
|
|
666
|
+
},
|
|
667
|
+
googleCalendarAuthorize: {
|
|
668
|
+
path: "/sites/{siteId}/bookings/calendar/google/authorize",
|
|
669
|
+
method: "GET",
|
|
670
|
+
auth: "user",
|
|
671
|
+
responseKind: "void"
|
|
672
|
+
},
|
|
673
|
+
googleCalendarCallback: {
|
|
674
|
+
path: "/bookings/calendar/google/callback",
|
|
675
|
+
method: "GET",
|
|
676
|
+
auth: "user",
|
|
677
|
+
responseKind: "void"
|
|
678
|
+
},
|
|
679
|
+
getAvailableSlots: {
|
|
680
|
+
path: "/sites/{siteId}/bookings/availability/slots",
|
|
671
681
|
method: "GET",
|
|
672
|
-
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings],
|
|
673
682
|
auth: "user",
|
|
674
683
|
responseKind: "json"
|
|
675
684
|
},
|
|
676
|
-
|
|
677
|
-
path: "/sites/{siteId}/
|
|
685
|
+
listAppointments: {
|
|
686
|
+
path: "/sites/{siteId}/bookings/appointments",
|
|
687
|
+
method: "GET",
|
|
688
|
+
auth: "user",
|
|
689
|
+
responseKind: "json"
|
|
690
|
+
},
|
|
691
|
+
exportBookingAppointmentsCsv: {
|
|
692
|
+
path: "/sites/{siteId}/bookings/appointments/export.csv",
|
|
693
|
+
method: "GET",
|
|
694
|
+
auth: "user",
|
|
695
|
+
errors: [],
|
|
696
|
+
responseKind: "blob"
|
|
697
|
+
},
|
|
698
|
+
createAppointment: {
|
|
699
|
+
path: "/sites/{siteId}/bookings/appointments",
|
|
700
|
+
method: "POST",
|
|
701
|
+
auth: "user",
|
|
702
|
+
responseKind: "json"
|
|
703
|
+
},
|
|
704
|
+
upsertBookingRequirementConfig: {
|
|
705
|
+
path: "/sites/{siteId}/bookings/requirements/config",
|
|
678
706
|
method: "PUT",
|
|
679
|
-
|
|
707
|
+
auth: "user",
|
|
708
|
+
responseKind: "json",
|
|
709
|
+
errors: [
|
|
710
|
+
"validation:invalid_input",
|
|
711
|
+
"resource:not_found",
|
|
712
|
+
"server:internal_error"
|
|
713
|
+
]
|
|
714
|
+
},
|
|
715
|
+
cancelAppointment: {
|
|
716
|
+
path: "/sites/{siteId}/bookings/appointments/{appointmentId}/cancel",
|
|
717
|
+
method: "POST",
|
|
680
718
|
auth: "user",
|
|
681
719
|
responseKind: "json"
|
|
682
720
|
},
|
|
683
|
-
|
|
684
|
-
path: "/sites/{siteId}/
|
|
721
|
+
rescheduleAppointment: {
|
|
722
|
+
path: "/sites/{siteId}/bookings/appointments/{appointmentId}/reschedule",
|
|
685
723
|
method: "POST",
|
|
686
|
-
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings],
|
|
687
724
|
auth: "user",
|
|
688
725
|
responseKind: "json",
|
|
689
|
-
|
|
726
|
+
errors: [
|
|
727
|
+
"validation:invalid_input",
|
|
728
|
+
"resource:not_found",
|
|
729
|
+
"auth:forbidden",
|
|
730
|
+
"resource:conflict",
|
|
731
|
+
"server:internal_error"
|
|
732
|
+
]
|
|
733
|
+
}
|
|
734
|
+
});
|
|
735
|
+
//#endregion
|
|
736
|
+
//#region ../api/src/courseEndpointDefinitions.ts
|
|
737
|
+
const COURSE_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
738
|
+
listCourses: {
|
|
739
|
+
path: "/sites/{siteId}/bookings/courses",
|
|
740
|
+
method: "GET",
|
|
741
|
+
auth: "user",
|
|
742
|
+
responseKind: "json"
|
|
690
743
|
},
|
|
691
|
-
|
|
692
|
-
path: "/sites/{siteId}/
|
|
744
|
+
exportCoursesCsv: {
|
|
745
|
+
path: "/sites/{siteId}/bookings/courses/export.csv",
|
|
746
|
+
method: "GET",
|
|
747
|
+
tags: [
|
|
748
|
+
"site-{siteId}",
|
|
749
|
+
"bookings",
|
|
750
|
+
"courses-{siteId}"
|
|
751
|
+
],
|
|
752
|
+
errors: [],
|
|
753
|
+
auth: "user",
|
|
754
|
+
responseKind: "blob"
|
|
755
|
+
},
|
|
756
|
+
createCourse: {
|
|
757
|
+
path: "/sites/{siteId}/bookings/courses",
|
|
693
758
|
method: "POST",
|
|
694
|
-
|
|
759
|
+
auth: "user",
|
|
760
|
+
responseKind: "json",
|
|
761
|
+
errors: [
|
|
762
|
+
"validation:invalid_input",
|
|
763
|
+
"resource:not_found",
|
|
764
|
+
"resource:already_exists",
|
|
765
|
+
"resource:conflict",
|
|
766
|
+
"server:internal_error"
|
|
767
|
+
]
|
|
768
|
+
},
|
|
769
|
+
getCourse: {
|
|
770
|
+
path: "/sites/{siteId}/bookings/courses/{courseId}",
|
|
771
|
+
method: "GET",
|
|
772
|
+
auth: "user",
|
|
773
|
+
responseKind: "json"
|
|
774
|
+
},
|
|
775
|
+
updateCourse: {
|
|
776
|
+
path: "/sites/{siteId}/bookings/courses/{courseId}",
|
|
777
|
+
method: "PATCH",
|
|
778
|
+
auth: "user",
|
|
779
|
+
responseKind: "json",
|
|
780
|
+
errors: [
|
|
781
|
+
"validation:invalid_input",
|
|
782
|
+
"resource:not_found",
|
|
783
|
+
"resource:conflict",
|
|
784
|
+
"server:internal_error"
|
|
785
|
+
]
|
|
786
|
+
},
|
|
787
|
+
deleteCourse: {
|
|
788
|
+
path: "/sites/{siteId}/bookings/courses/{courseId}",
|
|
789
|
+
method: "DELETE",
|
|
790
|
+
auth: "user",
|
|
791
|
+
responseKind: "json",
|
|
792
|
+
errors: [
|
|
793
|
+
"validation:invalid_input",
|
|
794
|
+
"resource:not_found",
|
|
795
|
+
"resource:conflict",
|
|
796
|
+
"server:internal_error"
|
|
797
|
+
]
|
|
798
|
+
},
|
|
799
|
+
deleteEventOffering: {
|
|
800
|
+
path: "/sites/{siteId}/bookings/event-offerings/{eventOfferingId}",
|
|
801
|
+
method: "DELETE",
|
|
802
|
+
auth: "user",
|
|
803
|
+
responseKind: "json",
|
|
804
|
+
errors: [
|
|
805
|
+
"validation:invalid_input",
|
|
806
|
+
"resource:not_found",
|
|
807
|
+
"resource:conflict",
|
|
808
|
+
"server:internal_error"
|
|
809
|
+
]
|
|
810
|
+
},
|
|
811
|
+
duplicateCourse: {
|
|
812
|
+
path: "/sites/{siteId}/bookings/courses/{courseId}/duplicate",
|
|
813
|
+
method: "POST",
|
|
814
|
+
auth: "user",
|
|
815
|
+
responseKind: "json",
|
|
816
|
+
errors: [
|
|
817
|
+
"validation:invalid_input",
|
|
818
|
+
"resource:not_found",
|
|
819
|
+
"resource:already_exists",
|
|
820
|
+
"server:internal_error"
|
|
821
|
+
]
|
|
822
|
+
},
|
|
823
|
+
changeCourseContentOwnership: {
|
|
824
|
+
path: "/sites/{siteId}/bookings/courses/{courseId}/content-ownership",
|
|
825
|
+
method: "POST",
|
|
826
|
+
auth: "user",
|
|
827
|
+
responseKind: "json",
|
|
828
|
+
errors: [
|
|
829
|
+
"validation:invalid_input",
|
|
830
|
+
"resource:not_found",
|
|
831
|
+
"resource:conflict",
|
|
832
|
+
"server:internal_error"
|
|
833
|
+
]
|
|
834
|
+
},
|
|
835
|
+
addCourseEnrollment: {
|
|
836
|
+
path: "/sites/{siteId}/bookings/courses/{courseId}/enrollments",
|
|
837
|
+
method: "POST",
|
|
838
|
+
auth: "user",
|
|
839
|
+
responseKind: "json",
|
|
840
|
+
errors: [
|
|
841
|
+
"validation:invalid_input",
|
|
842
|
+
"resource:not_found",
|
|
843
|
+
"resource:conflict",
|
|
844
|
+
"server:internal_error"
|
|
845
|
+
]
|
|
846
|
+
},
|
|
847
|
+
listCourseEnrollments: {
|
|
848
|
+
path: "/sites/{siteId}/bookings/courses/{courseId}/enrollments",
|
|
849
|
+
method: "GET",
|
|
695
850
|
auth: "user",
|
|
696
851
|
responseKind: "json"
|
|
697
852
|
},
|
|
853
|
+
exportCourseEnrollmentsCsv: {
|
|
854
|
+
path: "/sites/{siteId}/bookings/courses/{courseId}/enrollments/export.csv",
|
|
855
|
+
method: "GET",
|
|
856
|
+
auth: "user",
|
|
857
|
+
errors: [],
|
|
858
|
+
responseKind: "blob"
|
|
859
|
+
},
|
|
860
|
+
exportCourseWaitlistCsv: {
|
|
861
|
+
path: "/sites/{siteId}/bookings/courses/{courseId}/waitlist/export.csv",
|
|
862
|
+
method: "GET",
|
|
863
|
+
tags: [
|
|
864
|
+
"site-{siteId}",
|
|
865
|
+
"bookings",
|
|
866
|
+
"courses-{courseId}"
|
|
867
|
+
],
|
|
868
|
+
auth: "user",
|
|
869
|
+
responseKind: "blob",
|
|
870
|
+
errors: []
|
|
871
|
+
},
|
|
872
|
+
updateCourseEnrollment: {
|
|
873
|
+
path: "/sites/{siteId}/bookings/courses/{courseId}/enrollments/{enrollmentId}",
|
|
874
|
+
method: "PATCH",
|
|
875
|
+
auth: "user",
|
|
876
|
+
responseKind: "json",
|
|
877
|
+
errors: [
|
|
878
|
+
"validation:invalid_input",
|
|
879
|
+
"resource:not_found",
|
|
880
|
+
"server:internal_error"
|
|
881
|
+
]
|
|
882
|
+
}
|
|
883
|
+
});
|
|
884
|
+
//#endregion
|
|
885
|
+
//#region ../api/src/newsletterEndpointDefinitions.ts
|
|
886
|
+
const NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
698
887
|
getNewsletterSettings: {
|
|
699
888
|
path: "/sites/{siteId}/newsletter/settings",
|
|
700
889
|
method: "GET",
|
|
@@ -1047,770 +1236,701 @@ const API_ENDPOINTS$1 = {
|
|
|
1047
1236
|
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
1048
1237
|
auth: "user",
|
|
1049
1238
|
responseKind: "json"
|
|
1239
|
+
}
|
|
1240
|
+
});
|
|
1241
|
+
//#endregion
|
|
1242
|
+
//#region ../api/src/publicWholeSeriesEndpointDefinitions.ts
|
|
1243
|
+
const PUBLIC_WHOLE_SERIES_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
1244
|
+
listPublicWholeSeriesOfferings: {
|
|
1245
|
+
path: "/public/sites/{siteId}/dated-offerings/whole-series",
|
|
1246
|
+
method: "GET",
|
|
1247
|
+
revalidate: 60,
|
|
1248
|
+
tags: [TAG_TEMPLATES.publicWholeSeriesOfferings],
|
|
1249
|
+
errors: ["server:internal_error"],
|
|
1250
|
+
auth: "public",
|
|
1251
|
+
responseKind: "json"
|
|
1050
1252
|
},
|
|
1051
|
-
|
|
1052
|
-
path: "/sites/{siteId}/
|
|
1253
|
+
getPublicWholeSeriesOffering: {
|
|
1254
|
+
path: "/public/sites/{siteId}/dated-offerings/whole-series/{eventSeriesId}",
|
|
1053
1255
|
method: "GET",
|
|
1054
|
-
|
|
1256
|
+
revalidate: 60,
|
|
1257
|
+
tags: [TAG_TEMPLATES.publicWholeSeriesOfferings],
|
|
1258
|
+
errors: ["resource:not_found", "server:internal_error"],
|
|
1259
|
+
auth: "public",
|
|
1055
1260
|
responseKind: "json"
|
|
1056
1261
|
},
|
|
1057
|
-
|
|
1058
|
-
path: "/sites/{siteId}/
|
|
1262
|
+
registerForWholeSeries: {
|
|
1263
|
+
path: "/public/sites/{siteId}/dated-offerings/whole-series/enroll",
|
|
1059
1264
|
method: "POST",
|
|
1060
|
-
|
|
1061
|
-
responseKind: "json",
|
|
1265
|
+
tags: [TAG_TEMPLATES.publicWholeSeriesOfferings, "course-enrollment"],
|
|
1062
1266
|
errors: [
|
|
1267
|
+
"auth:unauthenticated",
|
|
1268
|
+
"auth:forbidden",
|
|
1063
1269
|
"validation:invalid_input",
|
|
1064
|
-
"
|
|
1270
|
+
"resource:not_found",
|
|
1271
|
+
"resource:conflict",
|
|
1272
|
+
"resource:already_exists",
|
|
1065
1273
|
"server:internal_error"
|
|
1066
|
-
]
|
|
1274
|
+
],
|
|
1275
|
+
auth: "public",
|
|
1276
|
+
responseKind: "json"
|
|
1067
1277
|
},
|
|
1068
|
-
|
|
1069
|
-
path: "/sites/{siteId}/
|
|
1278
|
+
checkWholeSeriesEligibility: {
|
|
1279
|
+
path: "/public/sites/{siteId}/dated-offerings/whole-series/check-eligibility",
|
|
1070
1280
|
method: "POST",
|
|
1071
|
-
|
|
1072
|
-
responseKind: "json",
|
|
1281
|
+
tags: [TAG_TEMPLATES.publicWholeSeriesOfferings, "course-enrollment"],
|
|
1073
1282
|
errors: [
|
|
1074
|
-
"
|
|
1075
|
-
"auth:forbidden",
|
|
1076
|
-
"billing:plan_limit_exceeded",
|
|
1077
|
-
"resource:conflict",
|
|
1283
|
+
"auth:unauthenticated",
|
|
1078
1284
|
"resource:not_found",
|
|
1285
|
+
"resource:conflict",
|
|
1079
1286
|
"server:internal_error"
|
|
1080
|
-
]
|
|
1081
|
-
|
|
1082
|
-
getAppointmentResource: {
|
|
1083
|
-
path: "/sites/{siteId}/bookings/resources/{resourceId}",
|
|
1084
|
-
method: "GET",
|
|
1085
|
-
auth: "user",
|
|
1287
|
+
],
|
|
1288
|
+
auth: "public",
|
|
1086
1289
|
responseKind: "json"
|
|
1087
1290
|
},
|
|
1088
|
-
|
|
1089
|
-
path: "/sites/{siteId}/
|
|
1090
|
-
method: "
|
|
1091
|
-
|
|
1291
|
+
createWholeSeriesCheckout: {
|
|
1292
|
+
path: "/public/sites/{siteId}/dated-offerings/whole-series/checkout",
|
|
1293
|
+
method: "POST",
|
|
1294
|
+
tags: [TAG_TEMPLATES.publicWholeSeriesOfferings, "course-checkout"],
|
|
1295
|
+
auth: "public",
|
|
1092
1296
|
responseKind: "json",
|
|
1093
1297
|
errors: [
|
|
1298
|
+
"auth:unauthenticated",
|
|
1094
1299
|
"validation:invalid_input",
|
|
1095
1300
|
"resource:not_found",
|
|
1301
|
+
"resource:conflict",
|
|
1096
1302
|
"server:internal_error"
|
|
1097
1303
|
]
|
|
1098
1304
|
},
|
|
1099
|
-
|
|
1100
|
-
path: "/sites/{siteId}/
|
|
1101
|
-
method: "DELETE",
|
|
1102
|
-
auth: "user",
|
|
1103
|
-
responseKind: "json",
|
|
1104
|
-
errors: ["resource:not_found", "server:internal_error"]
|
|
1105
|
-
},
|
|
1106
|
-
listAppointmentReservations: {
|
|
1107
|
-
path: "/sites/{siteId}/bookings/appointment-reservations",
|
|
1305
|
+
getWholeSeriesRegistrationStatus: {
|
|
1306
|
+
path: "/public/sites/{siteId}/dated-offerings/whole-series/registration-status",
|
|
1108
1307
|
method: "GET",
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1308
|
+
tags: [TAG_TEMPLATES.publicWholeSeriesOfferings, "course-checkout"],
|
|
1309
|
+
errors: ["resource:not_found", "server:internal_error"],
|
|
1310
|
+
auth: "public",
|
|
1311
|
+
responseKind: "json"
|
|
1312
|
+
}
|
|
1313
|
+
});
|
|
1314
|
+
const API_ENDPOINTS$1 = {
|
|
1315
|
+
aiContentUpdateChat: {
|
|
1316
|
+
path: "/ai/content-update-chat",
|
|
1115
1317
|
method: "POST",
|
|
1116
1318
|
auth: "user",
|
|
1117
|
-
responseKind: "
|
|
1118
|
-
errors: [
|
|
1119
|
-
"validation:invalid_input",
|
|
1120
|
-
"resource:not_found",
|
|
1121
|
-
"resource:conflict",
|
|
1122
|
-
"server:internal_error"
|
|
1123
|
-
]
|
|
1319
|
+
responseKind: "stream"
|
|
1124
1320
|
},
|
|
1125
|
-
|
|
1126
|
-
path: "/
|
|
1127
|
-
method: "
|
|
1321
|
+
aiChat: {
|
|
1322
|
+
path: "/ai/chat",
|
|
1323
|
+
method: "POST",
|
|
1128
1324
|
auth: "user",
|
|
1129
|
-
responseKind: "
|
|
1130
|
-
errors: ["resource:not_found", "server:internal_error"]
|
|
1325
|
+
responseKind: "stream"
|
|
1131
1326
|
},
|
|
1132
|
-
|
|
1133
|
-
path: "/sites/{siteId}/
|
|
1134
|
-
method: "
|
|
1327
|
+
aiDesignerThemeApply: {
|
|
1328
|
+
path: "/sites/{siteId}/ai/designer/theme/apply",
|
|
1329
|
+
method: "POST",
|
|
1330
|
+
tags: [TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme],
|
|
1135
1331
|
auth: "user",
|
|
1136
|
-
responseKind: "json"
|
|
1137
|
-
errors: [
|
|
1138
|
-
"validation:invalid_input",
|
|
1139
|
-
"resource:not_found",
|
|
1140
|
-
"resource:conflict",
|
|
1141
|
-
"server:internal_error"
|
|
1142
|
-
]
|
|
1332
|
+
responseKind: "json"
|
|
1143
1333
|
},
|
|
1144
|
-
|
|
1145
|
-
path: "/sites/{siteId}/
|
|
1334
|
+
aiDesignerPageOpsApply: {
|
|
1335
|
+
path: "/sites/{siteId}/ai/designer/page/apply",
|
|
1146
1336
|
method: "POST",
|
|
1337
|
+
tags: [TAG_TEMPLATES.siteCollection],
|
|
1147
1338
|
auth: "user",
|
|
1148
|
-
responseKind: "json"
|
|
1149
|
-
errors: [
|
|
1150
|
-
"resource:not_found",
|
|
1151
|
-
"resource:conflict",
|
|
1152
|
-
"server:internal_error"
|
|
1153
|
-
]
|
|
1339
|
+
responseKind: "json"
|
|
1154
1340
|
},
|
|
1155
|
-
|
|
1156
|
-
path: "/
|
|
1341
|
+
applySeoChanges: {
|
|
1342
|
+
path: "/seo/apply",
|
|
1157
1343
|
method: "POST",
|
|
1158
1344
|
auth: "user",
|
|
1159
|
-
responseKind: "json"
|
|
1160
|
-
errors: [
|
|
1161
|
-
"resource:not_found",
|
|
1162
|
-
"resource:conflict",
|
|
1163
|
-
"server:internal_error"
|
|
1164
|
-
]
|
|
1345
|
+
responseKind: "json"
|
|
1165
1346
|
},
|
|
1166
|
-
|
|
1167
|
-
path: "/
|
|
1347
|
+
aiCreateBriefChat: {
|
|
1348
|
+
path: "/ai/chat/create-brief",
|
|
1168
1349
|
method: "POST",
|
|
1169
1350
|
auth: "user",
|
|
1170
|
-
responseKind: "json"
|
|
1171
|
-
errors: [
|
|
1172
|
-
"validation:invalid_input",
|
|
1173
|
-
"resource:not_found",
|
|
1174
|
-
"resource:conflict",
|
|
1175
|
-
"server:internal_error"
|
|
1176
|
-
]
|
|
1351
|
+
responseKind: "json"
|
|
1177
1352
|
},
|
|
1178
|
-
|
|
1179
|
-
path: "/
|
|
1353
|
+
aiPatchDryRun: {
|
|
1354
|
+
path: "/ai/patch/dry-run",
|
|
1180
1355
|
method: "POST",
|
|
1181
1356
|
auth: "user",
|
|
1182
|
-
responseKind: "json"
|
|
1183
|
-
errors: [
|
|
1184
|
-
"validation:invalid_input",
|
|
1185
|
-
"resource:not_found",
|
|
1186
|
-
"resource:conflict",
|
|
1187
|
-
"server:internal_error"
|
|
1188
|
-
]
|
|
1357
|
+
responseKind: "json"
|
|
1189
1358
|
},
|
|
1190
|
-
|
|
1191
|
-
path: "/
|
|
1359
|
+
aiPatchApply: {
|
|
1360
|
+
path: "/ai/patch/apply",
|
|
1192
1361
|
method: "POST",
|
|
1193
1362
|
auth: "user",
|
|
1194
|
-
responseKind: "json"
|
|
1195
|
-
errors: [
|
|
1196
|
-
"validation:invalid_input",
|
|
1197
|
-
"resource:not_found",
|
|
1198
|
-
"resource:conflict",
|
|
1199
|
-
"server:internal_error"
|
|
1200
|
-
]
|
|
1363
|
+
responseKind: "json"
|
|
1201
1364
|
},
|
|
1202
|
-
|
|
1203
|
-
path: "/sites/{siteId}/
|
|
1365
|
+
aiPlaygroundProposeMulti: {
|
|
1366
|
+
path: "/sites/{siteId}/ai/playground/propose-multi",
|
|
1204
1367
|
method: "POST",
|
|
1205
1368
|
auth: "user",
|
|
1206
|
-
responseKind: "
|
|
1207
|
-
errors: [
|
|
1208
|
-
"validation:invalid_input",
|
|
1209
|
-
"resource:not_found",
|
|
1210
|
-
"resource:conflict",
|
|
1211
|
-
"server:internal_error"
|
|
1212
|
-
]
|
|
1369
|
+
responseKind: "stream"
|
|
1213
1370
|
},
|
|
1214
|
-
|
|
1215
|
-
path: "/sites/{siteId}/
|
|
1216
|
-
method: "
|
|
1371
|
+
aiPlaygroundProposeMultiGet: {
|
|
1372
|
+
path: "/sites/{siteId}/ai/playground/propose-multi",
|
|
1373
|
+
method: "GET",
|
|
1217
1374
|
auth: "user",
|
|
1218
|
-
responseKind: "
|
|
1219
|
-
errors: ["validation:invalid_input", "server:internal_error"]
|
|
1375
|
+
responseKind: "stream"
|
|
1220
1376
|
},
|
|
1221
|
-
|
|
1222
|
-
path: "/sites/{siteId}/
|
|
1223
|
-
method: "
|
|
1224
|
-
tags: [
|
|
1225
|
-
"site-{siteId}",
|
|
1226
|
-
"content-{siteId}-team-member",
|
|
1227
|
-
"content-entry-{entryId}"
|
|
1228
|
-
],
|
|
1377
|
+
aiAssistantChatSite: {
|
|
1378
|
+
path: "/sites/{siteId}/ai/assistant/chat",
|
|
1379
|
+
method: "POST",
|
|
1229
1380
|
auth: "user",
|
|
1230
|
-
responseKind: "
|
|
1231
|
-
errors: [
|
|
1232
|
-
"validation:invalid_input",
|
|
1233
|
-
"resource:not_found",
|
|
1234
|
-
"resource:conflict",
|
|
1235
|
-
"server:internal_error"
|
|
1236
|
-
]
|
|
1381
|
+
responseKind: "stream"
|
|
1237
1382
|
},
|
|
1238
|
-
|
|
1239
|
-
path: "/sites/{siteId}/
|
|
1383
|
+
aiDesignerChat: {
|
|
1384
|
+
path: "/sites/{siteId}/ai/designer/chat",
|
|
1240
1385
|
method: "POST",
|
|
1241
|
-
tags: [
|
|
1242
|
-
"site-{siteId}",
|
|
1243
|
-
"content-{siteId}-team-member",
|
|
1244
|
-
"content-entry-{entryId}"
|
|
1245
|
-
],
|
|
1246
1386
|
auth: "user",
|
|
1247
|
-
responseKind: "
|
|
1248
|
-
errors: [
|
|
1249
|
-
"validation:invalid_input",
|
|
1250
|
-
"resource:not_found",
|
|
1251
|
-
"server:internal_error"
|
|
1252
|
-
]
|
|
1387
|
+
responseKind: "stream"
|
|
1253
1388
|
},
|
|
1254
|
-
|
|
1255
|
-
path: "/sites/{siteId}/
|
|
1389
|
+
aiPlaygroundPageConvert: {
|
|
1390
|
+
path: "/sites/{siteId}/ai/playground/page-convert",
|
|
1256
1391
|
method: "POST",
|
|
1257
|
-
tags: [
|
|
1258
|
-
"site-{siteId}",
|
|
1259
|
-
"content-{siteId}-team-member",
|
|
1260
|
-
"content-entry-{entryId}"
|
|
1261
|
-
],
|
|
1262
1392
|
auth: "user",
|
|
1263
|
-
responseKind: "json"
|
|
1264
|
-
errors: [
|
|
1265
|
-
"validation:invalid_input",
|
|
1266
|
-
"resource:not_found",
|
|
1267
|
-
"resource:conflict",
|
|
1268
|
-
"server:internal_error"
|
|
1269
|
-
]
|
|
1393
|
+
responseKind: "json"
|
|
1270
1394
|
},
|
|
1271
|
-
|
|
1272
|
-
path: "/sites/{siteId}/
|
|
1395
|
+
aiPlaygroundPageConvertJobsCreate: {
|
|
1396
|
+
path: "/sites/{siteId}/ai/playground/page-convert/jobs",
|
|
1273
1397
|
method: "POST",
|
|
1274
|
-
tags: [
|
|
1275
|
-
"site-{siteId}",
|
|
1276
|
-
"content-{siteId}-team-member",
|
|
1277
|
-
"content-entry-{entryId}"
|
|
1278
|
-
],
|
|
1279
1398
|
auth: "user",
|
|
1280
|
-
responseKind: "json"
|
|
1281
|
-
errors: [
|
|
1282
|
-
"validation:invalid_input",
|
|
1283
|
-
"resource:not_found",
|
|
1284
|
-
"resource:conflict",
|
|
1285
|
-
"server:internal_error"
|
|
1286
|
-
]
|
|
1399
|
+
responseKind: "json"
|
|
1287
1400
|
},
|
|
1288
|
-
|
|
1289
|
-
path: "/sites/{siteId}/
|
|
1401
|
+
aiPlaygroundPageConvertJobsList: {
|
|
1402
|
+
path: "/sites/{siteId}/ai/playground/page-convert/jobs",
|
|
1403
|
+
method: "GET",
|
|
1404
|
+
auth: "user",
|
|
1405
|
+
responseKind: "json"
|
|
1406
|
+
},
|
|
1407
|
+
aiPlaygroundPageConvertJobGet: {
|
|
1408
|
+
path: "/sites/{siteId}/ai/playground/page-convert/jobs/{jobId}",
|
|
1409
|
+
method: "GET",
|
|
1410
|
+
auth: "user",
|
|
1411
|
+
responseKind: "json"
|
|
1412
|
+
},
|
|
1413
|
+
aiPlaygroundPageConvertJobRun: {
|
|
1414
|
+
path: "/sites/{siteId}/ai/playground/page-convert/jobs/{jobId}/run",
|
|
1290
1415
|
method: "POST",
|
|
1291
|
-
tags: [
|
|
1292
|
-
"site-{siteId}",
|
|
1293
|
-
"content-{siteId}-team-member",
|
|
1294
|
-
"content-entry-{entryId}"
|
|
1295
|
-
],
|
|
1296
1416
|
auth: "user",
|
|
1297
|
-
responseKind: "json"
|
|
1298
|
-
errors: [
|
|
1299
|
-
"validation:invalid_input",
|
|
1300
|
-
"resource:not_found",
|
|
1301
|
-
"resource:conflict",
|
|
1302
|
-
"server:internal_error"
|
|
1303
|
-
]
|
|
1417
|
+
responseKind: "json"
|
|
1304
1418
|
},
|
|
1305
|
-
|
|
1306
|
-
path: "/sites/{siteId}/
|
|
1307
|
-
method: "
|
|
1308
|
-
tags: [
|
|
1309
|
-
"site-{siteId}",
|
|
1310
|
-
"content-{siteId}-team-member",
|
|
1311
|
-
"content-entry-{entryId}"
|
|
1312
|
-
],
|
|
1419
|
+
aiPlaygroundPageConvertJobEvents: {
|
|
1420
|
+
path: "/sites/{siteId}/ai/playground/page-convert/jobs/{jobId}/events",
|
|
1421
|
+
method: "GET",
|
|
1313
1422
|
auth: "user",
|
|
1314
|
-
responseKind: "json"
|
|
1315
|
-
errors: [
|
|
1316
|
-
"validation:invalid_input",
|
|
1317
|
-
"resource:not_found",
|
|
1318
|
-
"resource:conflict",
|
|
1319
|
-
"server:internal_error"
|
|
1320
|
-
]
|
|
1423
|
+
responseKind: "json"
|
|
1321
1424
|
},
|
|
1322
|
-
|
|
1323
|
-
path: "/sites/{siteId}/
|
|
1324
|
-
method: "
|
|
1325
|
-
tags: [
|
|
1326
|
-
TAG_TEMPLATES.siteCollection,
|
|
1327
|
-
TAG_TEMPLATES.siteRoutableContent,
|
|
1328
|
-
TAG_TEMPLATES.routeById
|
|
1329
|
-
],
|
|
1425
|
+
aiGenerateSite: {
|
|
1426
|
+
path: "/sites/{siteId}/ai/generate",
|
|
1427
|
+
method: "POST",
|
|
1330
1428
|
auth: "user",
|
|
1331
1429
|
responseKind: "json",
|
|
1332
|
-
|
|
1333
|
-
"validation:invalid_input",
|
|
1334
|
-
"resource:not_found",
|
|
1335
|
-
"resource:conflict",
|
|
1336
|
-
"server:internal_error"
|
|
1337
|
-
]
|
|
1430
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
1338
1431
|
},
|
|
1339
|
-
|
|
1340
|
-
path: "/sites/{siteId}/
|
|
1432
|
+
getOnboardingPreviewStatus: {
|
|
1433
|
+
path: "/public/sites/{siteId}/onboarding/preview-status",
|
|
1341
1434
|
method: "GET",
|
|
1342
|
-
auth: "
|
|
1435
|
+
auth: "public",
|
|
1436
|
+
errors: [],
|
|
1343
1437
|
responseKind: "json"
|
|
1344
1438
|
},
|
|
1345
|
-
|
|
1346
|
-
path: "/sites/{siteId}/
|
|
1439
|
+
listOnboardingPreviewThemes: {
|
|
1440
|
+
path: "/public/sites/{siteId}/onboarding/themes",
|
|
1347
1441
|
method: "GET",
|
|
1348
|
-
|
|
1349
|
-
"site-{siteId}",
|
|
1350
|
-
"bookings",
|
|
1351
|
-
"appointment-services-{siteId}"
|
|
1352
|
-
],
|
|
1442
|
+
auth: "public",
|
|
1353
1443
|
errors: [],
|
|
1354
|
-
|
|
1355
|
-
responseKind: "blob"
|
|
1444
|
+
responseKind: "json"
|
|
1356
1445
|
},
|
|
1357
|
-
|
|
1358
|
-
path: "/sites/{siteId}/
|
|
1446
|
+
acknowledgeLaunchRequirement: {
|
|
1447
|
+
path: "/sites/{siteId}/launch/acknowledge-requirement",
|
|
1359
1448
|
method: "POST",
|
|
1360
1449
|
auth: "user",
|
|
1450
|
+
errors: [],
|
|
1361
1451
|
responseKind: "json",
|
|
1362
|
-
|
|
1452
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED
|
|
1363
1453
|
},
|
|
1364
|
-
|
|
1365
|
-
path: "/sites/{siteId}/
|
|
1366
|
-
method: "
|
|
1454
|
+
goLiveSite: {
|
|
1455
|
+
path: "/sites/{siteId}/launch/go-live",
|
|
1456
|
+
method: "POST",
|
|
1367
1457
|
auth: "user",
|
|
1458
|
+
errors: [],
|
|
1459
|
+
responseKind: "json"
|
|
1460
|
+
},
|
|
1461
|
+
resendOnboardingPreviewConfirmation: {
|
|
1462
|
+
path: "/public/sites/{siteId}/onboarding/resend-confirmation",
|
|
1463
|
+
method: "POST",
|
|
1464
|
+
auth: "public",
|
|
1465
|
+
errors: [],
|
|
1466
|
+
responseKind: "json"
|
|
1467
|
+
},
|
|
1468
|
+
createPublicOnboardingAttempt: {
|
|
1469
|
+
path: "/public/onboarding/attempts",
|
|
1470
|
+
method: "POST",
|
|
1471
|
+
auth: "public",
|
|
1472
|
+
errors: [],
|
|
1473
|
+
responseKind: "json"
|
|
1474
|
+
},
|
|
1475
|
+
createPublicOnboardingLogoUploadUrl: {
|
|
1476
|
+
path: "/public/onboarding/attempts/{attemptToken}/logo-upload-url",
|
|
1477
|
+
method: "POST",
|
|
1478
|
+
auth: "public",
|
|
1479
|
+
errors: [],
|
|
1480
|
+
responseKind: "json"
|
|
1481
|
+
},
|
|
1482
|
+
uploadPublicOnboardingLogo: {
|
|
1483
|
+
path: "/public/onboarding/attempts/{attemptToken}/logo",
|
|
1484
|
+
method: "POST",
|
|
1485
|
+
auth: "public",
|
|
1486
|
+
errors: [],
|
|
1487
|
+
responseKind: "json"
|
|
1488
|
+
},
|
|
1489
|
+
getPublicOnboardingAttempt: {
|
|
1490
|
+
path: "/public/onboarding/attempts/{attemptToken}",
|
|
1491
|
+
method: "GET",
|
|
1492
|
+
auth: "public",
|
|
1493
|
+
errors: [],
|
|
1494
|
+
responseKind: "json"
|
|
1495
|
+
},
|
|
1496
|
+
getPublicOnboardingAttemptProgress: {
|
|
1497
|
+
path: "/public/onboarding/attempts/{attemptToken}/status",
|
|
1498
|
+
method: "GET",
|
|
1499
|
+
auth: "public",
|
|
1500
|
+
errors: [],
|
|
1501
|
+
responseKind: "json"
|
|
1502
|
+
},
|
|
1503
|
+
updatePublicOnboardingAttempt: {
|
|
1504
|
+
path: "/public/onboarding/attempts/{attemptToken}",
|
|
1505
|
+
method: "PATCH",
|
|
1506
|
+
auth: "public",
|
|
1507
|
+
errors: [],
|
|
1368
1508
|
responseKind: "json"
|
|
1369
1509
|
},
|
|
1370
|
-
|
|
1371
|
-
path: "/
|
|
1372
|
-
method: "
|
|
1373
|
-
auth: "
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
"validation:invalid_input",
|
|
1377
|
-
"resource:not_found",
|
|
1378
|
-
"server:internal_error"
|
|
1379
|
-
]
|
|
1510
|
+
runPublicOnboardingAttempt: {
|
|
1511
|
+
path: "/public/onboarding/attempts/{attemptToken}/run",
|
|
1512
|
+
method: "POST",
|
|
1513
|
+
auth: "public",
|
|
1514
|
+
errors: [],
|
|
1515
|
+
responseKind: "json"
|
|
1380
1516
|
},
|
|
1381
|
-
|
|
1382
|
-
path: "/sites/{siteId}/
|
|
1383
|
-
method: "
|
|
1517
|
+
aiSiteWizardSuggestGoals: {
|
|
1518
|
+
path: "/sites/{siteId}/ai/site-wizard/goals",
|
|
1519
|
+
method: "POST",
|
|
1384
1520
|
auth: "user",
|
|
1385
1521
|
responseKind: "json",
|
|
1386
|
-
|
|
1522
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
1387
1523
|
},
|
|
1388
|
-
|
|
1389
|
-
path: "/sites/{siteId}/
|
|
1390
|
-
method: "
|
|
1524
|
+
aiSiteWizardIntakeTriage: {
|
|
1525
|
+
path: "/sites/{siteId}/ai/site-wizard/intake-triage",
|
|
1526
|
+
method: "POST",
|
|
1391
1527
|
auth: "user",
|
|
1392
1528
|
responseKind: "json",
|
|
1393
|
-
|
|
1529
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
1394
1530
|
},
|
|
1395
|
-
|
|
1396
|
-
path: "/sites/{siteId}/
|
|
1531
|
+
aiSiteWizardTelemetry: {
|
|
1532
|
+
path: "/sites/{siteId}/ai/site-wizard/telemetry",
|
|
1397
1533
|
method: "POST",
|
|
1398
1534
|
auth: "user",
|
|
1535
|
+
errors: [],
|
|
1399
1536
|
responseKind: "json",
|
|
1400
|
-
|
|
1537
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
1401
1538
|
},
|
|
1402
|
-
|
|
1403
|
-
path: "/
|
|
1539
|
+
listGscPropertiesAdmin: {
|
|
1540
|
+
path: "/admin/seo/gsc/properties",
|
|
1404
1541
|
method: "GET",
|
|
1405
|
-
auth: "
|
|
1542
|
+
auth: "admin",
|
|
1543
|
+
errors: [],
|
|
1406
1544
|
responseKind: "json"
|
|
1407
1545
|
},
|
|
1408
|
-
|
|
1409
|
-
path: "/
|
|
1546
|
+
getPublicChallenge: {
|
|
1547
|
+
path: "/public/challenge",
|
|
1410
1548
|
method: "GET",
|
|
1411
|
-
auth: "
|
|
1412
|
-
|
|
1549
|
+
auth: "public",
|
|
1550
|
+
errors: [],
|
|
1551
|
+
responseKind: "text"
|
|
1413
1552
|
},
|
|
1414
|
-
|
|
1415
|
-
path: "/
|
|
1553
|
+
checkRedirect: {
|
|
1554
|
+
path: "/public/content/redirect",
|
|
1416
1555
|
method: "GET",
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
path: "/sites/{siteId}/bookings/resources/{resourceId}/services",
|
|
1422
|
-
method: "PUT",
|
|
1423
|
-
auth: "user",
|
|
1556
|
+
revalidate: 86400,
|
|
1557
|
+
tags: ["redirect"],
|
|
1558
|
+
errors: [],
|
|
1559
|
+
auth: "public",
|
|
1424
1560
|
responseKind: "json"
|
|
1425
1561
|
},
|
|
1426
|
-
|
|
1427
|
-
path: "/sites/{siteId}/
|
|
1562
|
+
listRedirectRules: {
|
|
1563
|
+
path: "/sites/{siteId}/redirects",
|
|
1428
1564
|
method: "GET",
|
|
1429
1565
|
auth: "user",
|
|
1430
1566
|
responseKind: "json"
|
|
1431
1567
|
},
|
|
1432
|
-
|
|
1433
|
-
path: "/sites/{siteId}/
|
|
1434
|
-
method: "
|
|
1568
|
+
createRedirectRule: {
|
|
1569
|
+
path: "/sites/{siteId}/redirects",
|
|
1570
|
+
method: "POST",
|
|
1571
|
+
errors: ["validation:invalid_input", "resource:not_found"],
|
|
1435
1572
|
auth: "user",
|
|
1436
1573
|
responseKind: "json"
|
|
1437
1574
|
},
|
|
1438
|
-
|
|
1439
|
-
path: "/sites/{siteId}/
|
|
1440
|
-
method: "GET",
|
|
1441
|
-
auth: "user",
|
|
1442
|
-
responseKind: "json",
|
|
1443
|
-
errors: ["resource:not_found", "server:internal_error"]
|
|
1444
|
-
},
|
|
1445
|
-
setWeeklyAvailability: {
|
|
1446
|
-
path: "/sites/{siteId}/bookings/resources/{resourceId}/weekly-availability",
|
|
1447
|
-
method: "PUT",
|
|
1448
|
-
auth: "user",
|
|
1449
|
-
responseKind: "json",
|
|
1450
|
-
errors: [
|
|
1451
|
-
"validation:invalid_input",
|
|
1452
|
-
"resource:not_found",
|
|
1453
|
-
"server:internal_error"
|
|
1454
|
-
]
|
|
1455
|
-
},
|
|
1456
|
-
setServiceSpecificAvailability: {
|
|
1457
|
-
path: "/sites/{siteId}/bookings/resources/{resourceId}/service-availability",
|
|
1458
|
-
method: "PUT",
|
|
1459
|
-
auth: "user",
|
|
1460
|
-
responseKind: "json",
|
|
1461
|
-
errors: [
|
|
1462
|
-
"validation:invalid_input",
|
|
1463
|
-
"resource:not_found",
|
|
1464
|
-
"server:internal_error"
|
|
1465
|
-
]
|
|
1466
|
-
},
|
|
1467
|
-
deleteServiceSpecificAvailability: {
|
|
1468
|
-
path: "/sites/{siteId}/bookings/resources/{resourceId}/service-availability/{scheduleId}",
|
|
1575
|
+
deleteRedirectRule: {
|
|
1576
|
+
path: "/sites/{siteId}/redirects/{ruleId}",
|
|
1469
1577
|
method: "DELETE",
|
|
1578
|
+
errors: ["resource:not_found"],
|
|
1470
1579
|
auth: "user",
|
|
1471
|
-
responseKind: "json"
|
|
1472
|
-
errors: ["resource:not_found", "server:internal_error"]
|
|
1580
|
+
responseKind: "json"
|
|
1473
1581
|
},
|
|
1474
|
-
|
|
1475
|
-
path: "/sites/{siteId}/
|
|
1582
|
+
listWebhooks: {
|
|
1583
|
+
path: "/sites/{siteId}/webhooks",
|
|
1476
1584
|
method: "GET",
|
|
1585
|
+
tags: ["site-{siteId}", "webhooks"],
|
|
1477
1586
|
auth: "user",
|
|
1478
|
-
responseKind: "json"
|
|
1479
|
-
errors: ["resource:not_found", "server:internal_error"]
|
|
1587
|
+
responseKind: "json"
|
|
1480
1588
|
},
|
|
1481
|
-
|
|
1482
|
-
path: "/sites/{siteId}/
|
|
1589
|
+
createWebhook: {
|
|
1590
|
+
path: "/sites/{siteId}/webhooks",
|
|
1483
1591
|
method: "POST",
|
|
1592
|
+
tags: ["site-{siteId}", "webhooks"],
|
|
1484
1593
|
auth: "user",
|
|
1485
|
-
responseKind: "json"
|
|
1486
|
-
errors: [
|
|
1487
|
-
"validation:invalid_input",
|
|
1488
|
-
"resource:not_found",
|
|
1489
|
-
"server:internal_error"
|
|
1490
|
-
]
|
|
1491
|
-
},
|
|
1492
|
-
deleteBlackout: {
|
|
1493
|
-
path: "/sites/{siteId}/bookings/resources/{resourceId}/blackouts/{blackoutId}",
|
|
1494
|
-
method: "DELETE",
|
|
1495
|
-
auth: "user",
|
|
1496
|
-
responseKind: "json",
|
|
1497
|
-
errors: ["resource:not_found", "server:internal_error"]
|
|
1594
|
+
responseKind: "json"
|
|
1498
1595
|
},
|
|
1499
|
-
|
|
1500
|
-
path: "/sites/{siteId}/
|
|
1596
|
+
getWebhook: {
|
|
1597
|
+
path: "/sites/{siteId}/webhooks/{webhookId}",
|
|
1501
1598
|
method: "GET",
|
|
1599
|
+
tags: ["site-{siteId}", "webhooks"],
|
|
1502
1600
|
auth: "user",
|
|
1503
|
-
responseKind: "json"
|
|
1504
|
-
errors: ["auth:forbidden", "server:internal_error"]
|
|
1601
|
+
responseKind: "json"
|
|
1505
1602
|
},
|
|
1506
|
-
|
|
1507
|
-
path: "/sites/{siteId}/
|
|
1508
|
-
method: "
|
|
1603
|
+
updateWebhook: {
|
|
1604
|
+
path: "/sites/{siteId}/webhooks/{webhookId}",
|
|
1605
|
+
method: "PATCH",
|
|
1606
|
+
tags: ["site-{siteId}", "webhooks"],
|
|
1509
1607
|
auth: "user",
|
|
1510
|
-
responseKind: "json"
|
|
1511
|
-
errors: [
|
|
1512
|
-
"validation:invalid_input",
|
|
1513
|
-
"auth:forbidden",
|
|
1514
|
-
"resource:not_found",
|
|
1515
|
-
"server:internal_error"
|
|
1516
|
-
]
|
|
1608
|
+
responseKind: "json"
|
|
1517
1609
|
},
|
|
1518
|
-
|
|
1519
|
-
path: "/sites/{siteId}/
|
|
1610
|
+
deleteWebhook: {
|
|
1611
|
+
path: "/sites/{siteId}/webhooks/{webhookId}",
|
|
1520
1612
|
method: "DELETE",
|
|
1613
|
+
tags: ["site-{siteId}", "webhooks"],
|
|
1521
1614
|
auth: "user",
|
|
1522
|
-
responseKind: "json"
|
|
1523
|
-
errors: [
|
|
1524
|
-
"auth:forbidden",
|
|
1525
|
-
"resource:not_found",
|
|
1526
|
-
"server:internal_error"
|
|
1527
|
-
]
|
|
1615
|
+
responseKind: "json"
|
|
1528
1616
|
},
|
|
1529
|
-
|
|
1530
|
-
path: "/sites/{siteId}/
|
|
1617
|
+
getSdkDeploymentHealth: {
|
|
1618
|
+
path: "/sites/{siteId}/sdk-deployment/health",
|
|
1531
1619
|
method: "GET",
|
|
1620
|
+
tags: ["site-{siteId}", "webhooks"],
|
|
1532
1621
|
auth: "user",
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
"auth:forbidden",
|
|
1536
|
-
"resource:not_found",
|
|
1537
|
-
"server:internal_error"
|
|
1538
|
-
]
|
|
1622
|
+
errors: [],
|
|
1623
|
+
responseKind: "json"
|
|
1539
1624
|
},
|
|
1540
|
-
|
|
1541
|
-
path: "/sites/{siteId}/
|
|
1625
|
+
setupSdkDeploymentRevalidationWebhook: {
|
|
1626
|
+
path: "/sites/{siteId}/sdk-deployment/revalidation-webhook",
|
|
1542
1627
|
method: "POST",
|
|
1628
|
+
tags: ["site-{siteId}", "webhooks"],
|
|
1543
1629
|
auth: "user",
|
|
1630
|
+
errors: ["validation:invalid_input", "resource:conflict"],
|
|
1544
1631
|
responseKind: "json",
|
|
1545
|
-
|
|
1546
|
-
"auth:forbidden",
|
|
1547
|
-
"resource:not_found",
|
|
1548
|
-
"server:internal_error"
|
|
1549
|
-
]
|
|
1550
|
-
},
|
|
1551
|
-
revokeResourceCalendarFeed: {
|
|
1552
|
-
path: "/sites/{siteId}/bookings/resources/{resourceId}/calendar/feed",
|
|
1553
|
-
method: "DELETE",
|
|
1554
|
-
auth: "user",
|
|
1555
|
-
responseKind: "json",
|
|
1556
|
-
errors: [
|
|
1557
|
-
"auth:forbidden",
|
|
1558
|
-
"resource:not_found",
|
|
1559
|
-
"server:internal_error"
|
|
1560
|
-
]
|
|
1632
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED
|
|
1561
1633
|
},
|
|
1562
|
-
|
|
1563
|
-
path: "/sites/{siteId}/
|
|
1634
|
+
listSiteApiKeys: {
|
|
1635
|
+
path: "/sites/{siteId}/api-keys",
|
|
1564
1636
|
method: "GET",
|
|
1565
1637
|
auth: "user",
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
"auth:forbidden",
|
|
1569
|
-
"resource:not_found",
|
|
1570
|
-
"server:internal_error"
|
|
1571
|
-
]
|
|
1638
|
+
tags: ["site-{siteId}", "api-keys"],
|
|
1639
|
+
responseKind: "json"
|
|
1572
1640
|
},
|
|
1573
|
-
|
|
1574
|
-
path: "/sites/{siteId}/
|
|
1641
|
+
createSiteApiKey: {
|
|
1642
|
+
path: "/sites/{siteId}/api-keys",
|
|
1575
1643
|
method: "POST",
|
|
1576
1644
|
auth: "user",
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
"auth:forbidden",
|
|
1580
|
-
"resource:not_found",
|
|
1581
|
-
"server:internal_error"
|
|
1582
|
-
]
|
|
1645
|
+
tags: ["site-{siteId}", "api-keys"],
|
|
1646
|
+
responseKind: "json"
|
|
1583
1647
|
},
|
|
1584
|
-
|
|
1585
|
-
path: "/sites/{siteId}/
|
|
1648
|
+
revokeSiteApiKey: {
|
|
1649
|
+
path: "/sites/{siteId}/api-keys/{keyId}",
|
|
1586
1650
|
method: "DELETE",
|
|
1587
1651
|
auth: "user",
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
"auth:forbidden",
|
|
1591
|
-
"resource:not_found",
|
|
1592
|
-
"server:internal_error"
|
|
1593
|
-
]
|
|
1594
|
-
},
|
|
1595
|
-
googleCalendarAuthorize: {
|
|
1596
|
-
path: "/sites/{siteId}/bookings/calendar/google/authorize",
|
|
1597
|
-
method: "GET",
|
|
1598
|
-
auth: "user",
|
|
1599
|
-
responseKind: "void"
|
|
1652
|
+
tags: ["site-{siteId}", "api-keys"],
|
|
1653
|
+
responseKind: "json"
|
|
1600
1654
|
},
|
|
1601
|
-
|
|
1602
|
-
path: "/
|
|
1655
|
+
getSitePreviewKey: {
|
|
1656
|
+
path: "/sites/{siteId}/api-keys/preview",
|
|
1603
1657
|
method: "GET",
|
|
1604
1658
|
auth: "user",
|
|
1605
|
-
|
|
1659
|
+
tags: [
|
|
1660
|
+
"site-{siteId}",
|
|
1661
|
+
"api-keys",
|
|
1662
|
+
"preview-key"
|
|
1663
|
+
],
|
|
1664
|
+
responseKind: "json"
|
|
1606
1665
|
},
|
|
1607
|
-
|
|
1608
|
-
path: "/sites/{siteId}/
|
|
1609
|
-
method: "
|
|
1666
|
+
createSitePreviewKey: {
|
|
1667
|
+
path: "/sites/{siteId}/api-keys/preview",
|
|
1668
|
+
method: "POST",
|
|
1610
1669
|
auth: "user",
|
|
1670
|
+
tags: [
|
|
1671
|
+
"site-{siteId}",
|
|
1672
|
+
"api-keys",
|
|
1673
|
+
"preview-key"
|
|
1674
|
+
],
|
|
1611
1675
|
responseKind: "json"
|
|
1612
1676
|
},
|
|
1613
|
-
|
|
1614
|
-
path: "/sites/{siteId}/
|
|
1677
|
+
getSiteApiKeyAccessLogs: {
|
|
1678
|
+
path: "/sites/{siteId}/api-keys/access-logs",
|
|
1615
1679
|
method: "GET",
|
|
1616
1680
|
auth: "user",
|
|
1681
|
+
tags: [
|
|
1682
|
+
"site-{siteId}",
|
|
1683
|
+
"api-keys",
|
|
1684
|
+
"access-logs"
|
|
1685
|
+
],
|
|
1617
1686
|
responseKind: "json"
|
|
1618
1687
|
},
|
|
1619
|
-
|
|
1620
|
-
path: "/sites/{siteId}/
|
|
1688
|
+
listManagementKeys: {
|
|
1689
|
+
path: "/sites/{siteId}/api-keys/management",
|
|
1621
1690
|
method: "GET",
|
|
1622
1691
|
auth: "user",
|
|
1623
|
-
|
|
1624
|
-
|
|
1692
|
+
tags: [
|
|
1693
|
+
"site-{siteId}",
|
|
1694
|
+
"api-keys",
|
|
1695
|
+
"management-keys"
|
|
1696
|
+
],
|
|
1697
|
+
responseKind: "json"
|
|
1625
1698
|
},
|
|
1626
|
-
|
|
1627
|
-
path: "/sites/{siteId}/
|
|
1699
|
+
createManagementKey: {
|
|
1700
|
+
path: "/sites/{siteId}/api-keys/management",
|
|
1628
1701
|
method: "POST",
|
|
1629
1702
|
auth: "user",
|
|
1703
|
+
tags: [
|
|
1704
|
+
"site-{siteId}",
|
|
1705
|
+
"api-keys",
|
|
1706
|
+
"management-keys"
|
|
1707
|
+
],
|
|
1630
1708
|
responseKind: "json"
|
|
1631
1709
|
},
|
|
1632
|
-
|
|
1633
|
-
path: "/sites/{siteId}/
|
|
1634
|
-
method: "
|
|
1710
|
+
revokeManagementKey: {
|
|
1711
|
+
path: "/sites/{siteId}/api-keys/management",
|
|
1712
|
+
method: "DELETE",
|
|
1635
1713
|
auth: "user",
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
"
|
|
1639
|
-
"
|
|
1640
|
-
|
|
1641
|
-
|
|
1714
|
+
tags: [
|
|
1715
|
+
"site-{siteId}",
|
|
1716
|
+
"api-keys",
|
|
1717
|
+
"management-keys"
|
|
1718
|
+
],
|
|
1719
|
+
responseKind: "json"
|
|
1642
1720
|
},
|
|
1643
|
-
|
|
1644
|
-
path: "/sites/{siteId}/bookings/
|
|
1645
|
-
method: "
|
|
1721
|
+
getBookingSettings: {
|
|
1722
|
+
path: "/sites/{siteId}/bookings/settings",
|
|
1723
|
+
method: "GET",
|
|
1646
1724
|
auth: "user",
|
|
1725
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteBookingSettings],
|
|
1647
1726
|
responseKind: "json"
|
|
1648
1727
|
},
|
|
1649
|
-
|
|
1650
|
-
path: "/sites/{siteId}/bookings/
|
|
1651
|
-
method: "
|
|
1728
|
+
updateBookingSettings: {
|
|
1729
|
+
path: "/sites/{siteId}/bookings/settings",
|
|
1730
|
+
method: "PUT",
|
|
1652
1731
|
auth: "user",
|
|
1732
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteBookingSettings],
|
|
1653
1733
|
responseKind: "json",
|
|
1654
1734
|
errors: [
|
|
1655
1735
|
"validation:invalid_input",
|
|
1656
|
-
"resource:not_found",
|
|
1657
1736
|
"auth:forbidden",
|
|
1658
1737
|
"resource:conflict",
|
|
1659
1738
|
"server:internal_error"
|
|
1660
1739
|
]
|
|
1661
1740
|
},
|
|
1662
|
-
|
|
1663
|
-
path: "/sites/{siteId}/bookings/
|
|
1741
|
+
listBookingClosures: {
|
|
1742
|
+
path: "/sites/{siteId}/bookings/closures",
|
|
1664
1743
|
method: "GET",
|
|
1665
1744
|
auth: "user",
|
|
1666
|
-
responseKind: "json"
|
|
1667
|
-
},
|
|
1668
|
-
exportCoursesCsv: {
|
|
1669
|
-
path: "/sites/{siteId}/bookings/courses/export.csv",
|
|
1670
|
-
method: "GET",
|
|
1671
1745
|
tags: [
|
|
1672
1746
|
"site-{siteId}",
|
|
1673
1747
|
"bookings",
|
|
1674
|
-
"
|
|
1748
|
+
"closures-{siteId}"
|
|
1675
1749
|
],
|
|
1676
|
-
|
|
1677
|
-
auth: "
|
|
1678
|
-
responseKind: "blob"
|
|
1750
|
+
responseKind: "json",
|
|
1751
|
+
errors: ["auth:forbidden", "server:internal_error"]
|
|
1679
1752
|
},
|
|
1680
|
-
|
|
1681
|
-
path: "/sites/{siteId}/bookings/
|
|
1753
|
+
previewBookingClosure: {
|
|
1754
|
+
path: "/sites/{siteId}/bookings/closures/preview",
|
|
1682
1755
|
method: "POST",
|
|
1683
1756
|
auth: "user",
|
|
1757
|
+
tags: [
|
|
1758
|
+
"site-{siteId}",
|
|
1759
|
+
"bookings",
|
|
1760
|
+
"closures-{siteId}"
|
|
1761
|
+
],
|
|
1684
1762
|
responseKind: "json",
|
|
1685
1763
|
errors: [
|
|
1686
1764
|
"validation:invalid_input",
|
|
1687
|
-
"
|
|
1688
|
-
"resource:already_exists",
|
|
1689
|
-
"resource:conflict",
|
|
1765
|
+
"auth:forbidden",
|
|
1690
1766
|
"server:internal_error"
|
|
1691
1767
|
]
|
|
1692
1768
|
},
|
|
1693
|
-
|
|
1694
|
-
path: "/sites/{siteId}/bookings/
|
|
1695
|
-
method: "
|
|
1696
|
-
auth: "user",
|
|
1697
|
-
responseKind: "json"
|
|
1698
|
-
},
|
|
1699
|
-
updateCourse: {
|
|
1700
|
-
path: "/sites/{siteId}/bookings/courses/{courseId}",
|
|
1701
|
-
method: "PATCH",
|
|
1769
|
+
createBookingClosure: {
|
|
1770
|
+
path: "/sites/{siteId}/bookings/closures",
|
|
1771
|
+
method: "POST",
|
|
1702
1772
|
auth: "user",
|
|
1773
|
+
tags: [
|
|
1774
|
+
"site-{siteId}",
|
|
1775
|
+
"bookings",
|
|
1776
|
+
"closures-{siteId}"
|
|
1777
|
+
],
|
|
1703
1778
|
responseKind: "json",
|
|
1704
1779
|
errors: [
|
|
1705
1780
|
"validation:invalid_input",
|
|
1706
|
-
"resource:not_found",
|
|
1707
1781
|
"resource:conflict",
|
|
1782
|
+
"auth:forbidden",
|
|
1708
1783
|
"server:internal_error"
|
|
1709
1784
|
]
|
|
1710
1785
|
},
|
|
1711
|
-
|
|
1712
|
-
path: "/sites/{siteId}/bookings/
|
|
1786
|
+
getBookingClosure: {
|
|
1787
|
+
path: "/sites/{siteId}/bookings/closures/{closureId}",
|
|
1788
|
+
method: "GET",
|
|
1789
|
+
auth: "user",
|
|
1790
|
+
tags: [
|
|
1791
|
+
"site-{siteId}",
|
|
1792
|
+
"bookings",
|
|
1793
|
+
"closures-{siteId}"
|
|
1794
|
+
],
|
|
1795
|
+
responseKind: "json",
|
|
1796
|
+
errors: ["resource:not_found", "server:internal_error"]
|
|
1797
|
+
},
|
|
1798
|
+
deleteBookingClosure: {
|
|
1799
|
+
path: "/sites/{siteId}/bookings/closures/{closureId}",
|
|
1713
1800
|
method: "DELETE",
|
|
1714
1801
|
auth: "user",
|
|
1802
|
+
tags: [
|
|
1803
|
+
"site-{siteId}",
|
|
1804
|
+
"bookings",
|
|
1805
|
+
"closures-{siteId}"
|
|
1806
|
+
],
|
|
1807
|
+
responseKind: "json",
|
|
1808
|
+
errors: ["resource:not_found", "server:internal_error"]
|
|
1809
|
+
},
|
|
1810
|
+
opsListUpcomingEventOccurrences: {
|
|
1811
|
+
path: "/ops/sites/{siteId}/events",
|
|
1812
|
+
method: "GET",
|
|
1813
|
+
auth: "user",
|
|
1814
|
+
responseKind: "json"
|
|
1815
|
+
},
|
|
1816
|
+
opsListOccurrenceAttendees: {
|
|
1817
|
+
path: "/ops/sites/{siteId}/events/{occurrenceId}/attendees",
|
|
1818
|
+
method: "GET",
|
|
1819
|
+
auth: "user",
|
|
1820
|
+
responseKind: "json"
|
|
1821
|
+
},
|
|
1822
|
+
opsValidateEventTicket: {
|
|
1823
|
+
path: "/ops/sites/{siteId}/events/tickets/validate",
|
|
1824
|
+
method: "POST",
|
|
1825
|
+
auth: "user",
|
|
1715
1826
|
responseKind: "json",
|
|
1827
|
+
demoMutation: DEMO_MUTATION_INTERNAL_ONLY,
|
|
1716
1828
|
errors: [
|
|
1717
1829
|
"validation:invalid_input",
|
|
1830
|
+
"auth:forbidden",
|
|
1718
1831
|
"resource:not_found",
|
|
1719
|
-
"resource:conflict",
|
|
1720
1832
|
"server:internal_error"
|
|
1721
1833
|
]
|
|
1722
1834
|
},
|
|
1723
|
-
|
|
1724
|
-
path: "/sites/{siteId}/
|
|
1725
|
-
method: "
|
|
1835
|
+
opsUpdateEventAttendeeCheckin: {
|
|
1836
|
+
path: "/ops/sites/{siteId}/events/attendees/{attendeeId}/checkin",
|
|
1837
|
+
method: "POST",
|
|
1726
1838
|
auth: "user",
|
|
1727
1839
|
responseKind: "json",
|
|
1840
|
+
demoMutation: DEMO_MUTATION_INTERNAL_ONLY,
|
|
1728
1841
|
errors: [
|
|
1729
1842
|
"validation:invalid_input",
|
|
1843
|
+
"auth:forbidden",
|
|
1730
1844
|
"resource:not_found",
|
|
1731
|
-
"resource:conflict",
|
|
1732
1845
|
"server:internal_error"
|
|
1733
1846
|
]
|
|
1734
1847
|
},
|
|
1735
|
-
|
|
1736
|
-
path: "/sites/{siteId}/
|
|
1848
|
+
opsGetEventAttendeeDetails: {
|
|
1849
|
+
path: "/ops/sites/{siteId}/events/attendees/{attendeeId}",
|
|
1850
|
+
method: "GET",
|
|
1851
|
+
auth: "user",
|
|
1852
|
+
responseKind: "json"
|
|
1853
|
+
},
|
|
1854
|
+
opsCancelEventAttendee: {
|
|
1855
|
+
path: "/ops/sites/{siteId}/events/attendees/{attendeeId}/cancel",
|
|
1737
1856
|
method: "POST",
|
|
1738
1857
|
auth: "user",
|
|
1739
1858
|
responseKind: "json",
|
|
1859
|
+
demoMutation: DEMO_MUTATION_INTERNAL_ONLY,
|
|
1740
1860
|
errors: [
|
|
1741
1861
|
"validation:invalid_input",
|
|
1862
|
+
"auth:forbidden",
|
|
1742
1863
|
"resource:not_found",
|
|
1743
|
-
"resource:
|
|
1864
|
+
"resource:conflict",
|
|
1744
1865
|
"server:internal_error"
|
|
1745
1866
|
]
|
|
1746
1867
|
},
|
|
1747
|
-
|
|
1748
|
-
path: "/sites/{siteId}/bookings/
|
|
1868
|
+
getEventAttendeeDetails: {
|
|
1869
|
+
path: "/sites/{siteId}/bookings/event-attendees/{attendeeId}",
|
|
1870
|
+
method: "GET",
|
|
1871
|
+
auth: "user",
|
|
1872
|
+
responseKind: "json",
|
|
1873
|
+
errors: []
|
|
1874
|
+
},
|
|
1875
|
+
cancelEventAttendee: {
|
|
1876
|
+
path: "/sites/{siteId}/bookings/event-attendees/{attendeeId}/cancel",
|
|
1749
1877
|
method: "POST",
|
|
1750
1878
|
auth: "user",
|
|
1751
1879
|
responseKind: "json",
|
|
1752
1880
|
errors: [
|
|
1753
1881
|
"validation:invalid_input",
|
|
1882
|
+
"auth:forbidden",
|
|
1754
1883
|
"resource:not_found",
|
|
1755
1884
|
"resource:conflict",
|
|
1756
1885
|
"server:internal_error"
|
|
1757
1886
|
]
|
|
1758
1887
|
},
|
|
1759
|
-
|
|
1760
|
-
path: "/sites/{siteId}/
|
|
1888
|
+
opsRefundEventAttendee: {
|
|
1889
|
+
path: "/ops/sites/{siteId}/events/attendees/{attendeeId}/refund",
|
|
1761
1890
|
method: "POST",
|
|
1762
1891
|
auth: "user",
|
|
1763
1892
|
responseKind: "json",
|
|
1893
|
+
demoMutation: DEMO_MUTATION_INTERNAL_ONLY,
|
|
1764
1894
|
errors: [
|
|
1765
1895
|
"validation:invalid_input",
|
|
1896
|
+
"auth:forbidden",
|
|
1766
1897
|
"resource:not_found",
|
|
1767
1898
|
"resource:conflict",
|
|
1768
1899
|
"server:internal_error"
|
|
1769
1900
|
]
|
|
1770
1901
|
},
|
|
1771
|
-
|
|
1772
|
-
path: "/sites/{siteId}/
|
|
1902
|
+
getEmailSettings: {
|
|
1903
|
+
path: "/sites/{siteId}/settings/emails",
|
|
1773
1904
|
method: "GET",
|
|
1905
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings],
|
|
1774
1906
|
auth: "user",
|
|
1775
1907
|
responseKind: "json"
|
|
1776
1908
|
},
|
|
1777
|
-
|
|
1778
|
-
path: "/sites/{siteId}/
|
|
1779
|
-
method: "
|
|
1909
|
+
updateEmailSettings: {
|
|
1910
|
+
path: "/sites/{siteId}/settings/emails",
|
|
1911
|
+
method: "PUT",
|
|
1912
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings],
|
|
1780
1913
|
auth: "user",
|
|
1781
|
-
|
|
1782
|
-
responseKind: "blob"
|
|
1914
|
+
responseKind: "json"
|
|
1783
1915
|
},
|
|
1784
|
-
|
|
1785
|
-
path: "/sites/{siteId}/
|
|
1786
|
-
method: "
|
|
1916
|
+
sendTestEmail: {
|
|
1917
|
+
path: "/sites/{siteId}/settings/emails/test",
|
|
1918
|
+
method: "POST",
|
|
1919
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings],
|
|
1787
1920
|
auth: "user",
|
|
1788
1921
|
responseKind: "json",
|
|
1789
|
-
|
|
1790
|
-
},
|
|
1791
|
-
|
|
1792
|
-
path: "/sites/{siteId}/
|
|
1793
|
-
method: "
|
|
1794
|
-
tags: [
|
|
1795
|
-
"site-{siteId}",
|
|
1796
|
-
"bookings",
|
|
1797
|
-
"courses-{courseId}"
|
|
1798
|
-
],
|
|
1799
|
-
auth: "user",
|
|
1800
|
-
responseKind: "blob",
|
|
1801
|
-
errors: []
|
|
1802
|
-
},
|
|
1803
|
-
updateCourseEnrollment: {
|
|
1804
|
-
path: "/sites/{siteId}/bookings/courses/{courseId}/enrollments/{enrollmentId}",
|
|
1805
|
-
method: "PATCH",
|
|
1922
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
1923
|
+
},
|
|
1924
|
+
previewEmailTemplate: {
|
|
1925
|
+
path: "/sites/{siteId}/settings/emails/preview",
|
|
1926
|
+
method: "POST",
|
|
1927
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings],
|
|
1806
1928
|
auth: "user",
|
|
1807
|
-
responseKind: "json"
|
|
1808
|
-
errors: [
|
|
1809
|
-
"validation:invalid_input",
|
|
1810
|
-
"resource:not_found",
|
|
1811
|
-
"server:internal_error"
|
|
1812
|
-
]
|
|
1929
|
+
responseKind: "json"
|
|
1813
1930
|
},
|
|
1931
|
+
...NEWSLETTER_ENDPOINT_DEFINITIONS,
|
|
1932
|
+
...APPOINTMENT_ENDPOINT_DEFINITIONS,
|
|
1933
|
+
...COURSE_ENDPOINT_DEFINITIONS,
|
|
1814
1934
|
getSite: {
|
|
1815
1935
|
path: "/sites",
|
|
1816
1936
|
method: "GET",
|
|
@@ -2152,7 +2272,13 @@ const API_ENDPOINTS$1 = {
|
|
|
2152
2272
|
method: "POST",
|
|
2153
2273
|
tags: ["site-{siteId}", "content-{siteId}-{type}"],
|
|
2154
2274
|
auth: "user",
|
|
2155
|
-
responseKind: "json"
|
|
2275
|
+
responseKind: "json",
|
|
2276
|
+
errors: [
|
|
2277
|
+
"validation:invalid_input",
|
|
2278
|
+
"resource:not_found",
|
|
2279
|
+
"resource:conflict",
|
|
2280
|
+
"server:internal_error"
|
|
2281
|
+
]
|
|
2156
2282
|
},
|
|
2157
2283
|
getContentEntry: {
|
|
2158
2284
|
path: "/sites/{siteId}/content/{type}/{entryId}",
|
|
@@ -2163,12 +2289,22 @@ const API_ENDPOINTS$1 = {
|
|
|
2163
2289
|
"content-entry-{entryId}"
|
|
2164
2290
|
],
|
|
2165
2291
|
auth: "user",
|
|
2166
|
-
responseKind: "json"
|
|
2292
|
+
responseKind: "json",
|
|
2293
|
+
errors: [
|
|
2294
|
+
"validation:invalid_input",
|
|
2295
|
+
"resource:not_found",
|
|
2296
|
+
"resource:conflict",
|
|
2297
|
+
"server:internal_error"
|
|
2298
|
+
]
|
|
2167
2299
|
},
|
|
2168
2300
|
listContentEntryVersions: {
|
|
2169
2301
|
path: "/sites/{siteId}/content/{type}/{entryId}/versions",
|
|
2170
2302
|
method: "GET",
|
|
2171
|
-
errors: [
|
|
2303
|
+
errors: [
|
|
2304
|
+
"validation:invalid_input",
|
|
2305
|
+
"resource:not_found",
|
|
2306
|
+
"resource:conflict"
|
|
2307
|
+
],
|
|
2172
2308
|
tags: [
|
|
2173
2309
|
"site-{siteId}",
|
|
2174
2310
|
"content-{siteId}-{type}",
|
|
@@ -2180,7 +2316,11 @@ const API_ENDPOINTS$1 = {
|
|
|
2180
2316
|
getContentEntryVersion: {
|
|
2181
2317
|
path: "/sites/{siteId}/content/{type}/{entryId}/versions/{versionId}",
|
|
2182
2318
|
method: "GET",
|
|
2183
|
-
errors: [
|
|
2319
|
+
errors: [
|
|
2320
|
+
"validation:invalid_input",
|
|
2321
|
+
"resource:not_found",
|
|
2322
|
+
"resource:conflict"
|
|
2323
|
+
],
|
|
2184
2324
|
tags: [
|
|
2185
2325
|
"site-{siteId}",
|
|
2186
2326
|
"content-{siteId}-{type}",
|
|
@@ -2215,6 +2355,12 @@ const API_ENDPOINTS$1 = {
|
|
|
2215
2355
|
"content-entry-{entryId}"
|
|
2216
2356
|
],
|
|
2217
2357
|
auth: "user",
|
|
2358
|
+
errors: [
|
|
2359
|
+
"validation:invalid_input",
|
|
2360
|
+
"resource:not_found",
|
|
2361
|
+
"resource:conflict",
|
|
2362
|
+
"server:internal_error"
|
|
2363
|
+
],
|
|
2218
2364
|
responseKind: "json"
|
|
2219
2365
|
},
|
|
2220
2366
|
updatePageSurfaceDraftContent: {
|
|
@@ -2284,6 +2430,7 @@ const API_ENDPOINTS$1 = {
|
|
|
2284
2430
|
errors: [
|
|
2285
2431
|
"validation:invalid_input",
|
|
2286
2432
|
"resource:not_found",
|
|
2433
|
+
"resource:conflict",
|
|
2287
2434
|
"server:internal_error"
|
|
2288
2435
|
],
|
|
2289
2436
|
tags: [
|
|
@@ -2300,6 +2447,7 @@ const API_ENDPOINTS$1 = {
|
|
|
2300
2447
|
errors: [
|
|
2301
2448
|
"validation:invalid_input",
|
|
2302
2449
|
"resource:not_found",
|
|
2450
|
+
"resource:conflict",
|
|
2303
2451
|
"server:internal_error"
|
|
2304
2452
|
],
|
|
2305
2453
|
tags: [
|
|
@@ -2320,6 +2468,12 @@ const API_ENDPOINTS$1 = {
|
|
|
2320
2468
|
TAG_TEMPLATES.routeById
|
|
2321
2469
|
],
|
|
2322
2470
|
auth: "user",
|
|
2471
|
+
errors: [
|
|
2472
|
+
"validation:invalid_input",
|
|
2473
|
+
"resource:not_found",
|
|
2474
|
+
"resource:conflict",
|
|
2475
|
+
"server:internal_error"
|
|
2476
|
+
],
|
|
2323
2477
|
responseKind: "json"
|
|
2324
2478
|
},
|
|
2325
2479
|
publishContentEntry: {
|
|
@@ -2376,6 +2530,13 @@ const API_ENDPOINTS$1 = {
|
|
|
2376
2530
|
"content-entry-{entryId}"
|
|
2377
2531
|
],
|
|
2378
2532
|
auth: "user",
|
|
2533
|
+
errors: [
|
|
2534
|
+
"auth:forbidden",
|
|
2535
|
+
"validation:invalid_input",
|
|
2536
|
+
"resource:not_found",
|
|
2537
|
+
"resource:conflict",
|
|
2538
|
+
"server:internal_error"
|
|
2539
|
+
],
|
|
2379
2540
|
responseKind: "json"
|
|
2380
2541
|
},
|
|
2381
2542
|
unpublishContentEntry: {
|
|
@@ -2428,7 +2589,13 @@ const API_ENDPOINTS$1 = {
|
|
|
2428
2589
|
"content-entry-{entryId}"
|
|
2429
2590
|
],
|
|
2430
2591
|
auth: "user",
|
|
2431
|
-
responseKind: "json"
|
|
2592
|
+
responseKind: "json",
|
|
2593
|
+
errors: [
|
|
2594
|
+
"validation:invalid_input",
|
|
2595
|
+
"resource:not_found",
|
|
2596
|
+
"resource:conflict",
|
|
2597
|
+
"server:internal_error"
|
|
2598
|
+
]
|
|
2432
2599
|
},
|
|
2433
2600
|
bulkPublishContentEntries: {
|
|
2434
2601
|
path: "/sites/{siteId}/content/{type}/bulk-publish",
|
|
@@ -2450,6 +2617,12 @@ const API_ENDPOINTS$1 = {
|
|
|
2450
2617
|
tags: ["site-{siteId}", "content-{siteId}-{type}"],
|
|
2451
2618
|
auth: "user",
|
|
2452
2619
|
responseKind: "json",
|
|
2620
|
+
errors: [
|
|
2621
|
+
"validation:invalid_input",
|
|
2622
|
+
"resource:not_found",
|
|
2623
|
+
"resource:conflict",
|
|
2624
|
+
"server:internal_error"
|
|
2625
|
+
],
|
|
2453
2626
|
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
2454
2627
|
},
|
|
2455
2628
|
updateSiteGeneralSettings: {
|
|
@@ -3720,7 +3893,7 @@ const API_ENDPOINTS$1 = {
|
|
|
3720
3893
|
],
|
|
3721
3894
|
auth: "user",
|
|
3722
3895
|
responseKind: "json",
|
|
3723
|
-
errors: ["resource:not_found"]
|
|
3896
|
+
errors: ["resource:not_found", "resource:conflict"]
|
|
3724
3897
|
},
|
|
3725
3898
|
listEntryPageContentSlots: {
|
|
3726
3899
|
path: "/sites/{siteId}/content/{type}/{entryId}/slots",
|
|
@@ -3733,7 +3906,7 @@ const API_ENDPOINTS$1 = {
|
|
|
3733
3906
|
],
|
|
3734
3907
|
auth: "user",
|
|
3735
3908
|
responseKind: "json",
|
|
3736
|
-
errors: ["resource:not_found"]
|
|
3909
|
+
errors: ["resource:not_found", "resource:conflict"]
|
|
3737
3910
|
},
|
|
3738
3911
|
createEntrySlotBlock: {
|
|
3739
3912
|
path: "/sites/{siteId}/content/{type}/{entryId}/slots/{slotKey}/blocks",
|
|
@@ -3746,7 +3919,11 @@ const API_ENDPOINTS$1 = {
|
|
|
3746
3919
|
],
|
|
3747
3920
|
auth: "user",
|
|
3748
3921
|
responseKind: "json",
|
|
3749
|
-
errors: [
|
|
3922
|
+
errors: [
|
|
3923
|
+
"validation:invalid_input",
|
|
3924
|
+
"resource:not_found",
|
|
3925
|
+
"resource:conflict"
|
|
3926
|
+
]
|
|
3750
3927
|
},
|
|
3751
3928
|
reorderEntrySlotBlocks: {
|
|
3752
3929
|
path: "/sites/{siteId}/content/{type}/{entryId}/slots/{slotKey}/blocks/reorder",
|
|
@@ -3759,7 +3936,11 @@ const API_ENDPOINTS$1 = {
|
|
|
3759
3936
|
],
|
|
3760
3937
|
auth: "user",
|
|
3761
3938
|
responseKind: "json",
|
|
3762
|
-
errors: [
|
|
3939
|
+
errors: [
|
|
3940
|
+
"validation:invalid_input",
|
|
3941
|
+
"resource:not_found",
|
|
3942
|
+
"resource:conflict"
|
|
3943
|
+
]
|
|
3763
3944
|
},
|
|
3764
3945
|
deleteEntrySlotBlock: {
|
|
3765
3946
|
path: "/sites/{siteId}/content/{type}/{entryId}/slots/{slotKey}/blocks/{blockId}",
|
|
@@ -3772,7 +3953,7 @@ const API_ENDPOINTS$1 = {
|
|
|
3772
3953
|
],
|
|
3773
3954
|
auth: "user",
|
|
3774
3955
|
responseKind: "json",
|
|
3775
|
-
errors: ["resource:not_found"]
|
|
3956
|
+
errors: ["resource:not_found", "resource:conflict"]
|
|
3776
3957
|
},
|
|
3777
3958
|
listPageSurfaceContentSlots: {
|
|
3778
3959
|
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/slots",
|
|
@@ -4450,14 +4631,7 @@ const API_ENDPOINTS$1 = {
|
|
|
4450
4631
|
auth: "public",
|
|
4451
4632
|
responseKind: "json"
|
|
4452
4633
|
},
|
|
4453
|
-
|
|
4454
|
-
path: "/public/sites/{siteId}/courses",
|
|
4455
|
-
method: "GET",
|
|
4456
|
-
revalidate: 60,
|
|
4457
|
-
tags: [TAG_TEMPLATES.publicCourses],
|
|
4458
|
-
auth: "public",
|
|
4459
|
-
responseKind: "json"
|
|
4460
|
-
},
|
|
4634
|
+
...PUBLIC_WHOLE_SERIES_ENDPOINT_DEFINITIONS,
|
|
4461
4635
|
listPublicTeamMembers: {
|
|
4462
4636
|
path: "/public/sites/{siteId}/team-members",
|
|
4463
4637
|
method: "GET",
|
|
@@ -4467,33 +4641,11 @@ const API_ENDPOINTS$1 = {
|
|
|
4467
4641
|
auth: "public",
|
|
4468
4642
|
responseKind: "json"
|
|
4469
4643
|
},
|
|
4470
|
-
getPublicCourse: {
|
|
4471
|
-
path: "/public/sites/{siteId}/courses/{courseId}",
|
|
4472
|
-
method: "GET",
|
|
4473
|
-
revalidate: 60,
|
|
4474
|
-
tags: [TAG_TEMPLATES.publicCourses],
|
|
4475
|
-
auth: "public",
|
|
4476
|
-
responseKind: "json"
|
|
4477
|
-
},
|
|
4478
|
-
enrollInCourse: {
|
|
4479
|
-
path: "/public/sites/{siteId}/courses/enroll",
|
|
4480
|
-
method: "POST",
|
|
4481
|
-
tags: [TAG_TEMPLATES.publicCourses, "course-enrollment"],
|
|
4482
|
-
auth: "public",
|
|
4483
|
-
responseKind: "json"
|
|
4484
|
-
},
|
|
4485
|
-
checkCourseEligibility: {
|
|
4486
|
-
path: "/public/sites/{siteId}/courses/check-eligibility",
|
|
4487
|
-
method: "POST",
|
|
4488
|
-
tags: [TAG_TEMPLATES.publicCourses, "course-enrollment"],
|
|
4489
|
-
auth: "public",
|
|
4490
|
-
responseKind: "json"
|
|
4491
|
-
},
|
|
4492
4644
|
resolveWaitlistClaim: {
|
|
4493
4645
|
path: "/public/sites/{siteId}/waitlists/claim/resolve",
|
|
4494
4646
|
method: "POST",
|
|
4495
4647
|
tags: [
|
|
4496
|
-
TAG_TEMPLATES.
|
|
4648
|
+
TAG_TEMPLATES.publicWholeSeriesOfferings,
|
|
4497
4649
|
TAG_TEMPLATES.publicEvents,
|
|
4498
4650
|
"waitlist-claims"
|
|
4499
4651
|
],
|
|
@@ -4506,27 +4658,6 @@ const API_ENDPOINTS$1 = {
|
|
|
4506
4658
|
"server:internal_error"
|
|
4507
4659
|
]
|
|
4508
4660
|
},
|
|
4509
|
-
createCourseCheckout: {
|
|
4510
|
-
path: "/public/sites/{siteId}/courses/checkout",
|
|
4511
|
-
method: "POST",
|
|
4512
|
-
tags: [TAG_TEMPLATES.publicCourses, "course-checkout"],
|
|
4513
|
-
auth: "public",
|
|
4514
|
-
responseKind: "json",
|
|
4515
|
-
errors: [
|
|
4516
|
-
"auth:unauthenticated",
|
|
4517
|
-
"validation:invalid_input",
|
|
4518
|
-
"resource:not_found",
|
|
4519
|
-
"resource:conflict",
|
|
4520
|
-
"server:internal_error"
|
|
4521
|
-
]
|
|
4522
|
-
},
|
|
4523
|
-
getCourseRegistrationStatus: {
|
|
4524
|
-
path: "/public/sites/{siteId}/courses/registration-status",
|
|
4525
|
-
method: "GET",
|
|
4526
|
-
tags: [TAG_TEMPLATES.publicCourses, "course-checkout"],
|
|
4527
|
-
auth: "public",
|
|
4528
|
-
responseKind: "json"
|
|
4529
|
-
},
|
|
4530
4661
|
listPublicPasses: {
|
|
4531
4662
|
path: "/public/sites/{siteId}/bookings/products/passes",
|
|
4532
4663
|
method: "GET",
|
|
@@ -4627,14 +4758,6 @@ const API_ENDPOINTS$1 = {
|
|
|
4627
4758
|
responseKind: "json",
|
|
4628
4759
|
errors: []
|
|
4629
4760
|
},
|
|
4630
|
-
resolveEntrySubroute: {
|
|
4631
|
-
path: "/public/sites/{siteId}/routing/subroutes/resolve",
|
|
4632
|
-
method: "GET",
|
|
4633
|
-
revalidate: 60,
|
|
4634
|
-
tags: ["site-{siteId}", "entry-subroute"],
|
|
4635
|
-
auth: "public",
|
|
4636
|
-
responseKind: "json"
|
|
4637
|
-
},
|
|
4638
4761
|
resolveEventOccurrence: {
|
|
4639
4762
|
path: "/public/sites/{siteId}/events/occurrences/resolve",
|
|
4640
4763
|
method: "GET",
|
|
@@ -4978,13 +5101,6 @@ const API_ENDPOINTS$1 = {
|
|
|
4978
5101
|
auth: "user",
|
|
4979
5102
|
responseKind: "json"
|
|
4980
5103
|
},
|
|
4981
|
-
getEventSeriesContentEditor: {
|
|
4982
|
-
path: "/sites/{siteId}/bookings/event-series/{seriesId}/content-editor",
|
|
4983
|
-
method: "GET",
|
|
4984
|
-
tags: ["site-{siteId}", "event-series-{seriesId}"],
|
|
4985
|
-
auth: "user",
|
|
4986
|
-
responseKind: "json"
|
|
4987
|
-
},
|
|
4988
5104
|
updateEventSeries: {
|
|
4989
5105
|
path: "/sites/{siteId}/bookings/event-series/{seriesId}",
|
|
4990
5106
|
method: "PATCH",
|
|
@@ -6323,6 +6439,7 @@ const API_ENDPOINTS$1 = {
|
|
|
6323
6439
|
errors: [
|
|
6324
6440
|
"validation:invalid_input",
|
|
6325
6441
|
"resource:not_found",
|
|
6442
|
+
"resource:conflict",
|
|
6326
6443
|
"server:internal_error"
|
|
6327
6444
|
],
|
|
6328
6445
|
auth: "service",
|
|
@@ -6436,24 +6553,12 @@ const API_ENDPOINTS$1 = {
|
|
|
6436
6553
|
auth: "service",
|
|
6437
6554
|
responseKind: "json"
|
|
6438
6555
|
},
|
|
6439
|
-
sdkPullCourses: {
|
|
6440
|
-
path: "/sdk/{siteId}/pull/courses",
|
|
6441
|
-
method: "GET",
|
|
6442
|
-
auth: "service",
|
|
6443
|
-
responseKind: "json"
|
|
6444
|
-
},
|
|
6445
6556
|
sdkPullEntries: {
|
|
6446
6557
|
path: "/sdk/{siteId}/pull/entries",
|
|
6447
6558
|
method: "GET",
|
|
6448
6559
|
auth: "service",
|
|
6449
6560
|
responseKind: "json"
|
|
6450
6561
|
},
|
|
6451
|
-
sdkPullEntriesByType: {
|
|
6452
|
-
path: "/sdk/{siteId}/pull/entries/{type}",
|
|
6453
|
-
method: "GET",
|
|
6454
|
-
auth: "service",
|
|
6455
|
-
responseKind: "json"
|
|
6456
|
-
},
|
|
6457
6562
|
sdkPullEntriesAll: {
|
|
6458
6563
|
path: "/sdk/{siteId}/pull/entries/all",
|
|
6459
6564
|
method: "GET",
|
|
@@ -6719,48 +6824,13 @@ const API_ENDPOINTS$1 = {
|
|
|
6719
6824
|
"server:internal_error"
|
|
6720
6825
|
]
|
|
6721
6826
|
},
|
|
6722
|
-
sdkListCourses: {
|
|
6723
|
-
path: "/sdk/{siteId}/courses",
|
|
6724
|
-
method: "GET",
|
|
6725
|
-
auth: "service",
|
|
6726
|
-
responseKind: "json"
|
|
6727
|
-
},
|
|
6728
|
-
sdkUpsertCourse: {
|
|
6729
|
-
path: "/sdk/{siteId}/courses",
|
|
6730
|
-
method: "POST",
|
|
6731
|
-
auth: "service",
|
|
6732
|
-
responseKind: "json"
|
|
6733
|
-
},
|
|
6734
|
-
sdkGetCourse: {
|
|
6735
|
-
path: "/sdk/{siteId}/courses/{identifier}",
|
|
6736
|
-
method: "GET",
|
|
6737
|
-
auth: "service",
|
|
6738
|
-
responseKind: "json"
|
|
6739
|
-
},
|
|
6740
|
-
sdkDeleteCourse: {
|
|
6741
|
-
path: "/sdk/{siteId}/courses/{identifier}",
|
|
6742
|
-
method: "DELETE",
|
|
6743
|
-
auth: "service",
|
|
6744
|
-
responseKind: "json"
|
|
6745
|
-
},
|
|
6746
6827
|
sdkUpsertEntry: {
|
|
6747
6828
|
path: "/sdk/{siteId}/entries",
|
|
6748
6829
|
method: "POST",
|
|
6749
6830
|
auth: "service",
|
|
6750
6831
|
responseKind: "json"
|
|
6751
6832
|
},
|
|
6752
|
-
|
|
6753
|
-
path: "/sdk/{siteId}/entries/{contentType}",
|
|
6754
|
-
method: "GET",
|
|
6755
|
-
auth: "service",
|
|
6756
|
-
responseKind: "json"
|
|
6757
|
-
},
|
|
6758
|
-
sdkGetEntry: {
|
|
6759
|
-
path: "/sdk/{siteId}/entries/{contentType}/{identifier}",
|
|
6760
|
-
method: "GET",
|
|
6761
|
-
auth: "service",
|
|
6762
|
-
responseKind: "json"
|
|
6763
|
-
},
|
|
6833
|
+
...SDK_ENTRY_READ_ENDPOINTS,
|
|
6764
6834
|
sdkDeleteEntry: {
|
|
6765
6835
|
path: "/sdk/{siteId}/entries/{contentType}/{identifier}",
|
|
6766
6836
|
method: "DELETE",
|
|
@@ -6985,21 +7055,22 @@ const API_ENDPOINTS$1 = {
|
|
|
6985
7055
|
"server:internal_error"
|
|
6986
7056
|
]
|
|
6987
7057
|
},
|
|
6988
|
-
|
|
6989
|
-
path: "/portal/
|
|
7058
|
+
portalGetWholeSeriesRegistrations: {
|
|
7059
|
+
path: "/portal/dated-offerings/whole-series",
|
|
6990
7060
|
method: "GET",
|
|
6991
7061
|
auth: "public",
|
|
6992
|
-
responseKind: "json"
|
|
7062
|
+
responseKind: "json",
|
|
7063
|
+
errors: ["server:internal_error"]
|
|
6993
7064
|
},
|
|
6994
|
-
|
|
6995
|
-
path: "/portal/
|
|
7065
|
+
portalGetWholeSeriesBookingQuestions: {
|
|
7066
|
+
path: "/portal/dated-offerings/whole-series/{enrollmentId}/booking-questions",
|
|
6996
7067
|
method: "GET",
|
|
6997
7068
|
auth: "public",
|
|
6998
7069
|
responseKind: "json",
|
|
6999
7070
|
errors: ["resource:not_found", "server:internal_error"]
|
|
7000
7071
|
},
|
|
7001
|
-
|
|
7002
|
-
path: "/portal/
|
|
7072
|
+
portalUpdateWholeSeriesBookingQuestions: {
|
|
7073
|
+
path: "/portal/dated-offerings/whole-series/{enrollmentId}/booking-questions",
|
|
7003
7074
|
method: "PUT",
|
|
7004
7075
|
auth: "public",
|
|
7005
7076
|
responseKind: "json",
|
|
@@ -7009,8 +7080,8 @@ const API_ENDPOINTS$1 = {
|
|
|
7009
7080
|
"server:internal_error"
|
|
7010
7081
|
]
|
|
7011
7082
|
},
|
|
7012
|
-
|
|
7013
|
-
path: "/portal/
|
|
7083
|
+
portalCreateWholeSeriesBookingQuestionsUploadUrl: {
|
|
7084
|
+
path: "/portal/dated-offerings/whole-series/{enrollmentId}/booking-questions/upload-url",
|
|
7014
7085
|
method: "POST",
|
|
7015
7086
|
auth: "public",
|
|
7016
7087
|
responseKind: "json",
|
|
@@ -7020,8 +7091,8 @@ const API_ENDPOINTS$1 = {
|
|
|
7020
7091
|
"server:internal_error"
|
|
7021
7092
|
]
|
|
7022
7093
|
},
|
|
7023
|
-
|
|
7024
|
-
path: "/portal/
|
|
7094
|
+
portalFinalizeWholeSeriesBookingQuestionsUpload: {
|
|
7095
|
+
path: "/portal/dated-offerings/whole-series/{enrollmentId}/booking-questions/upload",
|
|
7025
7096
|
method: "POST",
|
|
7026
7097
|
auth: "public",
|
|
7027
7098
|
responseKind: "json",
|
|
@@ -7031,11 +7102,12 @@ const API_ENDPOINTS$1 = {
|
|
|
7031
7102
|
"server:internal_error"
|
|
7032
7103
|
]
|
|
7033
7104
|
},
|
|
7034
|
-
|
|
7035
|
-
path: "/portal/
|
|
7105
|
+
portalCancelWholeSeriesRegistration: {
|
|
7106
|
+
path: "/portal/dated-offerings/whole-series/{enrollmentId}/cancel",
|
|
7036
7107
|
method: "POST",
|
|
7037
7108
|
auth: "public",
|
|
7038
|
-
responseKind: "json"
|
|
7109
|
+
responseKind: "json",
|
|
7110
|
+
errors: ["resource:not_found", "server:internal_error"]
|
|
7039
7111
|
},
|
|
7040
7112
|
portalCancelEventRegistration: {
|
|
7041
7113
|
path: "/portal/events/{registrationId}/cancel",
|
|
@@ -7352,6 +7424,7 @@ function extractApiEnvelopeErrorDetails(body) {
|
|
|
7352
7424
|
if (!error) return {
|
|
7353
7425
|
rawCode: null,
|
|
7354
7426
|
code: null,
|
|
7427
|
+
tag: null,
|
|
7355
7428
|
message: null,
|
|
7356
7429
|
status: null,
|
|
7357
7430
|
fieldErrors: null
|
|
@@ -7361,6 +7434,7 @@ function extractApiEnvelopeErrorDetails(body) {
|
|
|
7361
7434
|
return {
|
|
7362
7435
|
rawCode,
|
|
7363
7436
|
code: isApiErrorCode(rawCode) ? rawCode : null,
|
|
7437
|
+
tag: typeof error.tag === "string" ? error.tag : null,
|
|
7364
7438
|
message,
|
|
7365
7439
|
status: typeof error.status === "number" && Number.isFinite(error.status) ? error.status : null,
|
|
7366
7440
|
fieldErrors: fieldErrorsFromUnknown(error.fieldErrors)
|
|
@@ -7378,6 +7452,7 @@ var ApiEnvelopeError = class extends Error {
|
|
|
7378
7452
|
this.requestId = error.requestId;
|
|
7379
7453
|
this.timestamp = error.timestamp;
|
|
7380
7454
|
this.status = error.status;
|
|
7455
|
+
this.tag = error.tag;
|
|
7381
7456
|
this.fieldErrors = error.fieldErrors;
|
|
7382
7457
|
}
|
|
7383
7458
|
};
|
|
@@ -7849,7 +7924,7 @@ var SimpleCache = class {
|
|
|
7849
7924
|
* 1. This constant
|
|
7850
7925
|
* 2. The "version" field in package.json
|
|
7851
7926
|
*/
|
|
7852
|
-
const SDK_VERSION = "0.
|
|
7927
|
+
const SDK_VERSION = "0.124.0";
|
|
7853
7928
|
//#endregion
|
|
7854
7929
|
//#region src/client/error.ts
|
|
7855
7930
|
let _Symbol$for;
|
|
@@ -8054,12 +8129,10 @@ const PUBLIC_ENDPOINT_NAMES = [
|
|
|
8054
8129
|
"getPublicChallenge",
|
|
8055
8130
|
"listPublicEvents",
|
|
8056
8131
|
"batchBlockLoaders",
|
|
8057
|
-
"listPublicCourses",
|
|
8058
8132
|
"listPublicTeamMembers",
|
|
8059
8133
|
"listPublicProducts",
|
|
8060
8134
|
"listPublicPasses",
|
|
8061
8135
|
"listPublicMemberships",
|
|
8062
|
-
"resolveEntrySubroute",
|
|
8063
8136
|
"resolveEventOccurrence",
|
|
8064
8137
|
"checkRedirect",
|
|
8065
8138
|
"getRoutableContent",
|
|
@@ -8177,14 +8250,6 @@ const API_ENDPOINTS = Object.freeze({
|
|
|
8177
8250
|
auth: "public",
|
|
8178
8251
|
responseKind: "json"
|
|
8179
8252
|
},
|
|
8180
|
-
listPublicCourses: {
|
|
8181
|
-
path: "/public/sites/{siteId}/courses",
|
|
8182
|
-
method: "GET",
|
|
8183
|
-
revalidate: 60,
|
|
8184
|
-
tags: ["riverbank:site:{siteId}:public-courses"],
|
|
8185
|
-
auth: "public",
|
|
8186
|
-
responseKind: "json"
|
|
8187
|
-
},
|
|
8188
8253
|
listPublicTeamMembers: {
|
|
8189
8254
|
path: "/public/sites/{siteId}/team-members",
|
|
8190
8255
|
method: "GET",
|
|
@@ -8217,14 +8282,6 @@ const API_ENDPOINTS = Object.freeze({
|
|
|
8217
8282
|
auth: "public",
|
|
8218
8283
|
responseKind: "json"
|
|
8219
8284
|
},
|
|
8220
|
-
resolveEntrySubroute: {
|
|
8221
|
-
path: "/public/sites/{siteId}/routing/subroutes/resolve",
|
|
8222
|
-
method: "GET",
|
|
8223
|
-
revalidate: 60,
|
|
8224
|
-
tags: ["site-{siteId}", "entry-subroute"],
|
|
8225
|
-
auth: "public",
|
|
8226
|
-
responseKind: "json"
|
|
8227
|
-
},
|
|
8228
8285
|
resolveEventOccurrence: {
|
|
8229
8286
|
path: "/public/sites/{siteId}/events/occurrences/resolve",
|
|
8230
8287
|
method: "GET",
|
|
@@ -8265,13 +8322,193 @@ const API_ENDPOINTS = Object.freeze({
|
|
|
8265
8322
|
auth: "public",
|
|
8266
8323
|
responseKind: "json"
|
|
8267
8324
|
}
|
|
8268
|
-
});
|
|
8269
|
-
function buildEndpointURL(baseURL, endpoint) {
|
|
8270
|
-
return baseURL + API_ENDPOINTS[endpoint].path;
|
|
8325
|
+
});
|
|
8326
|
+
function buildEndpointURL(baseURL, endpoint) {
|
|
8327
|
+
return baseURL + API_ENDPOINTS[endpoint].path;
|
|
8328
|
+
}
|
|
8329
|
+
//#endregion
|
|
8330
|
+
//#region src/client/runtimeCacheKeys.ts
|
|
8331
|
+
const DEFAULT_PUBLISHED_RUNTIME_CACHE_PAYLOAD_SCHEMA_VERSION = 1;
|
|
8332
|
+
function toNonEmptyString(value) {
|
|
8333
|
+
if (value === null || value === void 0) return null;
|
|
8334
|
+
if (typeof value !== "string" && typeof value !== "number" && typeof value !== "boolean") return null;
|
|
8335
|
+
const normalized = String(value).trim();
|
|
8336
|
+
return normalized.length > 0 ? normalized : null;
|
|
8337
|
+
}
|
|
8338
|
+
function normalizeRuntimePublicPath(value) {
|
|
8339
|
+
const withoutQuery = (toNonEmptyString(value) ?? "/").split(/[?#]/, 1)[0] ?? "/";
|
|
8340
|
+
const collapsed = (withoutQuery.startsWith("/") ? withoutQuery : `/${withoutQuery}`).replace(/\/{2,}/g, "/");
|
|
8341
|
+
return (collapsed.length > 1 ? collapsed.replace(/\/+$/g, "") : collapsed) || "/";
|
|
8342
|
+
}
|
|
8343
|
+
function normalizeRuntimeHostname(value) {
|
|
8344
|
+
const trimmed = value.trim().toLowerCase();
|
|
8345
|
+
return (/^[a-z][a-z0-9+.-]*:\/\//.test(trimmed) ? new URL(trimmed) : new URL(`http://${trimmed}`)).hostname.replace(/\.$/, "");
|
|
8346
|
+
}
|
|
8347
|
+
function normalizeScalar(value) {
|
|
8348
|
+
return value.trim().toLowerCase();
|
|
8349
|
+
}
|
|
8350
|
+
function unsafeAsPublishedRuntimeCacheKey(value) {
|
|
8351
|
+
return value;
|
|
8352
|
+
}
|
|
8353
|
+
function buildPublishedRuntimeCacheKey(endpoint, normalizedParams) {
|
|
8354
|
+
return unsafeAsPublishedRuntimeCacheKey(`published-runtime:v1:${endpoint}:${Object.entries(normalizedParams).sort(([left], [right]) => left.localeCompare(right)).map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`).join(":")}`);
|
|
8355
|
+
}
|
|
8356
|
+
function selectSiteRuntimeIdentity(params) {
|
|
8357
|
+
const slug = toNonEmptyString(params.slug);
|
|
8358
|
+
if (slug !== null) return { slug: normalizeScalar(slug) };
|
|
8359
|
+
const domain = toNonEmptyString(params.domain);
|
|
8360
|
+
if (domain !== null) return { domain: normalizeRuntimeHostname(domain) };
|
|
8361
|
+
const id = toNonEmptyString(params.id);
|
|
8362
|
+
if (id !== null) return { id: normalizeScalar(id) };
|
|
8363
|
+
return null;
|
|
8364
|
+
}
|
|
8365
|
+
function deriveGetSiteKey(params) {
|
|
8366
|
+
const identity = selectSiteRuntimeIdentity(params);
|
|
8367
|
+
if (identity === null) return {
|
|
8368
|
+
ok: false,
|
|
8369
|
+
error: {
|
|
8370
|
+
kind: "missing_site_identity",
|
|
8371
|
+
acceptedParams: [
|
|
8372
|
+
"slug",
|
|
8373
|
+
"domain",
|
|
8374
|
+
"id"
|
|
8375
|
+
]
|
|
8376
|
+
}
|
|
8377
|
+
};
|
|
8378
|
+
const normalizedParams = {
|
|
8379
|
+
...identity,
|
|
8380
|
+
currentPath: normalizeRuntimePublicPath(params.currentPath)
|
|
8381
|
+
};
|
|
8382
|
+
return {
|
|
8383
|
+
ok: true,
|
|
8384
|
+
endpoint: "getSite",
|
|
8385
|
+
key: buildPublishedRuntimeCacheKey("getSite", normalizedParams),
|
|
8386
|
+
normalizedParams
|
|
8387
|
+
};
|
|
8388
|
+
}
|
|
8389
|
+
function deriveGetContentByPathKey(params) {
|
|
8390
|
+
const siteId = toNonEmptyString(params.siteId);
|
|
8391
|
+
if (siteId === null) return {
|
|
8392
|
+
ok: false,
|
|
8393
|
+
error: {
|
|
8394
|
+
kind: "missing_required_param",
|
|
8395
|
+
endpoint: "getContentByPath",
|
|
8396
|
+
param: "siteId"
|
|
8397
|
+
}
|
|
8398
|
+
};
|
|
8399
|
+
const normalizedParams = {
|
|
8400
|
+
siteId: normalizeScalar(siteId),
|
|
8401
|
+
path: normalizeRuntimePublicPath(params.path),
|
|
8402
|
+
contentContract: "native"
|
|
8403
|
+
};
|
|
8404
|
+
return {
|
|
8405
|
+
ok: true,
|
|
8406
|
+
endpoint: "getContentByPath",
|
|
8407
|
+
key: buildPublishedRuntimeCacheKey("getContentByPath", normalizedParams),
|
|
8408
|
+
normalizedParams
|
|
8409
|
+
};
|
|
8410
|
+
}
|
|
8411
|
+
function deriveDurableRuntimeCacheKey(input) {
|
|
8412
|
+
switch (input.endpoint) {
|
|
8413
|
+
case "getSite": return deriveGetSiteKey(input.params);
|
|
8414
|
+
case "getContentByPath": return deriveGetContentByPathKey(input.params);
|
|
8415
|
+
}
|
|
8416
|
+
}
|
|
8417
|
+
function isPublishedRuntimeCacheKeyEndpoint(value) {
|
|
8418
|
+
return value === "getSite" || value === "getContentByPath";
|
|
8419
|
+
}
|
|
8420
|
+
function parsePublishedRuntimeCacheKey(value) {
|
|
8421
|
+
const details = parsePublishedRuntimeCacheKeyDetails(value);
|
|
8422
|
+
if (!details.ok) return details;
|
|
8423
|
+
return {
|
|
8424
|
+
ok: true,
|
|
8425
|
+
key: details.key,
|
|
8426
|
+
endpoint: details.endpoint
|
|
8427
|
+
};
|
|
8428
|
+
}
|
|
8429
|
+
function parsePublishedRuntimeCacheKeyDetails(value) {
|
|
8430
|
+
if (typeof value !== "string") return {
|
|
8431
|
+
ok: false,
|
|
8432
|
+
error: "not_string"
|
|
8433
|
+
};
|
|
8434
|
+
const parts = value.split(":");
|
|
8435
|
+
if (parts[0] !== "published-runtime" || parts[1] !== "v1") return {
|
|
8436
|
+
ok: false,
|
|
8437
|
+
error: "invalid_prefix"
|
|
8438
|
+
};
|
|
8439
|
+
const endpoint = parts[2];
|
|
8440
|
+
if (!isPublishedRuntimeCacheKeyEndpoint(endpoint)) return {
|
|
8441
|
+
ok: false,
|
|
8442
|
+
error: "unknown_endpoint"
|
|
8443
|
+
};
|
|
8444
|
+
const normalizedParams = {};
|
|
8445
|
+
for (const part of parts.slice(3)) {
|
|
8446
|
+
const separatorIndex = part.indexOf("=");
|
|
8447
|
+
if (separatorIndex <= 0) return {
|
|
8448
|
+
ok: false,
|
|
8449
|
+
error: "invalid_param_encoding"
|
|
8450
|
+
};
|
|
8451
|
+
try {
|
|
8452
|
+
const key = decodeURIComponent(part.slice(0, separatorIndex));
|
|
8453
|
+
normalizedParams[key] = decodeURIComponent(part.slice(separatorIndex + 1));
|
|
8454
|
+
} catch {
|
|
8455
|
+
return {
|
|
8456
|
+
ok: false,
|
|
8457
|
+
error: "invalid_param_encoding"
|
|
8458
|
+
};
|
|
8459
|
+
}
|
|
8460
|
+
}
|
|
8461
|
+
if (!hasExpectedPublishedRuntimeCacheKeyParams(endpoint, normalizedParams)) return {
|
|
8462
|
+
ok: false,
|
|
8463
|
+
error: "invalid_param_encoding"
|
|
8464
|
+
};
|
|
8465
|
+
return {
|
|
8466
|
+
ok: true,
|
|
8467
|
+
key: unsafeAsPublishedRuntimeCacheKey(value),
|
|
8468
|
+
endpoint,
|
|
8469
|
+
normalizedParams
|
|
8470
|
+
};
|
|
8471
|
+
}
|
|
8472
|
+
function hasExpectedPublishedRuntimeCacheKeyParams(endpoint, normalizedParams) {
|
|
8473
|
+
const keys = Object.keys(normalizedParams).sort();
|
|
8474
|
+
switch (endpoint) {
|
|
8475
|
+
case "getSite": return [
|
|
8476
|
+
"domain",
|
|
8477
|
+
"id",
|
|
8478
|
+
"slug"
|
|
8479
|
+
].filter((key) => normalizedParams[key] !== void 0).length === 1 && normalizedParams.currentPath !== void 0 && keys.every((key) => [
|
|
8480
|
+
"currentPath",
|
|
8481
|
+
"domain",
|
|
8482
|
+
"id",
|
|
8483
|
+
"slug"
|
|
8484
|
+
].includes(key));
|
|
8485
|
+
case "getContentByPath": return normalizedParams.path !== void 0 && normalizedParams.siteId !== void 0 && normalizedParams.contentContract === "native" && keys.every((key) => [
|
|
8486
|
+
"contentContract",
|
|
8487
|
+
"path",
|
|
8488
|
+
"siteId"
|
|
8489
|
+
].includes(key));
|
|
8490
|
+
}
|
|
8491
|
+
}
|
|
8492
|
+
function parsePublishedRuntimeCachePayloadSchemaVersion(value) {
|
|
8493
|
+
if (typeof value !== "number") return {
|
|
8494
|
+
ok: false,
|
|
8495
|
+
error: "not_number"
|
|
8496
|
+
};
|
|
8497
|
+
if (!Number.isInteger(value)) return {
|
|
8498
|
+
ok: false,
|
|
8499
|
+
error: "not_integer"
|
|
8500
|
+
};
|
|
8501
|
+
if (value <= 0) return {
|
|
8502
|
+
ok: false,
|
|
8503
|
+
error: "not_positive"
|
|
8504
|
+
};
|
|
8505
|
+
return {
|
|
8506
|
+
ok: true,
|
|
8507
|
+
value
|
|
8508
|
+
};
|
|
8271
8509
|
}
|
|
8272
8510
|
//#endregion
|
|
8273
8511
|
//#region src/client/runtimeCachePolicy.ts
|
|
8274
|
-
const DEFAULT_PUBLISHED_RUNTIME_CACHE_PAYLOAD_SCHEMA_VERSION = 1;
|
|
8275
8512
|
const DEFAULT_STALE_TTL_SEC = 1440 * 60;
|
|
8276
8513
|
const DEFAULT_MEMORY_TTL_SEC = 60;
|
|
8277
8514
|
const RUNTIME_CACHE_DURABILITY_OVERRIDES = {
|
|
@@ -8327,10 +8564,6 @@ const RUNTIME_CACHE_DURABILITY_OVERRIDES = {
|
|
|
8327
8564
|
kind: "live-only",
|
|
8328
8565
|
reason: "opaque_batch_loader"
|
|
8329
8566
|
},
|
|
8330
|
-
listPublicCourses: {
|
|
8331
|
-
kind: "memory-only",
|
|
8332
|
-
reason: "durable_rollout_pending"
|
|
8333
|
-
},
|
|
8334
8567
|
listPublicTeamMembers: {
|
|
8335
8568
|
kind: "memory-only",
|
|
8336
8569
|
reason: "durable_rollout_pending"
|
|
@@ -8347,10 +8580,6 @@ const RUNTIME_CACHE_DURABILITY_OVERRIDES = {
|
|
|
8347
8580
|
kind: "live-only",
|
|
8348
8581
|
reason: "safety_sensitive_booking"
|
|
8349
8582
|
},
|
|
8350
|
-
resolveEntrySubroute: {
|
|
8351
|
-
kind: "memory-only",
|
|
8352
|
-
reason: "durable_rollout_pending"
|
|
8353
|
-
},
|
|
8354
8583
|
resolveEventOccurrence: {
|
|
8355
8584
|
kind: "memory-only",
|
|
8356
8585
|
reason: "durable_rollout_pending"
|
|
@@ -8381,250 +8610,71 @@ function isTruthyParam(value) {
|
|
|
8381
8610
|
}
|
|
8382
8611
|
function isPreviewRequest(endpoint, params) {
|
|
8383
8612
|
if (endpoint === "getContentByPath") return isTruthyParam(params.preview);
|
|
8384
|
-
if (endpoint === "listPublishedEntries" || endpoint === "
|
|
8385
|
-
return false;
|
|
8386
|
-
}
|
|
8387
|
-
function getEndpointFreshTtlSec(endpoint) {
|
|
8388
|
-
return API_ENDPOINTS[endpoint].revalidate ?? DEFAULT_MEMORY_TTL_SEC;
|
|
8389
|
-
}
|
|
8390
|
-
function assertNever(value) {
|
|
8391
|
-
throw new Error(`Unhandled runtime cache policy override: ${String(value)}`);
|
|
8392
|
-
}
|
|
8393
|
-
function resolveKnownEndpointPolicy(endpoint, params) {
|
|
8394
|
-
if (isPreviewRequest(endpoint, params)) return {
|
|
8395
|
-
kind: "live-only",
|
|
8396
|
-
endpoint,
|
|
8397
|
-
reason: "preview_request"
|
|
8398
|
-
};
|
|
8399
|
-
if (endpoint === "getSite" && isTruthyParam(params.force)) return {
|
|
8400
|
-
kind: "live-only",
|
|
8401
|
-
endpoint,
|
|
8402
|
-
reason: "force_refresh"
|
|
8403
|
-
};
|
|
8404
|
-
const override = RUNTIME_CACHE_DURABILITY_OVERRIDES[endpoint];
|
|
8405
|
-
if (override.kind === "live-only") return {
|
|
8406
|
-
kind: "live-only",
|
|
8407
|
-
endpoint,
|
|
8408
|
-
reason: override.reason
|
|
8409
|
-
};
|
|
8410
|
-
const endpointDefinition = API_ENDPOINTS[endpoint];
|
|
8411
|
-
if (endpointDefinition.method !== "GET") return {
|
|
8412
|
-
kind: "live-only",
|
|
8413
|
-
endpoint,
|
|
8414
|
-
reason: "non_get_request"
|
|
8415
|
-
};
|
|
8416
|
-
if (endpointDefinition.auth === "user") return {
|
|
8417
|
-
kind: "live-only",
|
|
8418
|
-
endpoint,
|
|
8419
|
-
reason: "auth_required"
|
|
8420
|
-
};
|
|
8421
|
-
switch (override.kind) {
|
|
8422
|
-
case "durable-public-stale": return {
|
|
8423
|
-
kind: "durable-public-stale",
|
|
8424
|
-
endpoint,
|
|
8425
|
-
freshTtlSec: getEndpointFreshTtlSec(endpoint),
|
|
8426
|
-
staleTtlSec: override.staleTtlSec
|
|
8427
|
-
};
|
|
8428
|
-
case "memory-only": return {
|
|
8429
|
-
kind: "memory-only",
|
|
8430
|
-
endpoint,
|
|
8431
|
-
freshTtlSec: getEndpointFreshTtlSec(endpoint),
|
|
8432
|
-
reason: override.reason
|
|
8433
|
-
};
|
|
8434
|
-
default: return assertNever(override);
|
|
8435
|
-
}
|
|
8436
|
-
}
|
|
8437
|
-
function resolveRuntimeCachePolicy(input) {
|
|
8438
|
-
if (input.method && input.method.toUpperCase() !== "GET") return {
|
|
8439
|
-
kind: "live-only",
|
|
8440
|
-
endpoint: input.endpoint,
|
|
8441
|
-
reason: "non_get_request"
|
|
8442
|
-
};
|
|
8443
|
-
if (!isPublicEndpointName(input.endpoint)) return {
|
|
8444
|
-
kind: "live-only",
|
|
8445
|
-
endpoint: input.endpoint,
|
|
8446
|
-
reason: "unknown_endpoint"
|
|
8447
|
-
};
|
|
8448
|
-
return resolveKnownEndpointPolicy(input.endpoint, input.params ?? {});
|
|
8449
|
-
}
|
|
8450
|
-
function toNonEmptyString(value) {
|
|
8451
|
-
if (value === null || value === void 0) return null;
|
|
8452
|
-
if (typeof value !== "string" && typeof value !== "number" && typeof value !== "boolean") return null;
|
|
8453
|
-
const normalized = String(value).trim();
|
|
8454
|
-
return normalized.length > 0 ? normalized : null;
|
|
8455
|
-
}
|
|
8456
|
-
function normalizeRuntimePublicPath(value) {
|
|
8457
|
-
const withoutQuery = (toNonEmptyString(value) ?? "/").split(/[?#]/, 1)[0] ?? "/";
|
|
8458
|
-
const collapsed = (withoutQuery.startsWith("/") ? withoutQuery : `/${withoutQuery}`).replace(/\/{2,}/g, "/");
|
|
8459
|
-
return (collapsed.length > 1 ? collapsed.replace(/\/+$/g, "") : collapsed) || "/";
|
|
8460
|
-
}
|
|
8461
|
-
function normalizeRuntimeHostname(value) {
|
|
8462
|
-
const trimmed = value.trim().toLowerCase();
|
|
8463
|
-
return (/^[a-z][a-z0-9+.-]*:\/\//.test(trimmed) ? new URL(trimmed) : new URL(`http://${trimmed}`)).hostname.replace(/\.$/, "");
|
|
8464
|
-
}
|
|
8465
|
-
function normalizeScalar(value) {
|
|
8466
|
-
return value.trim().toLowerCase();
|
|
8467
|
-
}
|
|
8468
|
-
function encodeKeyPart(key, value) {
|
|
8469
|
-
return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;
|
|
8470
|
-
}
|
|
8471
|
-
function unsafeAsPublishedRuntimeCacheKey(value) {
|
|
8472
|
-
return value;
|
|
8473
|
-
}
|
|
8474
|
-
function buildPublishedRuntimeCacheKey(endpoint, normalizedParams) {
|
|
8475
|
-
return unsafeAsPublishedRuntimeCacheKey(`published-runtime:v1:${endpoint}:${Object.entries(normalizedParams).sort(([left], [right]) => left.localeCompare(right)).map(([key, value]) => encodeKeyPart(key, value)).join(":")}`);
|
|
8476
|
-
}
|
|
8477
|
-
function selectSiteRuntimeIdentity(params) {
|
|
8478
|
-
const slug = toNonEmptyString(params.slug);
|
|
8479
|
-
if (slug !== null) return { slug: normalizeScalar(slug) };
|
|
8480
|
-
const domain = toNonEmptyString(params.domain);
|
|
8481
|
-
if (domain !== null) return { domain: normalizeRuntimeHostname(domain) };
|
|
8482
|
-
const id = toNonEmptyString(params.id);
|
|
8483
|
-
if (id !== null) return { id: normalizeScalar(id) };
|
|
8484
|
-
return null;
|
|
8485
|
-
}
|
|
8486
|
-
function deriveGetSiteKey(params) {
|
|
8487
|
-
const identity = selectSiteRuntimeIdentity(params);
|
|
8488
|
-
if (identity === null) return {
|
|
8489
|
-
ok: false,
|
|
8490
|
-
error: {
|
|
8491
|
-
kind: "missing_site_identity",
|
|
8492
|
-
acceptedParams: [
|
|
8493
|
-
"slug",
|
|
8494
|
-
"domain",
|
|
8495
|
-
"id"
|
|
8496
|
-
]
|
|
8497
|
-
}
|
|
8498
|
-
};
|
|
8499
|
-
const normalizedParams = {
|
|
8500
|
-
...identity,
|
|
8501
|
-
currentPath: normalizeRuntimePublicPath(params.currentPath)
|
|
8502
|
-
};
|
|
8503
|
-
return {
|
|
8504
|
-
ok: true,
|
|
8505
|
-
endpoint: "getSite",
|
|
8506
|
-
key: buildPublishedRuntimeCacheKey("getSite", normalizedParams),
|
|
8507
|
-
normalizedParams
|
|
8508
|
-
};
|
|
8509
|
-
}
|
|
8510
|
-
function deriveGetContentByPathKey(params) {
|
|
8511
|
-
const siteId = toNonEmptyString(params.siteId);
|
|
8512
|
-
if (siteId === null) return {
|
|
8513
|
-
ok: false,
|
|
8514
|
-
error: {
|
|
8515
|
-
kind: "missing_required_param",
|
|
8516
|
-
endpoint: "getContentByPath",
|
|
8517
|
-
param: "siteId"
|
|
8518
|
-
}
|
|
8519
|
-
};
|
|
8520
|
-
const normalizedParams = {
|
|
8521
|
-
siteId: normalizeScalar(siteId),
|
|
8522
|
-
path: normalizeRuntimePublicPath(params.path),
|
|
8523
|
-
...params.contentContract === "native" ? { contentContract: "native" } : {}
|
|
8524
|
-
};
|
|
8525
|
-
return {
|
|
8526
|
-
ok: true,
|
|
8527
|
-
endpoint: "getContentByPath",
|
|
8528
|
-
key: buildPublishedRuntimeCacheKey("getContentByPath", normalizedParams),
|
|
8529
|
-
normalizedParams
|
|
8530
|
-
};
|
|
8613
|
+
if (endpoint === "listPublishedEntries" || endpoint === "resolveEventOccurrence") return params.stage === "preview";
|
|
8614
|
+
return false;
|
|
8531
8615
|
}
|
|
8532
|
-
|
|
8533
|
-
|
|
8534
|
-
getContentByPath: deriveGetContentByPathKey
|
|
8535
|
-
};
|
|
8536
|
-
function isPublishedRuntimeCacheKeyEndpoint(value) {
|
|
8537
|
-
return typeof value === "string" && Object.prototype.hasOwnProperty.call(DURABLE_RUNTIME_CACHE_KEY_DERIVERS, value);
|
|
8616
|
+
function getEndpointFreshTtlSec(endpoint) {
|
|
8617
|
+
return API_ENDPOINTS[endpoint].revalidate ?? DEFAULT_MEMORY_TTL_SEC;
|
|
8538
8618
|
}
|
|
8539
|
-
function
|
|
8540
|
-
|
|
8541
|
-
if (!details.ok) return details;
|
|
8542
|
-
return {
|
|
8543
|
-
ok: true,
|
|
8544
|
-
key: details.key,
|
|
8545
|
-
endpoint: details.endpoint
|
|
8546
|
-
};
|
|
8619
|
+
function assertNever(value) {
|
|
8620
|
+
throw new Error(`Unhandled runtime cache policy override: ${String(value)}`);
|
|
8547
8621
|
}
|
|
8548
|
-
function
|
|
8549
|
-
if (
|
|
8550
|
-
|
|
8551
|
-
|
|
8622
|
+
function resolveKnownEndpointPolicy(endpoint, params) {
|
|
8623
|
+
if (isPreviewRequest(endpoint, params)) return {
|
|
8624
|
+
kind: "live-only",
|
|
8625
|
+
endpoint,
|
|
8626
|
+
reason: "preview_request"
|
|
8552
8627
|
};
|
|
8553
|
-
|
|
8554
|
-
|
|
8555
|
-
|
|
8556
|
-
|
|
8628
|
+
if (endpoint === "getSite" && isTruthyParam(params.force)) return {
|
|
8629
|
+
kind: "live-only",
|
|
8630
|
+
endpoint,
|
|
8631
|
+
reason: "force_refresh"
|
|
8557
8632
|
};
|
|
8558
|
-
const
|
|
8559
|
-
if (
|
|
8560
|
-
|
|
8561
|
-
|
|
8633
|
+
const override = RUNTIME_CACHE_DURABILITY_OVERRIDES[endpoint];
|
|
8634
|
+
if (override.kind === "live-only") return {
|
|
8635
|
+
kind: "live-only",
|
|
8636
|
+
endpoint,
|
|
8637
|
+
reason: override.reason
|
|
8562
8638
|
};
|
|
8563
|
-
const
|
|
8564
|
-
|
|
8565
|
-
|
|
8566
|
-
|
|
8567
|
-
|
|
8568
|
-
error: "invalid_param_encoding"
|
|
8569
|
-
};
|
|
8570
|
-
try {
|
|
8571
|
-
const key = decodeURIComponent(part.slice(0, separatorIndex));
|
|
8572
|
-
normalizedParams[key] = decodeURIComponent(part.slice(separatorIndex + 1));
|
|
8573
|
-
} catch {
|
|
8574
|
-
return {
|
|
8575
|
-
ok: false,
|
|
8576
|
-
error: "invalid_param_encoding"
|
|
8577
|
-
};
|
|
8578
|
-
}
|
|
8579
|
-
}
|
|
8580
|
-
if (!hasExpectedPublishedRuntimeCacheKeyParams(endpoint, normalizedParams)) return {
|
|
8581
|
-
ok: false,
|
|
8582
|
-
error: "invalid_param_encoding"
|
|
8639
|
+
const endpointDefinition = API_ENDPOINTS[endpoint];
|
|
8640
|
+
if (endpointDefinition.method !== "GET") return {
|
|
8641
|
+
kind: "live-only",
|
|
8642
|
+
endpoint,
|
|
8643
|
+
reason: "non_get_request"
|
|
8583
8644
|
};
|
|
8584
|
-
return {
|
|
8585
|
-
|
|
8586
|
-
key: unsafeAsPublishedRuntimeCacheKey(value),
|
|
8645
|
+
if (endpointDefinition.auth === "user") return {
|
|
8646
|
+
kind: "live-only",
|
|
8587
8647
|
endpoint,
|
|
8588
|
-
|
|
8648
|
+
reason: "auth_required"
|
|
8589
8649
|
};
|
|
8590
|
-
|
|
8591
|
-
|
|
8592
|
-
|
|
8593
|
-
|
|
8594
|
-
|
|
8595
|
-
|
|
8596
|
-
|
|
8597
|
-
|
|
8598
|
-
|
|
8599
|
-
|
|
8600
|
-
|
|
8601
|
-
|
|
8602
|
-
|
|
8603
|
-
|
|
8604
|
-
case "getContentByPath": return normalizedParams.path !== void 0 && normalizedParams.siteId !== void 0 && (normalizedParams.contentContract === void 0 || normalizedParams.contentContract === "native") && keys.every((key) => [
|
|
8605
|
-
"contentContract",
|
|
8606
|
-
"path",
|
|
8607
|
-
"siteId"
|
|
8608
|
-
].includes(key));
|
|
8650
|
+
switch (override.kind) {
|
|
8651
|
+
case "durable-public-stale": return {
|
|
8652
|
+
kind: "durable-public-stale",
|
|
8653
|
+
endpoint,
|
|
8654
|
+
freshTtlSec: getEndpointFreshTtlSec(endpoint),
|
|
8655
|
+
staleTtlSec: override.staleTtlSec
|
|
8656
|
+
};
|
|
8657
|
+
case "memory-only": return {
|
|
8658
|
+
kind: "memory-only",
|
|
8659
|
+
endpoint,
|
|
8660
|
+
freshTtlSec: getEndpointFreshTtlSec(endpoint),
|
|
8661
|
+
reason: override.reason
|
|
8662
|
+
};
|
|
8663
|
+
default: return assertNever(override);
|
|
8609
8664
|
}
|
|
8610
8665
|
}
|
|
8611
|
-
function
|
|
8612
|
-
if (
|
|
8613
|
-
|
|
8614
|
-
|
|
8615
|
-
|
|
8616
|
-
if (!Number.isInteger(value)) return {
|
|
8617
|
-
ok: false,
|
|
8618
|
-
error: "not_integer"
|
|
8619
|
-
};
|
|
8620
|
-
if (value <= 0) return {
|
|
8621
|
-
ok: false,
|
|
8622
|
-
error: "not_positive"
|
|
8666
|
+
function resolveRuntimeCachePolicy(input) {
|
|
8667
|
+
if (input.method && input.method.toUpperCase() !== "GET") return {
|
|
8668
|
+
kind: "live-only",
|
|
8669
|
+
endpoint: input.endpoint,
|
|
8670
|
+
reason: "non_get_request"
|
|
8623
8671
|
};
|
|
8624
|
-
return {
|
|
8625
|
-
|
|
8626
|
-
|
|
8672
|
+
if (!isPublicEndpointName(input.endpoint)) return {
|
|
8673
|
+
kind: "live-only",
|
|
8674
|
+
endpoint: input.endpoint,
|
|
8675
|
+
reason: "unknown_endpoint"
|
|
8627
8676
|
};
|
|
8677
|
+
return resolveKnownEndpointPolicy(input.endpoint, input.params ?? {});
|
|
8628
8678
|
}
|
|
8629
8679
|
function classifyPublishedRuntimeCacheFreshness(input) {
|
|
8630
8680
|
const freshUntilMs = Date.parse(input.freshUntil);
|
|
@@ -8661,10 +8711,96 @@ function derivePublishedRuntimeCacheKey(input) {
|
|
|
8661
8711
|
policy
|
|
8662
8712
|
}
|
|
8663
8713
|
};
|
|
8664
|
-
|
|
8665
|
-
|
|
8666
|
-
|
|
8667
|
-
|
|
8714
|
+
return deriveDurableRuntimeCacheKey(input);
|
|
8715
|
+
}
|
|
8716
|
+
//#endregion
|
|
8717
|
+
//#region src/client/contentReadOperations.ts
|
|
8718
|
+
function planPublishedRuntimeCache(input) {
|
|
8719
|
+
const policy = resolveRuntimeCachePolicy({
|
|
8720
|
+
endpoint: input.endpoint,
|
|
8721
|
+
method: "GET",
|
|
8722
|
+
params: input.params
|
|
8723
|
+
});
|
|
8724
|
+
if (policy.kind !== "durable-public-stale") return null;
|
|
8725
|
+
const keyResult = derivePublishedRuntimeCacheKey(input);
|
|
8726
|
+
if (!keyResult.ok) return null;
|
|
8727
|
+
return {
|
|
8728
|
+
cacheKey: keyResult.key,
|
|
8729
|
+
endpoint: keyResult.endpoint,
|
|
8730
|
+
normalizedParams: keyResult.normalizedParams,
|
|
8731
|
+
freshTtlSec: policy.freshTtlSec,
|
|
8732
|
+
staleTtlSec: policy.staleTtlSec,
|
|
8733
|
+
siteId: input.siteId ?? null
|
|
8734
|
+
};
|
|
8735
|
+
}
|
|
8736
|
+
function createContentReadOperations(input) {
|
|
8737
|
+
return {
|
|
8738
|
+
async getSiteWithResilience(params) {
|
|
8739
|
+
const { slug, domain, id, signal, force, currentPath } = params;
|
|
8740
|
+
if (!slug && !domain && !id) throw new Error(`getSite() requires at least one identifier: slug, domain, or id. Received: ${JSON.stringify(params)}`);
|
|
8741
|
+
const siteIdentifier = slug || domain || id;
|
|
8742
|
+
const siteId = id || slug || domain;
|
|
8743
|
+
const publishedRuntimeCache = planPublishedRuntimeCache({
|
|
8744
|
+
endpoint: "getSite",
|
|
8745
|
+
params: {
|
|
8746
|
+
slug,
|
|
8747
|
+
domain,
|
|
8748
|
+
id,
|
|
8749
|
+
currentPath,
|
|
8750
|
+
force
|
|
8751
|
+
}
|
|
8752
|
+
});
|
|
8753
|
+
const cacheKey = publishedRuntimeCache?.cacheKey ?? `site:${siteIdentifier ?? "unknown"}:${currentPath ?? ""}`;
|
|
8754
|
+
return input.resilientFetch(cacheKey, async (requestSignal) => {
|
|
8755
|
+
const apiParams = {};
|
|
8756
|
+
if (slug) apiParams.slug = slug;
|
|
8757
|
+
if (domain) apiParams.domain = domain;
|
|
8758
|
+
if (id) apiParams.id = id;
|
|
8759
|
+
if (currentPath) apiParams.currentPath = currentPath;
|
|
8760
|
+
if (force) apiParams.force = "true";
|
|
8761
|
+
return input.apiClient({
|
|
8762
|
+
endpoint: "getSite",
|
|
8763
|
+
params: apiParams,
|
|
8764
|
+
options: {
|
|
8765
|
+
signal: requestSignal,
|
|
8766
|
+
...force ? { cache: "no-store" } : {}
|
|
8767
|
+
}
|
|
8768
|
+
});
|
|
8769
|
+
}, {
|
|
8770
|
+
signal,
|
|
8771
|
+
force,
|
|
8772
|
+
publishedRuntimeCache,
|
|
8773
|
+
prebuildFallback: input.prebuildLoader && siteId ? () => input.prebuildLoader?.loadSite(siteId) ?? null : void 0
|
|
8774
|
+
});
|
|
8775
|
+
},
|
|
8776
|
+
async getPageWithResilience(params) {
|
|
8777
|
+
const { siteId, path, preview = false, signal } = params;
|
|
8778
|
+
const publishedRuntimeCache = planPublishedRuntimeCache({
|
|
8779
|
+
endpoint: "getContentByPath",
|
|
8780
|
+
params: {
|
|
8781
|
+
siteId,
|
|
8782
|
+
path,
|
|
8783
|
+
preview
|
|
8784
|
+
},
|
|
8785
|
+
siteId
|
|
8786
|
+
});
|
|
8787
|
+
const cacheKey = publishedRuntimeCache?.cacheKey ?? `page:${siteId}:${path}:${preview}`;
|
|
8788
|
+
return input.resilientFetch(cacheKey, (requestSignal) => input.apiClient({
|
|
8789
|
+
endpoint: "getContentByPath",
|
|
8790
|
+
params: {
|
|
8791
|
+
siteId,
|
|
8792
|
+
path,
|
|
8793
|
+
preview: String(preview)
|
|
8794
|
+
},
|
|
8795
|
+
options: { signal: requestSignal }
|
|
8796
|
+
}), {
|
|
8797
|
+
preview,
|
|
8798
|
+
signal,
|
|
8799
|
+
publishedRuntimeCache,
|
|
8800
|
+
prebuildFallback: void 0
|
|
8801
|
+
});
|
|
8802
|
+
}
|
|
8803
|
+
};
|
|
8668
8804
|
}
|
|
8669
8805
|
//#endregion
|
|
8670
8806
|
//#region src/client/resilience.ts
|
|
@@ -9023,24 +9159,6 @@ function getRiverbankErrorInfo(error) {
|
|
|
9023
9159
|
if (error instanceof Error) return { message: error.message };
|
|
9024
9160
|
return { message: String(error) };
|
|
9025
9161
|
}
|
|
9026
|
-
function planPublishedRuntimeCache(input) {
|
|
9027
|
-
const policy = resolveRuntimeCachePolicy({
|
|
9028
|
-
endpoint: input.endpoint,
|
|
9029
|
-
method: "GET",
|
|
9030
|
-
params: input.params
|
|
9031
|
-
});
|
|
9032
|
-
if (policy.kind !== "durable-public-stale") return null;
|
|
9033
|
-
const keyResult = derivePublishedRuntimeCacheKey(input);
|
|
9034
|
-
if (!keyResult.ok) return null;
|
|
9035
|
-
return {
|
|
9036
|
-
cacheKey: keyResult.key,
|
|
9037
|
-
endpoint: keyResult.endpoint,
|
|
9038
|
-
normalizedParams: keyResult.normalizedParams,
|
|
9039
|
-
freshTtlSec: policy.freshTtlSec,
|
|
9040
|
-
staleTtlSec: policy.staleTtlSec,
|
|
9041
|
-
siteId: input.siteId ?? null
|
|
9042
|
-
};
|
|
9043
|
-
}
|
|
9044
9162
|
function normalizeEntryIdentifierRefs(identifiers) {
|
|
9045
9163
|
const trimmed = identifiers.map((identifier) => identifier.trim()).filter((identifier) => identifier.length > 0);
|
|
9046
9164
|
if (trimmed.length === 0) return { kind: "empty" };
|
|
@@ -9486,89 +9604,11 @@ function createRiverbankClientWithDeps(deps, config) {
|
|
|
9486
9604
|
}
|
|
9487
9605
|
return controller.signal;
|
|
9488
9606
|
}
|
|
9489
|
-
|
|
9490
|
-
|
|
9491
|
-
|
|
9492
|
-
|
|
9493
|
-
|
|
9494
|
-
params: {
|
|
9495
|
-
siteId,
|
|
9496
|
-
entryId,
|
|
9497
|
-
kind,
|
|
9498
|
-
segment,
|
|
9499
|
-
...stage ? { stage } : {}
|
|
9500
|
-
},
|
|
9501
|
-
options: { signal: sig }
|
|
9502
|
-
});
|
|
9503
|
-
}, { signal });
|
|
9504
|
-
}
|
|
9505
|
-
async function getSiteWithResilienceInternal(params) {
|
|
9506
|
-
const { slug, domain, id, signal, force, currentPath } = params;
|
|
9507
|
-
if (!slug && !domain && !id) throw new Error(`getSite() requires at least one identifier: slug, domain, or id. Received: ${JSON.stringify(params)}`);
|
|
9508
|
-
const siteIdentifier = slug || domain || id;
|
|
9509
|
-
const siteId = id || slug || domain;
|
|
9510
|
-
const publishedRuntimeCache = planPublishedRuntimeCache({
|
|
9511
|
-
endpoint: "getSite",
|
|
9512
|
-
params: {
|
|
9513
|
-
slug,
|
|
9514
|
-
domain,
|
|
9515
|
-
id,
|
|
9516
|
-
currentPath,
|
|
9517
|
-
force
|
|
9518
|
-
}
|
|
9519
|
-
});
|
|
9520
|
-
return resilientFetch(publishedRuntimeCache?.cacheKey ?? `site:${siteIdentifier ?? "unknown"}:${currentPath ?? ""}`, async (sig) => {
|
|
9521
|
-
const apiParams = {};
|
|
9522
|
-
if (params.slug) apiParams.slug = params.slug;
|
|
9523
|
-
if (params.domain) apiParams.domain = params.domain;
|
|
9524
|
-
if (params.id) apiParams.id = params.id;
|
|
9525
|
-
if (currentPath) apiParams.currentPath = currentPath;
|
|
9526
|
-
if (force) apiParams.force = "true";
|
|
9527
|
-
return await apiClient({
|
|
9528
|
-
endpoint: "getSite",
|
|
9529
|
-
params: apiParams,
|
|
9530
|
-
options: {
|
|
9531
|
-
signal: sig,
|
|
9532
|
-
...force ? { cache: "no-store" } : {}
|
|
9533
|
-
}
|
|
9534
|
-
});
|
|
9535
|
-
}, {
|
|
9536
|
-
signal,
|
|
9537
|
-
force,
|
|
9538
|
-
publishedRuntimeCache,
|
|
9539
|
-
prebuildFallback: prebuildLoader && siteId ? () => prebuildLoader.loadSite(siteId) : void 0
|
|
9540
|
-
});
|
|
9541
|
-
}
|
|
9542
|
-
async function getPageWithResilienceInternal(params) {
|
|
9543
|
-
const { siteId, path, preview = false, signal, contentContract = "compat" } = params;
|
|
9544
|
-
const publishedRuntimeCache = planPublishedRuntimeCache({
|
|
9545
|
-
endpoint: "getContentByPath",
|
|
9546
|
-
params: {
|
|
9547
|
-
siteId,
|
|
9548
|
-
path,
|
|
9549
|
-
preview,
|
|
9550
|
-
contentContract
|
|
9551
|
-
},
|
|
9552
|
-
siteId
|
|
9553
|
-
});
|
|
9554
|
-
return resilientFetch(publishedRuntimeCache?.cacheKey ?? `page:${siteId}:${path}:${preview}:${contentContract}`, async (sig) => {
|
|
9555
|
-
return await apiClient({
|
|
9556
|
-
endpoint: "getContentByPath",
|
|
9557
|
-
params: {
|
|
9558
|
-
siteId,
|
|
9559
|
-
path,
|
|
9560
|
-
preview: String(preview),
|
|
9561
|
-
...contentContract === "native" ? { contentContract } : {}
|
|
9562
|
-
},
|
|
9563
|
-
options: { signal: sig }
|
|
9564
|
-
});
|
|
9565
|
-
}, {
|
|
9566
|
-
preview,
|
|
9567
|
-
signal,
|
|
9568
|
-
publishedRuntimeCache,
|
|
9569
|
-
prebuildFallback: prebuildLoader && !preview && contentContract !== "native" ? () => prebuildLoader.loadPage(siteId, path) : void 0
|
|
9570
|
-
});
|
|
9571
|
-
}
|
|
9607
|
+
const contentReads = createContentReadOperations({
|
|
9608
|
+
apiClient,
|
|
9609
|
+
resilientFetch,
|
|
9610
|
+
prebuildLoader
|
|
9611
|
+
});
|
|
9572
9612
|
async function getEntriesInternal(params) {
|
|
9573
9613
|
const { siteId, contentType, limit, offset, order, preview = false, mode, entryIds, includeMeta, signal } = params;
|
|
9574
9614
|
const entryIdsCacheKey = mode === "manual" && entryIds?.length ? entryIds.join(",") : "";
|
|
@@ -9603,16 +9643,16 @@ function createRiverbankClientWithDeps(deps, config) {
|
|
|
9603
9643
|
}
|
|
9604
9644
|
return {
|
|
9605
9645
|
async getSite(params) {
|
|
9606
|
-
return (await
|
|
9646
|
+
return (await contentReads.getSiteWithResilience(params)).data;
|
|
9607
9647
|
},
|
|
9608
9648
|
async getSiteWithResilience(params) {
|
|
9609
|
-
return
|
|
9649
|
+
return contentReads.getSiteWithResilience(params);
|
|
9610
9650
|
},
|
|
9611
9651
|
async getPage(params) {
|
|
9612
|
-
return (await
|
|
9652
|
+
return (await contentReads.getPageWithResilience(params)).data;
|
|
9613
9653
|
},
|
|
9614
9654
|
async getPageWithResilience(params) {
|
|
9615
|
-
return
|
|
9655
|
+
return contentReads.getPageWithResilience(params);
|
|
9616
9656
|
},
|
|
9617
9657
|
async getEntries(params) {
|
|
9618
9658
|
return getEntriesInternal(params);
|
|
@@ -9728,9 +9768,9 @@ function createRiverbankClientWithDeps(deps, config) {
|
|
|
9728
9768
|
}, { signal });
|
|
9729
9769
|
},
|
|
9730
9770
|
async listPublicEvents(params) {
|
|
9731
|
-
const { siteId, limit, from, to, afterStartsAt, afterId, stage, categoryIds, venueId, staffMemberId, kind, eventSurface, eventPresets, scheduleScope, detailLevel, readProfile,
|
|
9771
|
+
const { siteId, limit, from, to, afterStartsAt, afterId, stage, categoryIds, venueId, staffMemberId, kind, eventSurface, eventPresets, scheduleScope, detailLevel, readProfile, seriesId, includeOccurrenceId, signal } = params;
|
|
9732
9772
|
if (!siteId) throw new Error("listPublicEvents() requires siteId");
|
|
9733
|
-
return resilientFetchData(`public-events:${siteId}:${limit ?? ""}:${from ?? ""}:${to ?? ""}:${afterStartsAt ?? ""}:${afterId ?? ""}:${stage ?? ""}:${categoryIds ?? ""}:${venueId ?? ""}:${staffMemberId ?? ""}:${kind ?? ""}:${eventSurface ?? ""}:${eventPresets ?? ""}:${scheduleScope ?? ""}:${detailLevel ?? ""}:${readProfile ?? ""}:${
|
|
9773
|
+
return resilientFetchData(`public-events:${siteId}:${limit ?? ""}:${from ?? ""}:${to ?? ""}:${afterStartsAt ?? ""}:${afterId ?? ""}:${stage ?? ""}:${categoryIds ?? ""}:${venueId ?? ""}:${staffMemberId ?? ""}:${kind ?? ""}:${eventSurface ?? ""}:${eventPresets ?? ""}:${scheduleScope ?? ""}:${detailLevel ?? ""}:${readProfile ?? ""}:${seriesId ?? ""}:${includeOccurrenceId ?? ""}`, async (sig) => {
|
|
9734
9774
|
return await apiClient({
|
|
9735
9775
|
endpoint: "listPublicEvents",
|
|
9736
9776
|
params: {
|
|
@@ -9750,7 +9790,6 @@ function createRiverbankClientWithDeps(deps, config) {
|
|
|
9750
9790
|
...scheduleScope && { scheduleScope },
|
|
9751
9791
|
...detailLevel && { detailLevel },
|
|
9752
9792
|
...readProfile && { readProfile },
|
|
9753
|
-
...entryId && { entryId },
|
|
9754
9793
|
...seriesId && { seriesId },
|
|
9755
9794
|
...includeOccurrenceId && { includeOccurrenceId }
|
|
9756
9795
|
},
|
|
@@ -9759,9 +9798,9 @@ function createRiverbankClientWithDeps(deps, config) {
|
|
|
9759
9798
|
}, { signal });
|
|
9760
9799
|
},
|
|
9761
9800
|
async getPublicEventDetails(params) {
|
|
9762
|
-
const { siteId, limit, from, to, afterStartsAt, afterId, stage, categoryIds, venueId, staffMemberId, kind, eventSurface, eventPresets, scheduleScope,
|
|
9801
|
+
const { siteId, limit, from, to, afterStartsAt, afterId, stage, categoryIds, venueId, staffMemberId, kind, eventSurface, eventPresets, scheduleScope, seriesId, includeOccurrenceId, signal } = params;
|
|
9763
9802
|
if (!siteId) throw new Error("getPublicEventDetails() requires siteId");
|
|
9764
|
-
return resilientFetchData(`public-event-details:${siteId}:${limit ?? ""}:${from ?? ""}:${to ?? ""}:${afterStartsAt ?? ""}:${afterId ?? ""}:${stage ?? ""}:${categoryIds ?? ""}:${venueId ?? ""}:${staffMemberId ?? ""}:${kind ?? ""}:${eventSurface ?? ""}:${eventPresets ?? ""}:${scheduleScope ?? ""}:${
|
|
9803
|
+
return resilientFetchData(`public-event-details:${siteId}:${limit ?? ""}:${from ?? ""}:${to ?? ""}:${afterStartsAt ?? ""}:${afterId ?? ""}:${stage ?? ""}:${categoryIds ?? ""}:${venueId ?? ""}:${staffMemberId ?? ""}:${kind ?? ""}:${eventSurface ?? ""}:${eventPresets ?? ""}:${scheduleScope ?? ""}:${seriesId ?? ""}:${includeOccurrenceId ?? ""}`, async (sig) => {
|
|
9765
9804
|
const requestId = "eventDetails";
|
|
9766
9805
|
return normalizeBatchBlockLoaderResult(await apiClient({
|
|
9767
9806
|
endpoint: "batchBlockLoaders",
|
|
@@ -9785,7 +9824,6 @@ function createRiverbankClientWithDeps(deps, config) {
|
|
|
9785
9824
|
...eventSurface && { eventSurface },
|
|
9786
9825
|
...eventPresets && { eventPresets },
|
|
9787
9826
|
...scheduleScope && { scheduleScope },
|
|
9788
|
-
...entryId && { entryId },
|
|
9789
9827
|
...seriesId && { seriesId },
|
|
9790
9828
|
...includeOccurrenceId && { includeOccurrenceId }
|
|
9791
9829
|
}
|
|
@@ -9794,21 +9832,6 @@ function createRiverbankClientWithDeps(deps, config) {
|
|
|
9794
9832
|
}), requestId);
|
|
9795
9833
|
}, { signal });
|
|
9796
9834
|
},
|
|
9797
|
-
async listPublicCourses(params) {
|
|
9798
|
-
const { siteId, limit, stage, signal } = params;
|
|
9799
|
-
if (!siteId) throw new Error("listPublicCourses() requires siteId");
|
|
9800
|
-
return resilientFetchData(`public-courses:${siteId}:${limit ?? ""}:${stage ?? ""}`, async (sig) => {
|
|
9801
|
-
return await apiClient({
|
|
9802
|
-
endpoint: "listPublicCourses",
|
|
9803
|
-
params: {
|
|
9804
|
-
siteId,
|
|
9805
|
-
...typeof limit === "number" && { limit: String(limit) },
|
|
9806
|
-
...stage && { stage }
|
|
9807
|
-
},
|
|
9808
|
-
options: { signal: sig }
|
|
9809
|
-
});
|
|
9810
|
-
}, { signal });
|
|
9811
|
-
},
|
|
9812
9835
|
async listPublicTeamMembers(params) {
|
|
9813
9836
|
const { siteId, stage, signal } = params;
|
|
9814
9837
|
if (!siteId) throw new Error("listPublicTeamMembers() requires siteId");
|
|
@@ -9867,29 +9890,19 @@ function createRiverbankClientWithDeps(deps, config) {
|
|
|
9867
9890
|
});
|
|
9868
9891
|
}, { signal });
|
|
9869
9892
|
},
|
|
9870
|
-
async resolveEntrySubroute(params) {
|
|
9871
|
-
const { siteId, entryId, kind, segment, stage, signal } = params;
|
|
9872
|
-
if (!siteId || !entryId || !kind || !segment) throw new Error("resolveEntrySubroute() requires siteId, entryId, kind, and segment");
|
|
9873
|
-
return resolveEntrySubrouteInternal({
|
|
9874
|
-
siteId,
|
|
9875
|
-
entryId,
|
|
9876
|
-
kind,
|
|
9877
|
-
segment,
|
|
9878
|
-
stage,
|
|
9879
|
-
signal
|
|
9880
|
-
});
|
|
9881
|
-
},
|
|
9882
9893
|
async resolveEventOccurrence(params) {
|
|
9883
|
-
const { siteId,
|
|
9884
|
-
if (!siteId ||
|
|
9885
|
-
const
|
|
9886
|
-
|
|
9887
|
-
|
|
9888
|
-
|
|
9889
|
-
|
|
9890
|
-
|
|
9891
|
-
|
|
9892
|
-
|
|
9894
|
+
const { siteId, eventSeriesIds, segment, signal } = params;
|
|
9895
|
+
if (!siteId || eventSeriesIds.length === 0 || !segment) throw new Error("resolveEventOccurrence() requires siteId, eventSeriesIds, and segment");
|
|
9896
|
+
const seriesScope = [...new Set(eventSeriesIds)].sort();
|
|
9897
|
+
return resilientFetchData(`event-occurrence:${siteId}:${seriesScope.join(",")}:${segment}`, async (sig) => apiClient({
|
|
9898
|
+
endpoint: "resolveEventOccurrence",
|
|
9899
|
+
params: {
|
|
9900
|
+
siteId,
|
|
9901
|
+
eventSeriesIds: seriesScope.join(","),
|
|
9902
|
+
segment
|
|
9903
|
+
},
|
|
9904
|
+
options: { signal: sig }
|
|
9905
|
+
}), { signal });
|
|
9893
9906
|
},
|
|
9894
9907
|
async checkRedirect(params) {
|
|
9895
9908
|
const { siteId, path, signal } = params;
|
|
@@ -10614,8 +10627,6 @@ const SYSTEM_BLOCK_KINDS = [
|
|
|
10614
10627
|
"block.weekly-slot-availability",
|
|
10615
10628
|
"block.event-registration",
|
|
10616
10629
|
"block.event-details",
|
|
10617
|
-
"block.course-registration",
|
|
10618
|
-
"block.course-details",
|
|
10619
10630
|
"block.event-spotlight",
|
|
10620
10631
|
"block.event-listing",
|
|
10621
10632
|
"block.event-calendar",
|