@riverbankcms/sdk 0.144.0 → 0.146.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/CHANGELOG.md +17 -0
- package/dist/{PreviewEditorSidebar-CQZNnFiM.mjs → PreviewEditorSidebar-kg2r2Fyi.mjs} +4 -4
- package/dist/{PreviewEditorUI-DCNxnmI0.mjs → PreviewEditorUI-sWMLp5dT.mjs} +3 -3
- package/dist/{PreviewQueryProvider-BCYICImX.mjs → PreviewQueryProvider-Cg51xq1w.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-BJolUbr1.mjs → SdkPreviewModeRuntime-h2ti3Hch.mjs} +688 -519
- package/dist/{SiteChromeCustomizeContext-CKgEpoxi.mjs → SiteChromeCustomizeContext-DEACFH9m.mjs} +3381 -2017
- package/dist/_dts/ai/src/contracts/proposals.d.ts +5643 -66
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +513 -6
- package/dist/_dts/api/src/appointmentEndpointDefinitions.d.ts +49 -0
- package/dist/_dts/api/src/appointmentServiceCategoryEndpoints.d.ts +75 -0
- package/dist/_dts/api/src/appointmentServiceContracts.d.ts +80 -0
- package/dist/_dts/api/src/appointmentSetup.d.ts +8 -1
- package/dist/_dts/api/src/bookingConfig.d.ts +8 -1
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +10 -26
- package/dist/_dts/api/src/bookingManagementEventEndpointTypes.d.ts +45 -1
- package/dist/_dts/api/src/clientErrorReporting.d.ts +50 -0
- package/dist/_dts/api/src/communications.d.ts +32 -24
- package/dist/_dts/api/src/contentRuntime.d.ts +3 -5
- package/dist/_dts/api/src/endpoints.d.ts +316 -134
- package/dist/_dts/api/src/event-visibility.d.ts +20 -0
- package/dist/_dts/api/src/eventManagementContracts.d.ts +56 -3
- package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +24 -0
- package/dist/_dts/api/src/eventPageWords.d.ts +19 -0
- package/dist/_dts/api/src/eventSeriesRegistrationEndpointDefinitions.d.ts +14 -0
- package/dist/_dts/api/src/index.d.ts +7 -1
- package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
- package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
- package/dist/_dts/api/src/launchReadiness.d.ts +22 -2
- package/dist/_dts/api/src/launchRequirementPriority.d.ts +3 -0
- package/dist/_dts/api/src/newsletterCampaignCommandEndpoints.d.ts +13 -0
- package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +30 -11
- package/dist/_dts/api/src/occurrenceScheduling.d.ts +10 -0
- package/dist/_dts/api/src/onboarding/confirmationResend.d.ts +3 -0
- package/dist/_dts/api/src/pageSurfaceEndpoints.d.ts +44 -0
- package/dist/_dts/api/src/participantMessaging.d.ts +11 -1
- package/dist/_dts/api/src/publicBookingService.d.ts +35 -1
- package/dist/_dts/api/src/publicExperience/newsletterEndpoints.d.ts +13 -0
- package/dist/_dts/api/src/publicNewsletterEndpointDefinitions.d.ts +58 -0
- package/dist/_dts/api/src/schemas/admin-observability-logs.d.ts +3 -3
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +40 -1
- package/dist/_dts/api/src/sdkContracts.d.ts +3 -42
- package/dist/_dts/api/src/sdkCourseBooking.d.ts +30 -0
- package/dist/_dts/api/src/sdkEventEndpointDefinitions.d.ts +76 -0
- package/dist/_dts/api/src/sdkEventLifecycle.d.ts +37 -0
- package/dist/_dts/api/src/sdkManagedEventContracts.d.ts +18 -0
- package/dist/_dts/api/src/sdkPageDesign.d.ts +388 -0
- package/dist/_dts/api/src/sdkPageDesignEndpointDefinitions.d.ts +22 -0
- package/dist/_dts/api/src/sdkPullEventContracts.d.ts +46 -0
- package/dist/_dts/api/src/siteAddressEndpoints.d.ts +29 -0
- package/dist/_dts/api/src/siteManagementEndpointDefinitions.d.ts +49 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +4 -38
- package/dist/_dts/api/src/siteOnboarding.d.ts +75 -9
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -1
- package/dist/_dts/api/src/types.d.ts +8 -1
- package/dist/_dts/api/src/wholeSeriesRuns.d.ts +14 -0
- package/dist/_dts/blocks/src/PageRenderer.d.ts +4 -4
- package/dist/_dts/blocks/src/bindings/index.d.ts +2 -2
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +24 -0
- package/dist/_dts/blocks/src/index.d.ts +3 -1
- package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +10 -0
- package/dist/_dts/blocks/src/pageRenderJoins.d.ts +68 -0
- package/dist/_dts/blocks/src/pageRenderPlan.d.ts +8 -27
- package/dist/_dts/blocks/src/pageRenderPreparation.d.ts +7 -4
- package/dist/_dts/blocks/src/pageRendererBoundaries.d.ts +40 -23
- package/dist/_dts/blocks/src/pageRendererContracts.d.ts +3 -1
- package/dist/_dts/blocks/src/server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/appointment-services.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/events/shared/calendarWindow.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +27 -5
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +14 -1
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +47 -47
- package/dist/_dts/blocks/src/system/icons/social.d.ts +1 -1
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +29 -3
- package/dist/_dts/blocks/src/system/registry.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +8 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +22 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +57 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.service-categories.d.ts +29 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.service-choices.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +13 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +23 -7
- package/dist/_dts/blocks/src/system/runtime/nodes/form.fields.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.block-submission.d.ts +36 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +6 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.parts.d.ts +46 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.submission.d.ts +20 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/CheckboxChoice.d.ts +18 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -0
- package/dist/_dts/content-editor/src/index.d.ts +1 -0
- package/dist/_dts/content-editor/src/primitives/previewEditableOutline.d.ts +2 -0
- package/dist/_dts/content-editor/src/ui/editorBlockEquality.d.ts +3 -0
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +3 -3
- package/dist/_dts/content-model/src/content-types/schema.d.ts +1 -1
- package/dist/_dts/core/src/appointment-service-categories.d.ts +108 -0
- package/dist/_dts/core/src/block-content-identity.d.ts +5 -0
- package/dist/_dts/core/src/editor-state.d.ts +2 -1
- package/dist/_dts/core/src/index.d.ts +2 -0
- package/dist/_dts/core/src/mailing-list-submission.d.ts +3 -1
- package/dist/_dts/core/src/public-event-booking-availability.d.ts +20 -1
- package/dist/_dts/core/src/public-profile.d.ts +12 -1
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +711 -242
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +3 -0
- package/dist/_dts/editor-blocks/src/block-editor/EmptyState.d.ts +13 -1
- package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +16 -1
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/types.d.ts +13 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/utils.d.ts +29 -0
- package/dist/_dts/preview-next/src/client/blocks/BoundaryControl.d.ts +7 -2
- package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +3 -3
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/applyPreviewProjections.d.ts +1 -3
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -1
- package/dist/_dts/sdk/src/client/runtimeCacheKeys.d.ts +8 -0
- package/dist/_dts/sdk/src/client/types.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/page.d.ts +7 -2
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +5 -0
- package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +2 -2
- package/dist/_dts/sdk/src/next/renderSdkContent.d.ts +0 -1
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +6 -8
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +4 -4
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +4 -4
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +7 -2
- package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +5 -2
- package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +6 -1
- package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +6 -2
- package/dist/_dts/sdk/src/rendering/hooks/usePage.d.ts +5 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/surfaces/src/index.d.ts +10 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/inputs/checkable.d.ts +42 -0
- package/dist/_dts/theme-core/src/inputs/inputGroup.d.ts +19 -0
- package/dist/_dts/theme-core/src/layout/boundaryCss.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/compositionBudget.d.ts +8 -0
- package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +3 -2
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +1 -3
- package/dist/_dts/theme-core/src/site-styles/generatedDesignPipeline.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/joinTreatment.d.ts +132 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorBoundaries.d.ts +31 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +33 -29
- package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/pageFlowPresets.d.ts +36 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +4 -10
- package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +17 -4
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +20 -74
- package/dist/_dts/theme-core/src/site-styles/sectionBoundaryComposition.d.ts +95 -0
- package/dist/_dts/theme-core/src/site-styles/sectionTransitions.d.ts +80 -518
- package/dist/_dts/theme-core/src/site-styles/siteStyleBlockPolicies.d.ts +9 -4
- package/dist/_dts/theme-core/src/site-styles/transitionCatalogue.d.ts +320 -0
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +3 -18
- package/dist/_dts/ui/src/navigation-tabs.d.ts +2 -1
- package/dist/client/{BookingConsentAgreement-DoAILrkN.mjs → BookingConsentAgreement-BQKL045f.mjs} +2 -2
- package/dist/client/CheckboxChoice--W2n6yKs.mjs +24 -0
- package/dist/client/{DiscountCodeDisclosure-X528hUTf.mjs → DiscountCodeDisclosure-CsOtjFY7.mjs} +1 -1
- package/dist/client/{EventCombined.client-DSBVwq5m.mjs → EventCombined.client-BdRjVbhH.mjs} +6 -6
- package/dist/client/{EventListing.client-DmFAX7Vb.mjs → EventListing.client-DBxC6xOU.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-BAqXdfhq.mjs → LeafletStaticMap-mHEJKrTs.mjs} +1 -1
- package/dist/client/{ThemedButton-BwNFVwi4.mjs → ThemedButton-CE5KYT6z.mjs} +1 -1
- package/dist/client/{accordion-DRhMdkbd.mjs → accordion-BEQNSptH.mjs} +1 -1
- package/dist/client/{bookingForm-iJ_nCsNF.mjs → bookingForm-AMr-s5vw.mjs} +168 -95
- package/dist/client/bookings.mjs +239 -110
- package/dist/client/{carousel-D8zuffZr.mjs → carousel-Bbt_QgJy.mjs} +1 -1
- package/dist/client/{cart-DeMGJViN.mjs → cart-CnWi30zJ.mjs} +3 -3
- package/dist/client/{checkout-DXc06Km2.mjs → checkout-f3nkWgd4.mjs} +3 -3
- package/dist/client/client.mjs +3222 -1612
- package/dist/client/{context-CDLCfDep.mjs → context-Bc8T6pCe.mjs} +1 -1
- package/dist/client/{dates-ClFx7Epy.mjs → dates-DUsCEzLb.mjs} +2 -3
- package/dist/client/{eventCalendar-BaGpnOGN.mjs → eventCalendar-CKwgXui5.mjs} +9 -9
- package/dist/client/{eventCombined-ywONOx2m.mjs → eventCombined-CBAOSTGR.mjs} +4 -4
- package/dist/client/{eventDetails-B2LlOTYY.mjs → eventDetails-Dh-_WiBD.mjs} +4 -4
- package/dist/client/{eventListing-CMgxWpqP.mjs → eventListing-CA3frIH5.mjs} +4 -4
- package/dist/client/{eventRegistration-BarLDNHR.mjs → eventRegistration-BHtsgdcg.mjs} +21 -22
- package/dist/client/{form-BjqKaBJ7.mjs → form-C2h3YAcg.mjs} +135 -104
- package/dist/client/{headerSection-CP4XDwz1.mjs → headerSection-lwMuMTH9.mjs} +3 -3
- package/dist/client/hooks.mjs +1023 -148
- package/dist/client/{locationMap-C5gW-d-w.mjs → locationMap-DJ2bLODV.mjs} +3 -3
- package/dist/client/{newsletterForm-afXlVSA0.mjs → newsletterForm-8Pu5K32g.mjs} +225 -102
- package/dist/client/{pricing-Bl1CAl28.mjs → pricing-HHx3IgBz.mjs} +1 -1
- package/dist/client/{productDetail-CvQ3jWQe.mjs → productDetail-C_1odnAf.mjs} +3 -3
- package/dist/client/{productList-U874PGO7.mjs → productList-CtCv-Nmx.mjs} +3 -3
- package/dist/client/{propsDecoder-DPXtCZWP.mjs → propsDecoder-Dcgsncxb.mjs} +111 -55
- package/dist/client/rendering/client.mjs +1389 -722
- package/dist/client/rendering/islands.mjs +17 -17
- package/dist/client/rendering.mjs +3136 -1400
- package/dist/client/{routeIslandApiConfig-NGYiUWXu.mjs → routeIslandApiConfig-CWLP7wu3.mjs} +1 -1
- package/dist/client/{scrollToBlock-0-C3DVhK.mjs → scrollToBlock-BNgaEUpo.mjs} +1 -1
- package/dist/client/{shop-BXjXhM9P.mjs → shop-DQXrQ8kJ.mjs} +7 -7
- package/dist/client/{shop-commerce-BZ6UlWJ7.mjs → shop-commerce-B88zmWWo.mjs} +6 -6
- package/dist/client/{shop-commerce-store-DlSBXb3D.mjs → shop-commerce-store-DtSfkKuX.mjs} +1 -1
- package/dist/client/{shopShared-kkEOiLPA.mjs → shopShared-cuaONpkJ.mjs} +4 -4
- package/dist/client/{useEventFilters-zvnnE1ro.mjs → useEventFilters-Bukew6Gb.mjs} +6 -6
- package/dist/preview-next/before-render.mjs +500 -165
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/editor-base.css +11 -0
- package/dist/preview-next/keepAlive.mjs +460 -165
- package/dist/preview-next/middleware.mjs +461 -165
- package/dist/{previewAuthStore-JA6-I_sL.mjs → previewAuthStore-h5IgbSp4.mjs} +485 -165
- package/dist/{sdk-runtime-DFJlQt3q.mjs → sdk-runtime-DTc1uIXn.mjs} +2 -2
- package/dist/{separator-o8GHb1xh.mjs → separator-BpHS1KZK.mjs} +1 -1
- package/dist/server/components.mjs +3088 -1307
- package/dist/server/config-validation.mjs +927 -109
- package/dist/server/config.mjs +927 -109
- package/dist/server/data.mjs +939 -110
- package/dist/server/index.mjs +513 -169
- package/dist/server/next.mjs +2874 -1195
- package/dist/server/page-converter.mjs +420 -79
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +3071 -1289
- package/dist/server/rendering.mjs +3169 -1350
- package/dist/server/routing.mjs +1085 -159
- package/dist/server/server.mjs +1042 -291
- package/dist/server/theme-bridge.mjs +1658 -137
- package/dist/server/theme.mjs +6 -4
- package/dist/styles/index.css +186 -65
- package/package.json +2 -1
|
@@ -1,6 +1,76 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import * as React$1 from "react";
|
|
3
3
|
import { useSyncExternalStore } from "react";
|
|
4
|
+
import { z } from "zod";
|
|
5
|
+
//#region ../api/src/defineEndpointDefinitions.ts
|
|
6
|
+
/**
|
|
7
|
+
* Validates extracted endpoint descriptors while preserving each literal path,
|
|
8
|
+
* method, and parameter contract for the typed URL builders.
|
|
9
|
+
*/
|
|
10
|
+
function defineEndpointDefinitions(definitions) {
|
|
11
|
+
return definitions;
|
|
12
|
+
}
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region ../api/src/publicNewsletterEndpointDefinitions.ts
|
|
15
|
+
const PUBLIC_NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
16
|
+
subscribeNewsletter: {
|
|
17
|
+
path: "/public/sites/{siteId}/newsletter/subscribe",
|
|
18
|
+
method: "POST",
|
|
19
|
+
tags: ["public-newsletter-{siteId}"],
|
|
20
|
+
auth: "public",
|
|
21
|
+
responseKind: "json"
|
|
22
|
+
},
|
|
23
|
+
confirmNewsletter: {
|
|
24
|
+
path: "/public/sites/{siteId}/newsletter/confirm/{token}",
|
|
25
|
+
method: "GET",
|
|
26
|
+
tags: ["public-newsletter-{siteId}"],
|
|
27
|
+
auth: "public",
|
|
28
|
+
responseKind: "text"
|
|
29
|
+
},
|
|
30
|
+
unsubscribeNewsletter: {
|
|
31
|
+
path: "/public/sites/{siteId}/newsletter/unsubscribe/{token}",
|
|
32
|
+
method: "GET",
|
|
33
|
+
tags: ["public-newsletter-{siteId}"],
|
|
34
|
+
auth: "public",
|
|
35
|
+
responseKind: "text"
|
|
36
|
+
},
|
|
37
|
+
unsubscribeNewsletterPost: {
|
|
38
|
+
path: "/public/sites/{siteId}/newsletter/unsubscribe/{token}",
|
|
39
|
+
method: "POST",
|
|
40
|
+
tags: ["public-newsletter-{siteId}"],
|
|
41
|
+
auth: "public",
|
|
42
|
+
responseKind: "text"
|
|
43
|
+
},
|
|
44
|
+
confirmNewsletterPost: {
|
|
45
|
+
path: "/public/sites/{siteId}/newsletter/confirm/{token}",
|
|
46
|
+
method: "POST",
|
|
47
|
+
tags: ["public-newsletter-{siteId}"],
|
|
48
|
+
auth: "public",
|
|
49
|
+
responseKind: "text"
|
|
50
|
+
},
|
|
51
|
+
getNewsletterPreferences: {
|
|
52
|
+
path: "/public/sites/{siteId}/newsletter/preferences/{token}",
|
|
53
|
+
method: "GET",
|
|
54
|
+
tags: ["public-newsletter-{siteId}"],
|
|
55
|
+
auth: "public",
|
|
56
|
+
responseKind: "text"
|
|
57
|
+
},
|
|
58
|
+
saveNewsletterPreferences: {
|
|
59
|
+
path: "/public/sites/{siteId}/newsletter/preferences/{token}",
|
|
60
|
+
method: "POST",
|
|
61
|
+
tags: ["public-newsletter-{siteId}"],
|
|
62
|
+
auth: "public",
|
|
63
|
+
responseKind: "text"
|
|
64
|
+
},
|
|
65
|
+
getNewsletterArchive: {
|
|
66
|
+
path: "/public/sites/{siteId}/newsletter/archive/{token}",
|
|
67
|
+
method: "GET",
|
|
68
|
+
tags: ["public-newsletter-{siteId}"],
|
|
69
|
+
auth: "public",
|
|
70
|
+
responseKind: "text"
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
//#endregion
|
|
4
74
|
//#region ../api/src/apiEndpointTypes.ts
|
|
5
75
|
function allowedDemoMutationPolicy() {
|
|
6
76
|
return {
|
|
@@ -92,17 +162,85 @@ const SDK_ENTRY_READ_ENDPOINTS = {
|
|
|
92
162
|
}
|
|
93
163
|
};
|
|
94
164
|
//#endregion
|
|
95
|
-
//#region ../api/src/defineEndpointDefinitions.ts
|
|
96
|
-
/**
|
|
97
|
-
* Validates extracted endpoint descriptors while preserving each literal path,
|
|
98
|
-
* method, and parameter contract for the typed URL builders.
|
|
99
|
-
*/
|
|
100
|
-
function defineEndpointDefinitions(definitions) {
|
|
101
|
-
return definitions;
|
|
102
|
-
}
|
|
103
|
-
//#endregion
|
|
104
165
|
//#region ../api/src/appointmentEndpointDefinitions.ts
|
|
105
166
|
const APPOINTMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
167
|
+
...defineEndpointDefinitions({
|
|
168
|
+
listGroupedAppointmentServices: {
|
|
169
|
+
path: "/sites/{siteId}/bookings/services/grouped",
|
|
170
|
+
method: "GET",
|
|
171
|
+
auth: "user",
|
|
172
|
+
responseKind: "json",
|
|
173
|
+
errors: ["server:internal_error"]
|
|
174
|
+
},
|
|
175
|
+
reorderAppointmentServices: {
|
|
176
|
+
path: "/sites/{siteId}/bookings/services/order",
|
|
177
|
+
method: "PUT",
|
|
178
|
+
auth: "user",
|
|
179
|
+
responseKind: "json",
|
|
180
|
+
errors: [
|
|
181
|
+
"validation:invalid_input",
|
|
182
|
+
"auth:forbidden",
|
|
183
|
+
"resource:not_found",
|
|
184
|
+
"resource:conflict",
|
|
185
|
+
"server:internal_error"
|
|
186
|
+
]
|
|
187
|
+
},
|
|
188
|
+
listAppointmentServiceCategories: {
|
|
189
|
+
path: "/sites/{siteId}/bookings/service-categories",
|
|
190
|
+
method: "GET",
|
|
191
|
+
auth: "user",
|
|
192
|
+
responseKind: "json",
|
|
193
|
+
errors: ["server:internal_error"]
|
|
194
|
+
},
|
|
195
|
+
createAppointmentServiceCategory: {
|
|
196
|
+
path: "/sites/{siteId}/bookings/service-categories",
|
|
197
|
+
method: "POST",
|
|
198
|
+
auth: "user",
|
|
199
|
+
responseKind: "json",
|
|
200
|
+
errors: [
|
|
201
|
+
"validation:invalid_input",
|
|
202
|
+
"auth:forbidden",
|
|
203
|
+
"resource:conflict",
|
|
204
|
+
"server:internal_error"
|
|
205
|
+
]
|
|
206
|
+
},
|
|
207
|
+
updateAppointmentServiceCategory: {
|
|
208
|
+
path: "/sites/{siteId}/bookings/service-categories/{categoryId}",
|
|
209
|
+
method: "PUT",
|
|
210
|
+
auth: "user",
|
|
211
|
+
responseKind: "json",
|
|
212
|
+
errors: [
|
|
213
|
+
"validation:invalid_input",
|
|
214
|
+
"auth:forbidden",
|
|
215
|
+
"resource:not_found",
|
|
216
|
+
"resource:conflict",
|
|
217
|
+
"server:internal_error"
|
|
218
|
+
]
|
|
219
|
+
},
|
|
220
|
+
deleteAppointmentServiceCategory: {
|
|
221
|
+
path: "/sites/{siteId}/bookings/service-categories/{categoryId}",
|
|
222
|
+
method: "DELETE",
|
|
223
|
+
auth: "user",
|
|
224
|
+
responseKind: "json",
|
|
225
|
+
errors: [
|
|
226
|
+
"auth:forbidden",
|
|
227
|
+
"resource:not_found",
|
|
228
|
+
"server:internal_error"
|
|
229
|
+
]
|
|
230
|
+
},
|
|
231
|
+
reorderAppointmentServiceCategories: {
|
|
232
|
+
path: "/sites/{siteId}/bookings/service-categories/order",
|
|
233
|
+
method: "PUT",
|
|
234
|
+
auth: "user",
|
|
235
|
+
responseKind: "json",
|
|
236
|
+
errors: [
|
|
237
|
+
"validation:invalid_input",
|
|
238
|
+
"auth:forbidden",
|
|
239
|
+
"resource:conflict",
|
|
240
|
+
"server:internal_error"
|
|
241
|
+
]
|
|
242
|
+
}
|
|
243
|
+
}),
|
|
106
244
|
listAppointmentResources: {
|
|
107
245
|
path: "/sites/{siteId}/bookings/resources",
|
|
108
246
|
method: "GET",
|
|
@@ -813,6 +951,13 @@ const EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS = defineEndpointDefinitions
|
|
|
813
951
|
errors: [],
|
|
814
952
|
responseKind: "blob"
|
|
815
953
|
},
|
|
954
|
+
exportEventOfferingRegistrationsCsv: {
|
|
955
|
+
path: "/sites/{siteId}/bookings/event-offerings/{eventOfferingId}/registrations/export.csv",
|
|
956
|
+
method: "GET",
|
|
957
|
+
auth: "user",
|
|
958
|
+
errors: [],
|
|
959
|
+
responseKind: "blob"
|
|
960
|
+
},
|
|
816
961
|
updateEventSeriesRegistration: {
|
|
817
962
|
path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/{registrationId}",
|
|
818
963
|
method: "PATCH",
|
|
@@ -823,6 +968,19 @@ const EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS = defineEndpointDefinitions
|
|
|
823
968
|
"resource:not_found",
|
|
824
969
|
"server:internal_error"
|
|
825
970
|
]
|
|
971
|
+
},
|
|
972
|
+
saveEventSeriesRegistrationAnswers: {
|
|
973
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/{registrationId}/answers",
|
|
974
|
+
method: "PUT",
|
|
975
|
+
auth: "user",
|
|
976
|
+
responseKind: "json",
|
|
977
|
+
errors: [
|
|
978
|
+
"validation:invalid_input",
|
|
979
|
+
"auth:forbidden",
|
|
980
|
+
"resource:not_found",
|
|
981
|
+
"resource:conflict",
|
|
982
|
+
"server:internal_error"
|
|
983
|
+
]
|
|
826
984
|
}
|
|
827
985
|
});
|
|
828
986
|
//#endregion
|
|
@@ -1243,46 +1401,185 @@ const NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
1243
1401
|
responseKind: "json",
|
|
1244
1402
|
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
1245
1403
|
},
|
|
1246
|
-
|
|
1247
|
-
path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/
|
|
1404
|
+
scheduleNewsletterCampaign: {
|
|
1405
|
+
path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/schedule",
|
|
1248
1406
|
method: "POST",
|
|
1249
1407
|
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
1250
1408
|
auth: "user",
|
|
1251
1409
|
responseKind: "json",
|
|
1252
1410
|
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
1253
1411
|
},
|
|
1254
|
-
|
|
1255
|
-
path: "/sites/{siteId}/newsletter/
|
|
1256
|
-
method: "
|
|
1412
|
+
unscheduleNewsletterCampaign: {
|
|
1413
|
+
path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/unschedule",
|
|
1414
|
+
method: "POST",
|
|
1415
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
1416
|
+
auth: "user",
|
|
1417
|
+
responseKind: "json",
|
|
1418
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
1419
|
+
},
|
|
1420
|
+
stopNewsletterCampaign: {
|
|
1421
|
+
path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/stop",
|
|
1422
|
+
method: "POST",
|
|
1423
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
1424
|
+
auth: "user",
|
|
1425
|
+
responseKind: "json",
|
|
1426
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
1427
|
+
},
|
|
1428
|
+
testSendNewsletterCampaign: {
|
|
1429
|
+
path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/test-send",
|
|
1430
|
+
method: "POST",
|
|
1257
1431
|
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
1258
1432
|
auth: "user",
|
|
1433
|
+
responseKind: "json",
|
|
1434
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
1435
|
+
}
|
|
1436
|
+
});
|
|
1437
|
+
//#endregion
|
|
1438
|
+
//#region ../api/src/sdkEventEndpointDefinitions.ts
|
|
1439
|
+
/**
|
|
1440
|
+
* The SDK's Event graph: the Events themselves and the occurrences of one run.
|
|
1441
|
+
* Extracted from `endpoints.ts` so this family can be read, and added to, on
|
|
1442
|
+
* its own. New entries here must declare `errors`; the
|
|
1443
|
+
* require-api-endpoint-errors lint enforces that here as in endpoints.ts.
|
|
1444
|
+
*/
|
|
1445
|
+
const SDK_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
1446
|
+
sdkListEvents: {
|
|
1447
|
+
path: "/sdk/{siteId}/events",
|
|
1448
|
+
method: "GET",
|
|
1449
|
+
auth: "service",
|
|
1259
1450
|
responseKind: "json"
|
|
1260
1451
|
},
|
|
1261
|
-
|
|
1262
|
-
path: "/
|
|
1452
|
+
sdkUpsertEvent: {
|
|
1453
|
+
path: "/sdk/{siteId}/events",
|
|
1263
1454
|
method: "POST",
|
|
1455
|
+
auth: "service",
|
|
1456
|
+
responseKind: "json",
|
|
1264
1457
|
errors: [
|
|
1265
1458
|
"validation:invalid_input",
|
|
1266
1459
|
"resource:not_found",
|
|
1267
|
-
"
|
|
1460
|
+
"resource:conflict",
|
|
1461
|
+
"billing:plan_limit_exceeded",
|
|
1268
1462
|
"server:internal_error"
|
|
1269
|
-
]
|
|
1270
|
-
|
|
1271
|
-
|
|
1463
|
+
]
|
|
1464
|
+
},
|
|
1465
|
+
sdkGetEvent: {
|
|
1466
|
+
path: "/sdk/{siteId}/events/{identifier}",
|
|
1467
|
+
method: "GET",
|
|
1468
|
+
auth: "service",
|
|
1272
1469
|
responseKind: "json"
|
|
1273
1470
|
},
|
|
1274
|
-
|
|
1275
|
-
path: "/
|
|
1471
|
+
sdkDeleteEvent: {
|
|
1472
|
+
path: "/sdk/{siteId}/events/{identifier}",
|
|
1473
|
+
method: "DELETE",
|
|
1474
|
+
auth: "service",
|
|
1475
|
+
responseKind: "json",
|
|
1476
|
+
errors: [
|
|
1477
|
+
"resource:not_found",
|
|
1478
|
+
"resource:conflict",
|
|
1479
|
+
"server:internal_error"
|
|
1480
|
+
]
|
|
1481
|
+
},
|
|
1482
|
+
sdkTakeEventOffline: {
|
|
1483
|
+
path: "/sdk/{siteId}/events/{identifier}/lifecycle",
|
|
1276
1484
|
method: "POST",
|
|
1485
|
+
auth: "service",
|
|
1486
|
+
responseKind: "json",
|
|
1277
1487
|
errors: [
|
|
1488
|
+
"resource:not_found",
|
|
1278
1489
|
"validation:invalid_input",
|
|
1490
|
+
"resource:conflict",
|
|
1491
|
+
"server:internal_error"
|
|
1492
|
+
]
|
|
1493
|
+
},
|
|
1494
|
+
sdkListEventOccurrences: {
|
|
1495
|
+
path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences",
|
|
1496
|
+
method: "GET",
|
|
1497
|
+
auth: "service",
|
|
1498
|
+
responseKind: "json",
|
|
1499
|
+
errors: [
|
|
1279
1500
|
"resource:not_found",
|
|
1280
|
-
"
|
|
1501
|
+
"validation:invalid_input",
|
|
1281
1502
|
"server:internal_error"
|
|
1282
|
-
]
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1503
|
+
]
|
|
1504
|
+
},
|
|
1505
|
+
sdkAddEventOccurrence: {
|
|
1506
|
+
path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences",
|
|
1507
|
+
method: "POST",
|
|
1508
|
+
auth: "service",
|
|
1509
|
+
responseKind: "json",
|
|
1510
|
+
errors: [
|
|
1511
|
+
"resource:not_found",
|
|
1512
|
+
"validation:invalid_input",
|
|
1513
|
+
"resource:conflict",
|
|
1514
|
+
"server:internal_error"
|
|
1515
|
+
]
|
|
1516
|
+
},
|
|
1517
|
+
sdkUpdateEventOccurrence: {
|
|
1518
|
+
path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}",
|
|
1519
|
+
method: "PATCH",
|
|
1520
|
+
auth: "service",
|
|
1521
|
+
responseKind: "json",
|
|
1522
|
+
errors: [
|
|
1523
|
+
"resource:not_found",
|
|
1524
|
+
"validation:invalid_input",
|
|
1525
|
+
"resource:conflict",
|
|
1526
|
+
"server:internal_error"
|
|
1527
|
+
]
|
|
1528
|
+
},
|
|
1529
|
+
sdkCancelEventOccurrence: {
|
|
1530
|
+
path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}/cancel",
|
|
1531
|
+
method: "POST",
|
|
1532
|
+
auth: "service",
|
|
1533
|
+
responseKind: "json",
|
|
1534
|
+
errors: [
|
|
1535
|
+
"resource:not_found",
|
|
1536
|
+
"resource:conflict",
|
|
1537
|
+
"server:internal_error"
|
|
1538
|
+
]
|
|
1539
|
+
},
|
|
1540
|
+
sdkDeleteEventOccurrence: {
|
|
1541
|
+
path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}",
|
|
1542
|
+
method: "DELETE",
|
|
1543
|
+
auth: "service",
|
|
1544
|
+
responseKind: "json",
|
|
1545
|
+
errors: [
|
|
1546
|
+
"resource:not_found",
|
|
1547
|
+
"resource:conflict",
|
|
1548
|
+
"server:internal_error"
|
|
1549
|
+
]
|
|
1550
|
+
}
|
|
1551
|
+
});
|
|
1552
|
+
//#endregion
|
|
1553
|
+
//#region ../api/src/sdkPageDesignEndpointDefinitions.ts
|
|
1554
|
+
/**
|
|
1555
|
+
* SDK management endpoints for a page's draft design (issue 1497), spread into
|
|
1556
|
+
* `ENDPOINT_DEFINITIONS` like the other endpoint-definition modules. New
|
|
1557
|
+
* entries here must declare `errors`, which the require-api-endpoint-errors
|
|
1558
|
+
* lint enforces.
|
|
1559
|
+
*/
|
|
1560
|
+
const SDK_PAGE_DESIGN_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
1561
|
+
sdkGetPageDesign: {
|
|
1562
|
+
path: "/sdk/{siteId}/pages/{identifier}/design",
|
|
1563
|
+
method: "GET",
|
|
1564
|
+
auth: "service",
|
|
1565
|
+
responseKind: "json",
|
|
1566
|
+
errors: [
|
|
1567
|
+
"resource:not_found",
|
|
1568
|
+
"validation:invalid_input",
|
|
1569
|
+
"server:internal_error"
|
|
1570
|
+
]
|
|
1571
|
+
},
|
|
1572
|
+
sdkSavePageDesign: {
|
|
1573
|
+
path: "/sdk/{siteId}/pages/{identifier}/design",
|
|
1574
|
+
method: "POST",
|
|
1575
|
+
auth: "service",
|
|
1576
|
+
responseKind: "json",
|
|
1577
|
+
errors: [
|
|
1578
|
+
"resource:not_found",
|
|
1579
|
+
"validation:invalid_input",
|
|
1580
|
+
"resource:conflict",
|
|
1581
|
+
"server:internal_error"
|
|
1582
|
+
]
|
|
1286
1583
|
}
|
|
1287
1584
|
});
|
|
1288
1585
|
const PUBLIC_CONTENT_FRESHNESS_SECONDS = 3600;
|
|
@@ -1580,6 +1877,45 @@ const SITE_API_KEY_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
1580
1877
|
}
|
|
1581
1878
|
});
|
|
1582
1879
|
//#endregion
|
|
1880
|
+
//#region ../api/src/siteManagementEndpointDefinitions.ts
|
|
1881
|
+
const SITE_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
1882
|
+
createSite: {
|
|
1883
|
+
path: "/sites/manage",
|
|
1884
|
+
method: "POST",
|
|
1885
|
+
tags: ["site"],
|
|
1886
|
+
auth: "user",
|
|
1887
|
+
responseKind: "json"
|
|
1888
|
+
},
|
|
1889
|
+
updateSite: {
|
|
1890
|
+
path: "/sites/manage",
|
|
1891
|
+
method: "PUT",
|
|
1892
|
+
tags: ["site"],
|
|
1893
|
+
auth: "user",
|
|
1894
|
+
responseKind: "json"
|
|
1895
|
+
},
|
|
1896
|
+
changeSiteAddress: {
|
|
1897
|
+
path: "/sites/{siteId}/address",
|
|
1898
|
+
method: "PUT",
|
|
1899
|
+
auth: "user",
|
|
1900
|
+
responseKind: "json",
|
|
1901
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED
|
|
1902
|
+
},
|
|
1903
|
+
getSiteAddressAvailability: {
|
|
1904
|
+
path: "/sites/{siteId}/address/availability",
|
|
1905
|
+
method: "GET",
|
|
1906
|
+
auth: "user",
|
|
1907
|
+
responseKind: "json"
|
|
1908
|
+
},
|
|
1909
|
+
deleteSite: {
|
|
1910
|
+
path: "/sites/{siteId}",
|
|
1911
|
+
method: "DELETE",
|
|
1912
|
+
tags: ["site", "site-{siteId}"],
|
|
1913
|
+
auth: "user",
|
|
1914
|
+
responseKind: "json",
|
|
1915
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
1916
|
+
}
|
|
1917
|
+
});
|
|
1918
|
+
//#endregion
|
|
1583
1919
|
//#region ../api/src/eventManagementEndpointDefinitions.ts
|
|
1584
1920
|
const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
1585
1921
|
listEvents: {
|
|
@@ -1627,6 +1963,28 @@ const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
1627
1963
|
"server:internal_error"
|
|
1628
1964
|
]
|
|
1629
1965
|
},
|
|
1966
|
+
/**
|
|
1967
|
+
* The web address of an event's own page. A course page belongs to the
|
|
1968
|
+
* event itself, so its address is written here rather than through a run.
|
|
1969
|
+
*/
|
|
1970
|
+
updateEventAddress: {
|
|
1971
|
+
path: "/sites/{siteId}/bookings/events/{eventId}/address",
|
|
1972
|
+
method: "PATCH",
|
|
1973
|
+
tags: [
|
|
1974
|
+
"site-{siteId}",
|
|
1975
|
+
"event-series-{siteId}",
|
|
1976
|
+
TAG_TEMPLATES.siteRoutableContent,
|
|
1977
|
+
TAG_TEMPLATES.siteRedirects
|
|
1978
|
+
],
|
|
1979
|
+
auth: "user",
|
|
1980
|
+
responseKind: "json",
|
|
1981
|
+
errors: [
|
|
1982
|
+
"validation:invalid_input",
|
|
1983
|
+
"resource:not_found",
|
|
1984
|
+
"resource:conflict",
|
|
1985
|
+
"server:internal_error"
|
|
1986
|
+
]
|
|
1987
|
+
},
|
|
1630
1988
|
createWholeSeriesRun: {
|
|
1631
1989
|
path: "/sites/{siteId}/bookings/events/{eventId}/runs",
|
|
1632
1990
|
method: "POST",
|
|
@@ -1653,6 +2011,20 @@ const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
1653
2011
|
"server:internal_error"
|
|
1654
2012
|
]
|
|
1655
2013
|
},
|
|
2014
|
+
updateCourseBookingSettings: {
|
|
2015
|
+
path: "/sites/{siteId}/bookings/events/{eventId}/booking-settings",
|
|
2016
|
+
method: "PATCH",
|
|
2017
|
+
tags: ["site-{siteId}", "event-series-{siteId}"],
|
|
2018
|
+
auth: "user",
|
|
2019
|
+
responseKind: "json",
|
|
2020
|
+
errors: [
|
|
2021
|
+
"validation:invalid_input",
|
|
2022
|
+
"auth:forbidden",
|
|
2023
|
+
"resource:not_found",
|
|
2024
|
+
"resource:conflict",
|
|
2025
|
+
"server:internal_error"
|
|
2026
|
+
]
|
|
2027
|
+
},
|
|
1656
2028
|
cancelWholeSeriesRun: {
|
|
1657
2029
|
path: "/sites/{siteId}/bookings/events/{eventId}/runs/{runId}/cancellation",
|
|
1658
2030
|
method: "POST",
|
|
@@ -1665,6 +2037,28 @@ const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
1665
2037
|
"resource:conflict",
|
|
1666
2038
|
"server:internal_error"
|
|
1667
2039
|
]
|
|
2040
|
+
},
|
|
2041
|
+
/**
|
|
2042
|
+
* The Content tab's one write: the short introduction, image and
|
|
2043
|
+
* description of an event's page, published without its layout.
|
|
2044
|
+
*/
|
|
2045
|
+
saveEventPageWords: {
|
|
2046
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/words",
|
|
2047
|
+
method: "PUT",
|
|
2048
|
+
tags: [
|
|
2049
|
+
TAG_TEMPLATES.siteCollection,
|
|
2050
|
+
TAG_TEMPLATES.siteRoutableContent,
|
|
2051
|
+
TAG_TEMPLATES.pageSurfaceById
|
|
2052
|
+
],
|
|
2053
|
+
auth: "user",
|
|
2054
|
+
responseKind: "json",
|
|
2055
|
+
errors: [
|
|
2056
|
+
"auth:forbidden",
|
|
2057
|
+
"validation:invalid_input",
|
|
2058
|
+
"resource:not_found",
|
|
2059
|
+
"resource:conflict",
|
|
2060
|
+
"server:internal_error"
|
|
2061
|
+
]
|
|
1668
2062
|
}
|
|
1669
2063
|
});
|
|
1670
2064
|
//#endregion
|
|
@@ -2097,13 +2491,51 @@ const BILLING_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
2097
2491
|
responseKind: "json"
|
|
2098
2492
|
}
|
|
2099
2493
|
});
|
|
2494
|
+
//#endregion
|
|
2495
|
+
//#region ../api/src/clientErrorReporting.ts
|
|
2496
|
+
const CLIENT_ERROR_REPORT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({ reportClientError: {
|
|
2497
|
+
path: "/client/error-report",
|
|
2498
|
+
method: "POST",
|
|
2499
|
+
auth: "user",
|
|
2500
|
+
errors: [],
|
|
2501
|
+
responseKind: "json"
|
|
2502
|
+
} });
|
|
2503
|
+
const CLIENT_ERROR_REPORT_LIMITS = {
|
|
2504
|
+
pathname: 1024,
|
|
2505
|
+
name: 120,
|
|
2506
|
+
message: 2e3,
|
|
2507
|
+
stack: 8e3,
|
|
2508
|
+
digest: 128,
|
|
2509
|
+
componentStack: 8e3,
|
|
2510
|
+
sourceLocation: 1024
|
|
2511
|
+
};
|
|
2512
|
+
const clientErrorEventSchema = z.enum([
|
|
2513
|
+
"dashboard:route-error",
|
|
2514
|
+
"dashboard:app-error",
|
|
2515
|
+
"client:error-boundary",
|
|
2516
|
+
"client:window-error",
|
|
2517
|
+
"client:unhandled-rejection"
|
|
2518
|
+
]);
|
|
2519
|
+
z.object({
|
|
2520
|
+
event: clientErrorEventSchema,
|
|
2521
|
+
pathname: z.string().startsWith("/").max(CLIENT_ERROR_REPORT_LIMITS.pathname),
|
|
2522
|
+
name: z.string().max(CLIENT_ERROR_REPORT_LIMITS.name),
|
|
2523
|
+
message: z.string().max(CLIENT_ERROR_REPORT_LIMITS.message),
|
|
2524
|
+
stack: z.string().max(CLIENT_ERROR_REPORT_LIMITS.stack).nullable(),
|
|
2525
|
+
digest: z.string().max(CLIENT_ERROR_REPORT_LIMITS.digest).nullable(),
|
|
2526
|
+
componentStack: z.string().max(CLIENT_ERROR_REPORT_LIMITS.componentStack).nullable(),
|
|
2527
|
+
sourceLocation: z.string().max(CLIENT_ERROR_REPORT_LIMITS.sourceLocation).nullable()
|
|
2528
|
+
}).strict();
|
|
2100
2529
|
const API_ENDPOINTS = {
|
|
2530
|
+
...CLIENT_ERROR_REPORT_ENDPOINT_DEFINITIONS,
|
|
2531
|
+
...PUBLIC_NEWSLETTER_ENDPOINT_DEFINITIONS,
|
|
2101
2532
|
...ACCOUNT_ENDPOINT_DEFINITIONS,
|
|
2102
2533
|
...PUBLIC_ONBOARDING_ATTEMPT_ENDPOINT_DEFINITIONS,
|
|
2103
2534
|
...PUBLIC_EVENT_ENDPOINT_DEFINITIONS,
|
|
2104
2535
|
...GIFTING_ENDPOINT_DEFINITIONS,
|
|
2105
2536
|
...PUBLIC_READ_ENDPOINT_DEFINITIONS,
|
|
2106
2537
|
...BILLING_ENDPOINT_DEFINITIONS,
|
|
2538
|
+
...SITE_MANAGEMENT_ENDPOINT_DEFINITIONS,
|
|
2107
2539
|
aiContentUpdateChat: {
|
|
2108
2540
|
path: "/ai/content-update-chat",
|
|
2109
2541
|
method: "POST",
|
|
@@ -2630,13 +3062,6 @@ const API_ENDPOINTS = {
|
|
|
2630
3062
|
auth: "user",
|
|
2631
3063
|
responseKind: "json"
|
|
2632
3064
|
},
|
|
2633
|
-
createSite: {
|
|
2634
|
-
path: "/sites/manage",
|
|
2635
|
-
method: "POST",
|
|
2636
|
-
tags: ["site"],
|
|
2637
|
-
auth: "user",
|
|
2638
|
-
responseKind: "json"
|
|
2639
|
-
},
|
|
2640
3065
|
createSiteManual: {
|
|
2641
3066
|
path: "/sites/manual",
|
|
2642
3067
|
method: "POST",
|
|
@@ -2644,21 +3069,6 @@ const API_ENDPOINTS = {
|
|
|
2644
3069
|
auth: "user",
|
|
2645
3070
|
responseKind: "json"
|
|
2646
3071
|
},
|
|
2647
|
-
updateSite: {
|
|
2648
|
-
path: "/sites/manage",
|
|
2649
|
-
method: "PUT",
|
|
2650
|
-
tags: ["site"],
|
|
2651
|
-
auth: "user",
|
|
2652
|
-
responseKind: "json"
|
|
2653
|
-
},
|
|
2654
|
-
deleteSite: {
|
|
2655
|
-
path: "/sites/{siteId}",
|
|
2656
|
-
method: "DELETE",
|
|
2657
|
-
tags: ["site", "site-{siteId}"],
|
|
2658
|
-
auth: "user",
|
|
2659
|
-
responseKind: "json",
|
|
2660
|
-
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
2661
|
-
},
|
|
2662
3072
|
listSiteMembers: {
|
|
2663
3073
|
path: "/sites/{siteId}/members",
|
|
2664
3074
|
method: "GET",
|
|
@@ -5232,41 +5642,6 @@ const API_ENDPOINTS = {
|
|
|
5232
5642
|
"server:internal_error"
|
|
5233
5643
|
]
|
|
5234
5644
|
},
|
|
5235
|
-
subscribeNewsletter: {
|
|
5236
|
-
path: "/public/sites/{siteId}/newsletter/subscribe",
|
|
5237
|
-
method: "POST",
|
|
5238
|
-
tags: ["public-newsletter-{siteId}"],
|
|
5239
|
-
auth: "public",
|
|
5240
|
-
responseKind: "json"
|
|
5241
|
-
},
|
|
5242
|
-
confirmNewsletter: {
|
|
5243
|
-
path: "/public/sites/{siteId}/newsletter/confirm/{token}",
|
|
5244
|
-
method: "GET",
|
|
5245
|
-
tags: ["public-newsletter-{siteId}"],
|
|
5246
|
-
auth: "public",
|
|
5247
|
-
responseKind: "text"
|
|
5248
|
-
},
|
|
5249
|
-
unsubscribeNewsletter: {
|
|
5250
|
-
path: "/public/sites/{siteId}/newsletter/unsubscribe/{token}",
|
|
5251
|
-
method: "GET",
|
|
5252
|
-
tags: ["public-newsletter-{siteId}"],
|
|
5253
|
-
auth: "public",
|
|
5254
|
-
responseKind: "text"
|
|
5255
|
-
},
|
|
5256
|
-
unsubscribeNewsletterPost: {
|
|
5257
|
-
path: "/public/sites/{siteId}/newsletter/unsubscribe/{token}",
|
|
5258
|
-
method: "POST",
|
|
5259
|
-
tags: ["public-newsletter-{siteId}"],
|
|
5260
|
-
auth: "public",
|
|
5261
|
-
responseKind: "text"
|
|
5262
|
-
},
|
|
5263
|
-
getNewsletterArchive: {
|
|
5264
|
-
path: "/public/sites/{siteId}/newsletter/archive/{token}",
|
|
5265
|
-
method: "GET",
|
|
5266
|
-
tags: ["public-newsletter-{siteId}"],
|
|
5267
|
-
auth: "public",
|
|
5268
|
-
responseKind: "text"
|
|
5269
|
-
},
|
|
5270
5645
|
listSiteContentTypes: {
|
|
5271
5646
|
path: "/sites/{siteId}/content-types",
|
|
5272
5647
|
method: "GET",
|
|
@@ -6926,6 +7301,7 @@ const API_ENDPOINTS = {
|
|
|
6926
7301
|
auth: "service",
|
|
6927
7302
|
responseKind: "json"
|
|
6928
7303
|
},
|
|
7304
|
+
...SDK_PAGE_DESIGN_ENDPOINT_DEFINITIONS,
|
|
6929
7305
|
sdkUpsertPageBlock: {
|
|
6930
7306
|
path: "/sdk/{siteId}/pages/{identifier}/blocks",
|
|
6931
7307
|
method: "POST",
|
|
@@ -7048,87 +7424,7 @@ const API_ENDPOINTS = {
|
|
|
7048
7424
|
auth: "service",
|
|
7049
7425
|
responseKind: "json"
|
|
7050
7426
|
},
|
|
7051
|
-
|
|
7052
|
-
path: "/sdk/{siteId}/events",
|
|
7053
|
-
method: "GET",
|
|
7054
|
-
auth: "service",
|
|
7055
|
-
responseKind: "json"
|
|
7056
|
-
},
|
|
7057
|
-
sdkUpsertEvent: {
|
|
7058
|
-
path: "/sdk/{siteId}/events",
|
|
7059
|
-
method: "POST",
|
|
7060
|
-
auth: "service",
|
|
7061
|
-
responseKind: "json"
|
|
7062
|
-
},
|
|
7063
|
-
sdkGetEvent: {
|
|
7064
|
-
path: "/sdk/{siteId}/events/{identifier}",
|
|
7065
|
-
method: "GET",
|
|
7066
|
-
auth: "service",
|
|
7067
|
-
responseKind: "json"
|
|
7068
|
-
},
|
|
7069
|
-
sdkDeleteEvent: {
|
|
7070
|
-
path: "/sdk/{siteId}/events/{identifier}",
|
|
7071
|
-
method: "DELETE",
|
|
7072
|
-
auth: "service",
|
|
7073
|
-
responseKind: "json"
|
|
7074
|
-
},
|
|
7075
|
-
sdkListEventOccurrences: {
|
|
7076
|
-
path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences",
|
|
7077
|
-
method: "GET",
|
|
7078
|
-
auth: "service",
|
|
7079
|
-
responseKind: "json",
|
|
7080
|
-
errors: [
|
|
7081
|
-
"resource:not_found",
|
|
7082
|
-
"validation:invalid_input",
|
|
7083
|
-
"server:internal_error"
|
|
7084
|
-
]
|
|
7085
|
-
},
|
|
7086
|
-
sdkAddEventOccurrence: {
|
|
7087
|
-
path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences",
|
|
7088
|
-
method: "POST",
|
|
7089
|
-
auth: "service",
|
|
7090
|
-
responseKind: "json",
|
|
7091
|
-
errors: [
|
|
7092
|
-
"resource:not_found",
|
|
7093
|
-
"validation:invalid_input",
|
|
7094
|
-
"resource:conflict",
|
|
7095
|
-
"server:internal_error"
|
|
7096
|
-
]
|
|
7097
|
-
},
|
|
7098
|
-
sdkUpdateEventOccurrence: {
|
|
7099
|
-
path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}",
|
|
7100
|
-
method: "PATCH",
|
|
7101
|
-
auth: "service",
|
|
7102
|
-
responseKind: "json",
|
|
7103
|
-
errors: [
|
|
7104
|
-
"resource:not_found",
|
|
7105
|
-
"validation:invalid_input",
|
|
7106
|
-
"resource:conflict",
|
|
7107
|
-
"server:internal_error"
|
|
7108
|
-
]
|
|
7109
|
-
},
|
|
7110
|
-
sdkCancelEventOccurrence: {
|
|
7111
|
-
path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}/cancel",
|
|
7112
|
-
method: "POST",
|
|
7113
|
-
auth: "service",
|
|
7114
|
-
responseKind: "json",
|
|
7115
|
-
errors: [
|
|
7116
|
-
"resource:not_found",
|
|
7117
|
-
"resource:conflict",
|
|
7118
|
-
"server:internal_error"
|
|
7119
|
-
]
|
|
7120
|
-
},
|
|
7121
|
-
sdkDeleteEventOccurrence: {
|
|
7122
|
-
path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}",
|
|
7123
|
-
method: "DELETE",
|
|
7124
|
-
auth: "service",
|
|
7125
|
-
responseKind: "json",
|
|
7126
|
-
errors: [
|
|
7127
|
-
"resource:not_found",
|
|
7128
|
-
"resource:conflict",
|
|
7129
|
-
"server:internal_error"
|
|
7130
|
-
]
|
|
7131
|
-
},
|
|
7427
|
+
...SDK_EVENT_ENDPOINT_DEFINITIONS,
|
|
7132
7428
|
sdkUpsertEntry: {
|
|
7133
7429
|
path: "/sdk/{siteId}/entries",
|
|
7134
7430
|
method: "POST",
|
|
@@ -7645,6 +7941,30 @@ const SURFACE_ROOT_HOSTS = {
|
|
|
7645
7941
|
prod: "macadamia.studio"
|
|
7646
7942
|
}
|
|
7647
7943
|
};
|
|
7944
|
+
const SURFACE_SITE_ROOT_HOSTS = {
|
|
7945
|
+
core: {
|
|
7946
|
+
local: "localhost",
|
|
7947
|
+
prod: "riverbanksites.com"
|
|
7948
|
+
},
|
|
7949
|
+
macadamia: {
|
|
7950
|
+
local: "macadamia.localhost",
|
|
7951
|
+
prod: "macadamia.studio"
|
|
7952
|
+
}
|
|
7953
|
+
};
|
|
7954
|
+
const SURFACE_SITE_ROOT_HOST_ALIASES = { core: { prod: ["preview.riverbanksites.com"] } };
|
|
7955
|
+
function surfaceHostTableValues(table) {
|
|
7956
|
+
return Object.values(table).flatMap((byTier) => Object.values(byTier).flat());
|
|
7957
|
+
}
|
|
7958
|
+
function siteSlugLabelUnderRoot(host, siteRootHost) {
|
|
7959
|
+
if (!host.endsWith(`.${siteRootHost}`)) return [];
|
|
7960
|
+
return host.slice(0, host.length - siteRootHost.length - 1).split(".").slice(-1);
|
|
7961
|
+
}
|
|
7962
|
+
function deriveSurfaceOwnedSiteSlugs() {
|
|
7963
|
+
const siteRootHosts = [...surfaceHostTableValues(SURFACE_SITE_ROOT_HOSTS), ...surfaceHostTableValues(SURFACE_SITE_ROOT_HOST_ALIASES)];
|
|
7964
|
+
const labels = [...surfaceHostTableValues(SURFACE_ROOT_HOSTS), ...siteRootHosts].flatMap((host) => siteRootHosts.flatMap((root) => siteSlugLabelUnderRoot(host, root)));
|
|
7965
|
+
return [...new Set(labels)].sort();
|
|
7966
|
+
}
|
|
7967
|
+
deriveSurfaceOwnedSiteSlugs();
|
|
7648
7968
|
const NAMED_SURFACE_IDS = SURFACE_IDS.filter((surfaceId) => surfaceId !== DEFAULT_SURFACE_ID);
|
|
7649
7969
|
[...NAMED_SURFACE_IDS];
|
|
7650
7970
|
/**
|