@riverbankcms/sdk 0.145.0 → 0.147.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 +29 -0
- package/dist/{PreviewEditorSidebar-O-V6Pl5a.mjs → PreviewEditorSidebar-DtpB3_sS.mjs} +51 -33
- package/dist/{PreviewEditorUI-1UlX_9cw.mjs → PreviewEditorUI-DxTLgaHo.mjs} +3 -3
- package/dist/{PreviewQueryProvider-BxGwdOCV.mjs → PreviewQueryProvider-Dd4dxOiU.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-DYbA_4iv.mjs → SdkPreviewModeRuntime-DMMNCngt.mjs} +311 -186
- package/dist/{SiteChromeCustomizeContext-CNTKQ9nx.mjs → SiteChromeCustomizeContext-DQXZXiqS.mjs} +3808 -2395
- package/dist/_dts/ai/src/contracts/proposals.d.ts +1122 -0
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +102 -0
- package/dist/_dts/api/src/accountApi.d.ts +5 -5
- package/dist/_dts/api/src/bookingConfig.d.ts +24 -1
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +11 -26
- package/dist/_dts/api/src/bookingManagementEventEndpointTypes.d.ts +45 -1
- package/dist/_dts/api/src/bookingOperations.d.ts +2 -44
- package/dist/_dts/api/src/bookingPeople.d.ts +92 -0
- package/dist/_dts/api/src/bookingPeopleEndpointDefinitions.d.ts +38 -0
- package/dist/_dts/api/src/bookingRecords.d.ts +11 -49
- package/dist/_dts/api/src/bookingSettingsSections.d.ts +1 -1
- package/dist/_dts/api/src/bookings.d.ts +1 -0
- package/dist/_dts/api/src/clientErrorReporting.d.ts +50 -0
- package/dist/_dts/api/src/communications.d.ts +20 -4
- package/dist/_dts/api/src/contentRuntime.d.ts +3 -7
- package/dist/_dts/api/src/endpoints.d.ts +816 -655
- package/dist/_dts/api/src/event-visibility.d.ts +20 -0
- package/dist/_dts/api/src/eventManagementContracts.d.ts +72 -4
- 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 +9 -2
- 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 +19 -6
- package/dist/_dts/api/src/launchRequirementPriority.d.ts +3 -0
- package/dist/_dts/api/src/mailingListIntegration.d.ts +6 -0
- package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +1 -1
- package/dist/_dts/api/src/newsletterCampaignCommandEndpoints.d.ts +13 -0
- package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +57 -0
- package/dist/_dts/api/src/occurrenceScheduling.d.ts +29 -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/publicAppointmentBookingContracts.d.ts +48 -0
- package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +7 -0
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +55 -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/siteLifecycleEndpoints.d.ts +61 -0
- package/dist/_dts/api/src/siteManagementEndpointDefinitions.d.ts +49 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +6 -49
- package/dist/_dts/api/src/siteOnboarding.d.ts +72 -18
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -1
- package/dist/_dts/api/src/types.d.ts +7 -1
- package/dist/_dts/api/src/wholeSeriesRuns.d.ts +14 -0
- package/dist/_dts/blocks/src/PageRenderer.d.ts +3 -4
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +8 -0
- package/dist/_dts/blocks/src/index.d.ts +2 -0
- package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +29 -1
- package/dist/_dts/blocks/src/pageRendererContracts.d.ts +5 -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/newsletter-signup.d.ts +4 -1
- package/dist/_dts/blocks/src/system/icons/social.d.ts +1 -1
- package/dist/_dts/blocks/src/system/registry.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +12 -0
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +12 -0
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.completion.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +19 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-choice.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-note.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-state.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.reserved-fields.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-handler.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-success.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/AttendeeDetailsStep.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SuccessStep.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/sessionStorage.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +20 -4
- 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 +34 -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.types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +4 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/BookingMailingListNote.d.ts +6 -0
- 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/blocks/src/system/runtime/shared/mailingListSignupCopy.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +1 -0
- package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +3 -2
- package/dist/_dts/blocks/src/system/transforms/registry/core.d.ts +2 -0
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +1 -3
- 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 -5
- package/dist/_dts/core/src/block-content-identity.d.ts +5 -0
- package/dist/_dts/core/src/editor-state.d.ts +2 -7
- package/dist/_dts/core/src/index.d.ts +2 -1
- package/dist/_dts/core/src/mailing-list-runtime.d.ts +15 -0
- package/dist/_dts/core/src/mailing-list-setup.d.ts +2 -0
- package/dist/_dts/core/src/mailing-list-submission.d.ts +9 -1
- package/dist/_dts/core/src/navigation-portal-labels.d.ts +9 -0
- package/dist/_dts/core/src/participants.d.ts +0 -38
- package/dist/_dts/core/src/public-event-booking-availability.d.ts +20 -1
- package/dist/_dts/core/src/public-profile.d.ts +3 -1
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +151 -24
- 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/actionPresentation.d.ts +1 -0
- package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +2 -8
- package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +7 -1
- package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +5 -5
- package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -2
- package/dist/_dts/sdk/src/next/renderSdkContent.d.ts +0 -1
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +3 -2
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +3 -2
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +6 -1
- 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 +5 -1
- 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 +9 -0
- package/dist/_dts/theme-core/src/buttons/effects/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/footer/effectiveNavLinkStyle.d.ts +13 -0
- package/dist/_dts/theme-core/src/footer/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/header/effectiveNavLinkStyle.d.ts +17 -0
- package/dist/_dts/theme-core/src/header/generateHeaderLogoStyles.d.ts +15 -0
- package/dist/_dts/theme-core/src/header/generateHeaderNavLinkStyles.d.ts +4 -0
- package/dist/_dts/theme-core/src/header/index.d.ts +3 -0
- package/dist/_dts/theme-core/src/header/legacyNavLinkStyle.d.ts +1 -1
- package/dist/_dts/theme-core/src/header/openingForegroundProjection.d.ts +7 -0
- package/dist/_dts/theme-core/src/header/rootPaint.d.ts +4 -0
- 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/navigation/effectPolicy.d.ts +38 -0
- package/dist/_dts/theme-core/src/navigation/generateNavLinkCSS.d.ts +4 -0
- package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -0
- package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +1 -1
- package/dist/_dts/theme-core/src/surfaces/foregroundContract.d.ts +7 -0
- package/dist/_dts/theme-core/src/surfaces/foregroundInteraction.d.ts +29 -22
- package/dist/_dts/theme-core/src/surfaces/foregroundRoles.d.ts +10 -2
- package/dist/_dts/theme-core/src/surfaces/resolveSurfaceForeground.d.ts +9 -0
- package/dist/_dts/theme-core/src/utils/cssDeclarations.d.ts +2 -0
- package/dist/_dts/ui/src/badge.d.ts +2 -1
- package/dist/_dts/ui/src/button.d.ts +1 -1
- package/dist/_dts/ui/src/combobox-keys.d.ts +23 -0
- package/dist/_dts/ui/src/combobox-rows.d.ts +34 -0
- package/dist/_dts/ui/src/combobox.d.ts +26 -1
- package/dist/_dts/ui/src/date-picker.d.ts +5 -8
- package/dist/_dts/ui/src/editor-item-card.d.ts +1 -0
- package/dist/_dts/ui/src/field-trigger.d.ts +39 -0
- package/dist/_dts/ui/src/fieldControl.d.ts +27 -0
- package/dist/_dts/ui/src/index.d.ts +4 -1
- package/dist/_dts/ui/src/native-select.d.ts +8 -0
- package/dist/_dts/ui/src/navigation-tabs.d.ts +2 -1
- package/dist/_dts/ui/src/popover.d.ts +7 -1
- package/dist/_dts/ui/src/segmented-control.d.ts +4 -0
- package/dist/_dts/ui/src/surface.d.ts +1 -1
- package/dist/client/{BookingConsentAgreement-DlVOmpW4.mjs → BookingMailingListNote-1n4Ch_u_.mjs} +15 -4
- package/dist/client/CheckboxChoice-B33MqoUo.mjs +24 -0
- package/dist/client/{DiscountCodeDisclosure-T9q623PQ.mjs → DiscountCodeDisclosure-CKJtz0mY.mjs} +1 -1
- package/dist/client/{EventCombined.client-DnsUeONl.mjs → EventCombined.client-C0pgma9y.mjs} +7 -7
- package/dist/client/{EventListing.client-CNBFqJS4.mjs → EventListing.client-4fhLOvHP.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-C7higg52.mjs → LeafletStaticMap-DScC4F3w.mjs} +1 -1
- package/dist/client/{scrollToBlock-CWs8EIdo.mjs → TerminalPanel-B5ZUsYhe.mjs} +77 -77
- package/dist/client/{ThemedButton-LAJTNrS8.mjs → ThemedButton-DoVIV1Ao.mjs} +2 -2
- package/dist/client/{accordion-BcNF9TjX.mjs → accordion-CoT5g7zo.mjs} +1 -1
- package/dist/client/{bookingForm-BUaQ3S03.mjs → bookingForm-BWxB46xD.mjs} +251 -150
- package/dist/client/bookings.mjs +415 -234
- package/dist/client/{carousel-CTdF6e0V.mjs → carousel-DtNYWFd3.mjs} +2 -2
- package/dist/client/{carousel.client-jahpU9Vz.mjs → carousel.client-A2lG-9od.mjs} +1 -1
- package/dist/client/{cart-pGtyf_XU.mjs → cart-z4qZih1Y.mjs} +3 -3
- package/dist/client/{checkout-Da9WSn7Y.mjs → checkout-DpL7euFH.mjs} +3 -3
- package/dist/client/{checkoutUrls-CW3-78uu.mjs → checkoutUrls-BEfR7kVu.mjs} +1 -1
- package/dist/client/client.mjs +3721 -2220
- package/dist/client/{colorStyles-CuJBiS-1.mjs → colorStyles-j5U9v5JA.mjs} +5 -1
- package/dist/client/{context-BFeY_Wbm.mjs → context-C8TinPJc.mjs} +1 -1
- package/dist/client/{dates-BhwVSxDg.mjs → dates-vwwxTeB0.mjs} +2 -3
- package/dist/client/{eventCalendar-BAtdnR4s.mjs → eventCalendar-DIbHfJXO.mjs} +10 -10
- package/dist/client/{eventCombined-RksA3tRC.mjs → eventCombined-DoGMJ6cg.mjs} +4 -4
- package/dist/client/{eventDetails-BB9hB4wR.mjs → eventDetails-BjN9v6a1.mjs} +4 -4
- package/dist/client/{eventListing-BpJBkviM.mjs → eventListing-DajjWgOv.mjs} +4 -4
- package/dist/client/{eventRegistration-B18jFq_o.mjs → eventRegistration-DMq9gMA-.mjs} +121 -54
- package/dist/client/{form-Dodt8Y8t.mjs → form-Qf6qTbos.mjs} +136 -105
- package/dist/client/{headerSection-B0qj9ttg.mjs → headerSection-D7qJrqFX.mjs} +3 -3
- package/dist/client/hooks.mjs +1148 -179
- package/dist/client/{locationMap-gn-iMk7a.mjs → locationMap-CCF9-t_0.mjs} +4 -4
- package/dist/client/{FieldValidationMessage-AYanWFb-.mjs → mailingListSignupCopy-DZSHZrm6.mjs} +14 -1
- package/dist/client/{media-BtJ37tzS.mjs → media-CwBGetqC.mjs} +1 -1
- package/dist/client/{newsletterForm-oByLdFkr.mjs → newsletterForm-DzCLSP4S.mjs} +206 -104
- package/dist/client/{pricing-BOU0_Hai.mjs → pricing-Cgxv2KLC.mjs} +1 -1
- package/dist/client/{productDetail-D9v1zH2j.mjs → productDetail-ru9w5GHx.mjs} +3 -3
- package/dist/client/{productList-D-mItx1n.mjs → productList-zaapKSl-.mjs} +3 -3
- package/dist/client/{propsDecoder-C3TP_z4x.mjs → propsDecoder-CwvvNOHx.mjs} +91 -28
- package/dist/client/rendering/client.mjs +1441 -826
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +3652 -2005
- package/dist/client/{routeIslandApiConfig-DzN1W0sq.mjs → routeIslandApiConfig-BwVFo0Y4.mjs} +1 -1
- package/dist/client/{shop-commerce-gklw_hLF.mjs → shop-commerce-De7gEnkA.mjs} +8 -8
- package/dist/client/{shop-commerce-store-Sf1eyTaZ.mjs → shop-commerce-store-B3MCxIBW.mjs} +1 -1
- package/dist/client/{shop-Dufw7N7o.mjs → shop-mktkXvbV.mjs} +7 -7
- package/dist/client/{shopShared-B5nyA41S.mjs → shopShared-TqExh235.mjs} +5 -5
- package/dist/client/{useEventFilters-CLL829vy.mjs → useEventFilters-n_OjkIjX.mjs} +8 -8
- package/dist/preview-next/before-render.mjs +490 -153
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/editor-base.css +64 -2
- package/dist/preview-next/editor-chrome.css +7 -4
- package/dist/preview-next/keepAlive.mjs +450 -153
- package/dist/preview-next/middleware.mjs +451 -153
- package/dist/{previewAuthStore-BxAFlu-j.mjs → previewAuthStore-C_EHQ5XA.mjs} +475 -153
- package/dist/{sdk-runtime-D0uZFev7.mjs → sdk-runtime-BIkJg5y1.mjs} +2 -2
- package/dist/{separator-EvdCAn4V.mjs → separator-C9qDP95Z.mjs} +1 -1
- package/dist/server/components.mjs +4957 -3509
- package/dist/server/config-validation.mjs +1115 -189
- package/dist/server/config.mjs +1115 -189
- package/dist/server/data.mjs +1113 -188
- package/dist/server/index.mjs +492 -154
- package/dist/server/navigation.mjs +13 -2
- package/dist/server/next.mjs +4798 -3462
- package/dist/server/page-converter.mjs +143 -89
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +3862 -2414
- package/dist/server/rendering.mjs +5648 -4154
- package/dist/server/routing.mjs +1223 -329
- package/dist/server/server.mjs +1172 -314
- package/dist/server/theme-bridge.mjs +533 -128
- package/dist/server/theme.mjs +5 -1
- package/dist/styles/index.css +218 -69
- package/package.json +1 -1
- package/dist/_dts/core/src/participant-identity.d.ts +0 -135
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { APIEndpoint } from './apiEndpointTypes';
|
|
2
|
+
import type { PageSurfaceEditorDocument, PublishPageSurfaceResponse } from './contentRuntime';
|
|
3
|
+
import type { SaveEventPageWordsPayload, SaveEventPageWordsResponse } from './eventPageWords';
|
|
4
|
+
import type { RouteMetadataPayload } from './routes';
|
|
5
|
+
import type { ContentRouteRecord } from './types';
|
|
6
|
+
/**
|
|
7
|
+
* The authoritative page surface behind an event's page: its content draft,
|
|
8
|
+
* its route metadata, its publication, and the words the Content tab owns.
|
|
9
|
+
*/
|
|
10
|
+
export type PageSurfaceAPIEndpoints = {
|
|
11
|
+
updatePageSurfaceDraftContent: APIEndpoint<{
|
|
12
|
+
data: Record<string, unknown>;
|
|
13
|
+
optimisticHash: string;
|
|
14
|
+
}, {
|
|
15
|
+
siteId: string;
|
|
16
|
+
pageSurfaceId: string;
|
|
17
|
+
}, {
|
|
18
|
+
document: PageSurfaceEditorDocument;
|
|
19
|
+
}>;
|
|
20
|
+
discardPageSurfaceDraftContent: APIEndpoint<{
|
|
21
|
+
optimisticHash: string;
|
|
22
|
+
}, {
|
|
23
|
+
siteId: string;
|
|
24
|
+
pageSurfaceId: string;
|
|
25
|
+
}, {
|
|
26
|
+
document: PageSurfaceEditorDocument;
|
|
27
|
+
}>;
|
|
28
|
+
updatePageSurfaceRouteMetadata: APIEndpoint<Pick<RouteMetadataPayload, 'draftSlug' | 'draftMetaTitle' | 'draftMetaDescription' | 'ogImageId'> & {
|
|
29
|
+
expectedDraftUpdatedAt: string | null;
|
|
30
|
+
}, {
|
|
31
|
+
siteId: string;
|
|
32
|
+
pageSurfaceId: string;
|
|
33
|
+
}, {
|
|
34
|
+
route: ContentRouteRecord;
|
|
35
|
+
}>;
|
|
36
|
+
publishPageSurface: APIEndpoint<never, {
|
|
37
|
+
siteId: string;
|
|
38
|
+
pageSurfaceId: string;
|
|
39
|
+
}, PublishPageSurfaceResponse>;
|
|
40
|
+
saveEventPageWords: APIEndpoint<SaveEventPageWordsPayload, {
|
|
41
|
+
siteId: string;
|
|
42
|
+
pageSurfaceId: string;
|
|
43
|
+
}, SaveEventPageWordsResponse>;
|
|
44
|
+
};
|
|
@@ -11,7 +11,12 @@ export type ParticipantMessageTarget = {
|
|
|
11
11
|
eventSeriesId: string;
|
|
12
12
|
includeStatuses: WholeSeriesParticipantMessageStatus[];
|
|
13
13
|
};
|
|
14
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Which people on a run a message may reach. `waitlist` is only ever included
|
|
16
|
+
* when the sender asks for it, which is what the "people waiting" tick on the
|
|
17
|
+
* run's Messages tab turns on.
|
|
18
|
+
*/
|
|
19
|
+
export type WholeSeriesParticipantMessageStatus = Extract<EventSeriesRegistrationStatus, 'enrolled' | 'completed' | 'waitlist'>;
|
|
15
20
|
export type GetParticipantMessageRecipientsRequest = {
|
|
16
21
|
target: ParticipantMessageTarget;
|
|
17
22
|
};
|
|
@@ -106,6 +111,11 @@ export type ParticipantMessageHistoryEntry = {
|
|
|
106
111
|
batchId: string;
|
|
107
112
|
target: ParticipantMessageTarget;
|
|
108
113
|
subject: string;
|
|
114
|
+
/**
|
|
115
|
+
* What was written, so a sent message can be read back and sent again. Null
|
|
116
|
+
* for a batch whose stored payload predates this field.
|
|
117
|
+
*/
|
|
118
|
+
bodyText: string | null;
|
|
109
119
|
recipientCount: number;
|
|
110
120
|
sentCount: number;
|
|
111
121
|
queuedCount: number;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { BookingMailingListNote as BookingSignupNote } from '../../core/src/index';
|
|
2
|
+
export type PublicCreateBookingAppointmentRequest = {
|
|
3
|
+
formId: string;
|
|
4
|
+
serviceId: string;
|
|
5
|
+
resourceId?: string | null;
|
|
6
|
+
startAt: string;
|
|
7
|
+
endAt: string;
|
|
8
|
+
customFields: Record<string, unknown>;
|
|
9
|
+
mailingListOptIn?: boolean;
|
|
10
|
+
timezone?: string;
|
|
11
|
+
discountCode?: string;
|
|
12
|
+
selectedSlidingAmount?: number;
|
|
13
|
+
selectedCollectionOptionKind?: 'upfront' | 'deferred_manual' | 'instalment_plan' | 'flexible_balance';
|
|
14
|
+
altchaSolution?: string | null;
|
|
15
|
+
successUrl?: string;
|
|
16
|
+
cancelUrl?: string;
|
|
17
|
+
};
|
|
18
|
+
export type PublicBookingAppointmentSummary = {
|
|
19
|
+
id: string;
|
|
20
|
+
status: 'confirmed' | 'pending' | 'cancelled';
|
|
21
|
+
startAt: string;
|
|
22
|
+
endAt: string;
|
|
23
|
+
timezone: string;
|
|
24
|
+
resourceName: string | null;
|
|
25
|
+
};
|
|
26
|
+
export type PublicBookingCustomerSummary = {
|
|
27
|
+
id: string;
|
|
28
|
+
email: string | null;
|
|
29
|
+
name: string | null;
|
|
30
|
+
phone: string | null;
|
|
31
|
+
};
|
|
32
|
+
export type PublicCreateBookingAppointmentResponse = {
|
|
33
|
+
type: 'booked';
|
|
34
|
+
orderId: string;
|
|
35
|
+
orderNumber: string;
|
|
36
|
+
appointment: PublicBookingAppointmentSummary;
|
|
37
|
+
customer: PublicBookingCustomerSummary;
|
|
38
|
+
mailingListSignupNote?: BookingSignupNote;
|
|
39
|
+
} | {
|
|
40
|
+
type: 'checkout_redirect';
|
|
41
|
+
orderId: string;
|
|
42
|
+
orderNumber: string;
|
|
43
|
+
checkoutUrl: string;
|
|
44
|
+
sessionId: string;
|
|
45
|
+
appointment: PublicBookingAppointmentSummary;
|
|
46
|
+
customer: PublicBookingCustomerSummary;
|
|
47
|
+
mailingListSignupNote?: BookingSignupNote;
|
|
48
|
+
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { BookingMailingListNote as BookingSignupNote } from '../../../core/src/index';
|
|
1
2
|
/**
|
|
2
3
|
* Storefront event discovery, registration, checkout and eligibility endpoints.
|
|
3
4
|
*
|
|
@@ -120,6 +121,7 @@ export type PublicEventAPIEndpoints = {
|
|
|
120
121
|
notes?: string;
|
|
121
122
|
formData?: Record<string, unknown>;
|
|
122
123
|
consentAccepted?: boolean;
|
|
124
|
+
mailingListOptIn?: boolean;
|
|
123
125
|
altchaSolution?: string | null;
|
|
124
126
|
paymentMethod?: 'free' | 'pass' | 'membership' | 'stripe' | 'pass_bundle' | 'membership_bundle';
|
|
125
127
|
customerPassId?: string;
|
|
@@ -160,6 +162,7 @@ export type PublicEventAPIEndpoints = {
|
|
|
160
162
|
phone?: string;
|
|
161
163
|
formData?: Record<string, unknown>;
|
|
162
164
|
consentAccepted?: boolean;
|
|
165
|
+
mailingListOptIn?: boolean;
|
|
163
166
|
altchaSolution?: string | null;
|
|
164
167
|
guests?: Array<{
|
|
165
168
|
name: string;
|
|
@@ -185,6 +188,7 @@ export type PublicEventAPIEndpoints = {
|
|
|
185
188
|
amountCents: number;
|
|
186
189
|
currency: string;
|
|
187
190
|
};
|
|
191
|
+
mailingListSignupNote?: BookingSignupNote;
|
|
188
192
|
} | {
|
|
189
193
|
scope: 'wholeSeries';
|
|
190
194
|
registrationId: string;
|
|
@@ -197,17 +201,20 @@ export type PublicEventAPIEndpoints = {
|
|
|
197
201
|
amountCents: number;
|
|
198
202
|
currency: string;
|
|
199
203
|
};
|
|
204
|
+
mailingListSignupNote?: BookingSignupNote;
|
|
200
205
|
} | {
|
|
201
206
|
scope: 'wholeSeries';
|
|
202
207
|
status: 'paymentStatusRequired';
|
|
203
208
|
checkoutAttemptId: string;
|
|
204
209
|
recoverableUntil?: string;
|
|
210
|
+
mailingListSignupNote?: BookingSignupNote;
|
|
205
211
|
} | {
|
|
206
212
|
scope: 'wholeSeries';
|
|
207
213
|
status: 'waitlist';
|
|
208
214
|
waitlistEntryId: string;
|
|
209
215
|
waitlistPosition: number | null;
|
|
210
216
|
alreadyRegistered?: boolean;
|
|
217
|
+
mailingListSignupNote?: BookingSignupNote;
|
|
211
218
|
}>;
|
|
212
219
|
getPublicEventRegistrationOptions: APIEndpoint<PublicEventRegistrationOptionsRequest, {
|
|
213
220
|
siteId: string;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { AttendeeNotificationIntent } from './occurrenceScheduling';
|
|
2
|
+
import type { SdkCourseBookingSettings } from './sdkCourseBooking';
|
|
1
3
|
import type { SdkEntryUpsertSlotBlock, SdkEventBookingOffer, SdkEventContentInput, SdkPullEvent, SdkPullEventRun, SdkEventUpsertScheduleInput } from './sdkContracts';
|
|
2
4
|
import { type BookingTimeZone, type UtcIsoDateTimeString } from '../../core/src/index';
|
|
3
5
|
export { classifySdkEventBookingOffer } from './sdk-event-booking-offer';
|
|
@@ -10,6 +12,45 @@ export declare const sdkEventOccurrenceInputSchema: z.ZodObject<{
|
|
|
10
12
|
endsAt: z.ZodString;
|
|
11
13
|
timeZone: z.ZodString;
|
|
12
14
|
}, z.core.$strip>;
|
|
15
|
+
/**
|
|
16
|
+
* A course's own booking settings, as they are pulled and pushed on the Event.
|
|
17
|
+
* One schema for both directions and for the CLI's site commands, so the three
|
|
18
|
+
* cannot drift apart.
|
|
19
|
+
*/
|
|
20
|
+
export declare const sdkCourseBookingSettingsSchema: z.ZodObject<{
|
|
21
|
+
visibility: z.ZodEnum<{
|
|
22
|
+
public: "public";
|
|
23
|
+
unlisted: "unlisted";
|
|
24
|
+
}>;
|
|
25
|
+
acceptsPasses: z.ZodBoolean;
|
|
26
|
+
acceptsMemberships: z.ZodBoolean;
|
|
27
|
+
ticketingMode: z.ZodOptional<z.ZodEnum<{
|
|
28
|
+
enabled: "enabled";
|
|
29
|
+
disabled: "disabled";
|
|
30
|
+
inherit: "inherit";
|
|
31
|
+
}>>;
|
|
32
|
+
collectAllAttendeeDetails: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
33
|
+
cancellationPolicy: z.ZodObject<{
|
|
34
|
+
refunds: z.ZodObject<{
|
|
35
|
+
mode: z.ZodEnum<{
|
|
36
|
+
never: "never";
|
|
37
|
+
inherit: "inherit";
|
|
38
|
+
always: "always";
|
|
39
|
+
cutoff: "cutoff";
|
|
40
|
+
}>;
|
|
41
|
+
cutoffHours: z.ZodOptional<z.ZodNumber>;
|
|
42
|
+
}, z.core.$strict>;
|
|
43
|
+
transfers: z.ZodObject<{
|
|
44
|
+
mode: z.ZodEnum<{
|
|
45
|
+
never: "never";
|
|
46
|
+
inherit: "inherit";
|
|
47
|
+
always: "always";
|
|
48
|
+
cutoff: "cutoff";
|
|
49
|
+
}>;
|
|
50
|
+
cutoffHours: z.ZodOptional<z.ZodNumber>;
|
|
51
|
+
}, z.core.$strict>;
|
|
52
|
+
}, z.core.$strict>;
|
|
53
|
+
}, z.core.$strict>;
|
|
13
54
|
export declare const sdkEventUpsertOptionalFieldSchemas: {
|
|
14
55
|
readonly path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
15
56
|
readonly status: z.ZodOptional<z.ZodEnum<{
|
|
@@ -20,7 +61,6 @@ export declare const sdkEventUpsertOptionalFieldSchemas: {
|
|
|
20
61
|
cancelled: "cancelled";
|
|
21
62
|
}>>;
|
|
22
63
|
readonly visibility: z.ZodOptional<z.ZodEnum<{
|
|
23
|
-
private: "private";
|
|
24
64
|
public: "public";
|
|
25
65
|
unlisted: "unlisted";
|
|
26
66
|
}>>;
|
|
@@ -108,6 +148,12 @@ type SdkEventRunExplicitOccurrencesInput = Readonly<{
|
|
|
108
148
|
export type SdkEventRunUpsertBody = SdkEventRunUpsertCommon & (SdkEventRunAuthoredScheduleInput | SdkEventRunExplicitOccurrencesInput);
|
|
109
149
|
export type SdkEventUpsertBody = Readonly<{
|
|
110
150
|
identifier: string;
|
|
151
|
+
/**
|
|
152
|
+
* A course's listing, passes, memberships and refund policy, written onto
|
|
153
|
+
* every one of its runs in one go. Only a course may send it; leaving it out
|
|
154
|
+
* leaves those settings as they are.
|
|
155
|
+
*/
|
|
156
|
+
courseBooking?: SdkCourseBookingSettings;
|
|
111
157
|
administrativeStatus?: SdkPullEvent['administrativeStatus'];
|
|
112
158
|
title: string;
|
|
113
159
|
slug: string;
|
|
@@ -117,6 +163,14 @@ export type SdkEventUpsertBody = Readonly<{
|
|
|
117
163
|
content?: SdkEventContentInput;
|
|
118
164
|
blocks?: Record<string, SdkEntryUpsertSlotBlock[]>;
|
|
119
165
|
runs: readonly [SdkEventRunUpsertBody, ...SdkEventRunUpsertBody[]];
|
|
166
|
+
/**
|
|
167
|
+
* Whether the people booked hear about a venue change this push makes.
|
|
168
|
+
* Leaving it out never emails anyone: a push is a file sync, and a stale
|
|
169
|
+
* local file could otherwise move a run back to an old venue and tell
|
|
170
|
+
* everyone the wrong place. Same shape as the dashboard's "let everyone
|
|
171
|
+
* booked know" tick.
|
|
172
|
+
*/
|
|
173
|
+
attendeeNotification?: AttendeeNotificationIntent;
|
|
120
174
|
}>;
|
|
121
175
|
export type ValidatedSdkEventRunUpsertInput = SdkEventRunUpsertBody & Readonly<{
|
|
122
176
|
timingAuthority: SdkEventTimingAuthority;
|
|
@@ -2,14 +2,13 @@ import type { SdkSiteLayoutConfig } from './sdkConfig/layout';
|
|
|
2
2
|
export type { SdkSiteLayoutConfig } from './sdkConfig/layout';
|
|
3
3
|
import type { BlockContentSource, BlockContentSourceKind, FieldDefinition, FieldDefinitionInput, SdkCustomBlock, SdkCustomBlockInput, Theme } from '../../blocks/src/index';
|
|
4
4
|
import type { ContentTypeSchema } from '../../content-model/src/index';
|
|
5
|
-
import type {
|
|
5
|
+
import type { FooterCompositionV1, RichTextDoc } from '../../core/src/index';
|
|
6
6
|
export type { SdkBlockAppearanceChoice, SdkBlockAppearanceOutcome, } from './sdkBlockUpsertContracts';
|
|
7
7
|
import type { LinkPayload } from './navigation/types';
|
|
8
8
|
import type { JsonValue } from './shared-contracts';
|
|
9
9
|
import type { EventBookingOfferIntent } from '@riverbankcms/site-commands';
|
|
10
10
|
import type { ManagementMediaAsset } from './sdkMediaContracts';
|
|
11
11
|
export type { ManagementMediaAsset, SdkMediaDeleteApplyResponse, SdkMediaDeletePreviewResponse, SdkMediaDownloadResponse, SdkMediaListResponse, } from './sdkMediaContracts';
|
|
12
|
-
import type { SdkPullEventOccurrence } from './sdk-event-schedule';
|
|
13
12
|
import type { SiteCommandApplicationResult } from '@riverbankcms/site-commands';
|
|
14
13
|
import type { SdkThemeWire } from './sdkThemeWire';
|
|
15
14
|
import type { SdkCatalogButtonStyleControl } from './sdkThemeCatalogContracts';
|
|
@@ -770,46 +769,8 @@ export interface SdkPullEventCategoriesResponse {
|
|
|
770
769
|
eventCategories: SdkPullEventCategory[];
|
|
771
770
|
meta: SdkPullMeta;
|
|
772
771
|
}
|
|
773
|
-
export
|
|
774
|
-
|
|
775
|
-
administrativeStatus: 'active' | 'archived';
|
|
776
|
-
title: string;
|
|
777
|
-
slug: string;
|
|
778
|
-
path: string | null;
|
|
779
|
-
preset: EventPreset;
|
|
780
|
-
runRefs: readonly [string, ...string[]];
|
|
781
|
-
content: {
|
|
782
|
-
summary?: string;
|
|
783
|
-
body?: RichTextDoc;
|
|
784
|
-
image?: Record<string, unknown> & {
|
|
785
|
-
identifier: string;
|
|
786
|
-
};
|
|
787
|
-
[key: string]: unknown;
|
|
788
|
-
};
|
|
789
|
-
updatedAt: string;
|
|
790
|
-
createdAt: string;
|
|
791
|
-
contentUpdatedAt: string | null;
|
|
792
|
-
blocks?: SdkEntrySlotBlocks;
|
|
793
|
-
}
|
|
794
|
-
export interface SdkPullEventRun {
|
|
795
|
-
identifier: string;
|
|
796
|
-
eventRef: string;
|
|
797
|
-
name: string | null;
|
|
798
|
-
status: 'draft' | 'active' | 'archived' | 'cancelled' | 'completed';
|
|
799
|
-
visibility: 'private' | 'public' | 'unlisted';
|
|
800
|
-
bookingScope: 'single_occurrence' | 'whole_series';
|
|
801
|
-
occurrences: readonly SdkPullEventOccurrence[];
|
|
802
|
-
capacity: number | null;
|
|
803
|
-
bookingOffer: SdkEventBookingOffer;
|
|
804
|
-
venueRef: string | null;
|
|
805
|
-
categoryRef: string | null;
|
|
806
|
-
formRef: string | null;
|
|
807
|
-
settings: Record<string, unknown>;
|
|
808
|
-
presentation: Record<string, unknown> | null;
|
|
809
|
-
tags: string[];
|
|
810
|
-
updatedAt: string;
|
|
811
|
-
createdAt: string;
|
|
812
|
-
}
|
|
772
|
+
export type { SdkPullEvent, SdkPullEventRun } from './sdkPullEventContracts';
|
|
773
|
+
import type { SdkPullEvent, SdkPullEventRun } from './sdkPullEventContracts';
|
|
813
774
|
export type { SdkPullEventOccurrence } from './sdk-event-schedule';
|
|
814
775
|
export type SdkEventContentInput = {
|
|
815
776
|
summary?: string;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
import type { courseBookingSettingsSchema } from '@riverbankcms/site-commands';
|
|
3
|
+
import type { CourseBookingSettingsRequest } from './eventManagementContracts';
|
|
4
|
+
/**
|
|
5
|
+
* The booking settings a course owns for every one of its runs: where it is
|
|
6
|
+
* listed, whether passes and memberships may be used, QR tickets, guest details
|
|
7
|
+
* and the refunds and transfers policy.
|
|
8
|
+
*
|
|
9
|
+
* Storage is per run, but a run may not be written for them — the course is the
|
|
10
|
+
* single writer — so they are pulled and pushed on the Event and are absent
|
|
11
|
+
* from every whole-series run.
|
|
12
|
+
*
|
|
13
|
+
* Taken from the schema that validates a push, so the wire shape and what the
|
|
14
|
+
* parser admits cannot drift apart.
|
|
15
|
+
*/
|
|
16
|
+
export type SdkCourseBookingSettings = z.infer<typeof courseBookingSettingsSchema>;
|
|
17
|
+
type Assert<T extends true> = T;
|
|
18
|
+
/**
|
|
19
|
+
* The pushed settings and the management API's own request are the same
|
|
20
|
+
* fields; if either changes without the other, this stops compiling.
|
|
21
|
+
*/
|
|
22
|
+
export type SdkCourseBookingSettingsMatchesRequest = Assert<SdkCourseBookingSettings extends CourseBookingSettingsRequest ? CourseBookingSettingsRequest extends SdkCourseBookingSettings ? true : false : false>;
|
|
23
|
+
/**
|
|
24
|
+
* Carried by the pulled Event. Present only for a course: an ordinary event
|
|
25
|
+
* owns its own listing and passes, on the run itself.
|
|
26
|
+
*/
|
|
27
|
+
export interface SdkPulledCourseBooking {
|
|
28
|
+
courseBooking?: SdkCourseBookingSettings;
|
|
29
|
+
}
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The SDK's Event graph: the Events themselves and the occurrences of one run.
|
|
3
|
+
* Extracted from `endpoints.ts` so this family can be read, and added to, on
|
|
4
|
+
* its own. New entries here must declare `errors`; the
|
|
5
|
+
* require-api-endpoint-errors lint enforces that here as in endpoints.ts.
|
|
6
|
+
*/
|
|
7
|
+
export declare const SDK_EVENT_ENDPOINT_DEFINITIONS: {
|
|
8
|
+
sdkListEvents: {
|
|
9
|
+
path: "/sdk/{siteId}/events";
|
|
10
|
+
method: "GET";
|
|
11
|
+
auth: "service";
|
|
12
|
+
responseKind: "json";
|
|
13
|
+
};
|
|
14
|
+
sdkUpsertEvent: {
|
|
15
|
+
path: "/sdk/{siteId}/events";
|
|
16
|
+
method: "POST";
|
|
17
|
+
auth: "service";
|
|
18
|
+
responseKind: "json";
|
|
19
|
+
errors: ("validation:invalid_input" | "resource:not_found" | "resource:conflict" | "billing:plan_limit_exceeded" | "server:internal_error")[];
|
|
20
|
+
};
|
|
21
|
+
sdkGetEvent: {
|
|
22
|
+
path: "/sdk/{siteId}/events/{identifier}";
|
|
23
|
+
method: "GET";
|
|
24
|
+
auth: "service";
|
|
25
|
+
responseKind: "json";
|
|
26
|
+
};
|
|
27
|
+
sdkDeleteEvent: {
|
|
28
|
+
path: "/sdk/{siteId}/events/{identifier}";
|
|
29
|
+
method: "DELETE";
|
|
30
|
+
auth: "service";
|
|
31
|
+
responseKind: "json";
|
|
32
|
+
errors: ("resource:not_found" | "resource:conflict" | "server:internal_error")[];
|
|
33
|
+
};
|
|
34
|
+
sdkTakeEventOffline: {
|
|
35
|
+
path: "/sdk/{siteId}/events/{identifier}/lifecycle";
|
|
36
|
+
method: "POST";
|
|
37
|
+
auth: "service";
|
|
38
|
+
responseKind: "json";
|
|
39
|
+
errors: ("validation:invalid_input" | "resource:not_found" | "resource:conflict" | "server:internal_error")[];
|
|
40
|
+
};
|
|
41
|
+
sdkListEventOccurrences: {
|
|
42
|
+
path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences";
|
|
43
|
+
method: "GET";
|
|
44
|
+
auth: "service";
|
|
45
|
+
responseKind: "json";
|
|
46
|
+
errors: ("validation:invalid_input" | "resource:not_found" | "server:internal_error")[];
|
|
47
|
+
};
|
|
48
|
+
sdkAddEventOccurrence: {
|
|
49
|
+
path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences";
|
|
50
|
+
method: "POST";
|
|
51
|
+
auth: "service";
|
|
52
|
+
responseKind: "json";
|
|
53
|
+
errors: ("validation:invalid_input" | "resource:not_found" | "resource:conflict" | "server:internal_error")[];
|
|
54
|
+
};
|
|
55
|
+
sdkUpdateEventOccurrence: {
|
|
56
|
+
path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}";
|
|
57
|
+
method: "PATCH";
|
|
58
|
+
auth: "service";
|
|
59
|
+
responseKind: "json";
|
|
60
|
+
errors: ("validation:invalid_input" | "resource:not_found" | "resource:conflict" | "server:internal_error")[];
|
|
61
|
+
};
|
|
62
|
+
sdkCancelEventOccurrence: {
|
|
63
|
+
path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}/cancel";
|
|
64
|
+
method: "POST";
|
|
65
|
+
auth: "service";
|
|
66
|
+
responseKind: "json";
|
|
67
|
+
errors: ("resource:not_found" | "resource:conflict" | "server:internal_error")[];
|
|
68
|
+
};
|
|
69
|
+
sdkDeleteEventOccurrence: {
|
|
70
|
+
path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}";
|
|
71
|
+
method: "DELETE";
|
|
72
|
+
auth: "service";
|
|
73
|
+
responseKind: "json";
|
|
74
|
+
errors: ("resource:not_found" | "resource:conflict" | "server:internal_error")[];
|
|
75
|
+
};
|
|
76
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The SDK management lifecycle contract for parent Events.
|
|
3
|
+
*
|
|
4
|
+
* Lifecycle is deliberately a single operation: a management key can take an
|
|
5
|
+
* Event offline, and nothing else. There is no put-online, no archive or
|
|
6
|
+
* restore, and no cancel (issue 1495). The endpoint itself is declared in
|
|
7
|
+
* `sdkEventEndpointDefinitions.ts`.
|
|
8
|
+
*/
|
|
9
|
+
import type { EventSeriesId } from '../../core/src/index';
|
|
10
|
+
import type { APIEndpoint } from './apiEndpointTypes';
|
|
11
|
+
/**
|
|
12
|
+
* An `applied` outcome always changed something: at least one run, or the
|
|
13
|
+
* Event page. Running the operation again on an Event that is already offline
|
|
14
|
+
* reports `already-offline` rather than failing.
|
|
15
|
+
*/
|
|
16
|
+
export type SdkTakeEventOfflineResponse = Readonly<{
|
|
17
|
+
kind: 'applied';
|
|
18
|
+
changedRunIds: readonly [EventSeriesId, ...EventSeriesId[]];
|
|
19
|
+
pageTakenOffline: boolean;
|
|
20
|
+
}> | Readonly<{
|
|
21
|
+
kind: 'applied';
|
|
22
|
+
changedRunIds: readonly [];
|
|
23
|
+
pageTakenOffline: true;
|
|
24
|
+
}> | Readonly<{
|
|
25
|
+
kind: 'already-offline';
|
|
26
|
+
}>;
|
|
27
|
+
export type SdkTakeEventOfflineBody = Readonly<{
|
|
28
|
+
command: Readonly<{
|
|
29
|
+
kind: 'takeOfferingOffline';
|
|
30
|
+
}>;
|
|
31
|
+
}>;
|
|
32
|
+
export type SdkEventLifecycleAPIEndpoints = {
|
|
33
|
+
sdkTakeEventOffline: APIEndpoint<SdkTakeEventOfflineBody, {
|
|
34
|
+
siteId: string;
|
|
35
|
+
identifier: string;
|
|
36
|
+
}, SdkTakeEventOfflineResponse>;
|
|
37
|
+
};
|
|
@@ -1,8 +1,26 @@
|
|
|
1
1
|
import type { EventOccurrenceStatus } from './bookingRecords';
|
|
2
|
+
import type { EventPageState } from './eventManagementContracts';
|
|
2
3
|
import type { EventOfferingId, EventSeriesId, OccurrenceId } from '../../core/src/index';
|
|
3
4
|
import type { SdkEventCanonicalScheduleInput, SdkPullEvent, SdkPullEventRun } from './sdkContracts';
|
|
4
5
|
export type SdkManagementEvent = SdkPullEvent & {
|
|
5
6
|
id: EventOfferingId;
|
|
7
|
+
/**
|
|
8
|
+
* Whether the Event's own page is currently reachable by the public, derived
|
|
9
|
+
* from its route exactly as the dashboard's lifecycle service derives it
|
|
10
|
+
* (`EventPageState`): published means `online`, anything else `offline`.
|
|
11
|
+
*
|
|
12
|
+
* Read-only, and deliberately absent from the portable pull/upsert shape: a
|
|
13
|
+
* page goes online or offline through lifecycle operations, never by being
|
|
14
|
+
* written back in an event file.
|
|
15
|
+
*
|
|
16
|
+
* Optional only for the length of one release, for the same reason as
|
|
17
|
+
* `confirmedPlaces` below. A published CLI can be pointed at a dashboard
|
|
18
|
+
* that predates this field, and making it required would fail the whole
|
|
19
|
+
* event response parse rather than one column. Make it required once every
|
|
20
|
+
* dashboard carrying this change is live. While it is absent, a client
|
|
21
|
+
* cannot prove the page state and must say so rather than assume.
|
|
22
|
+
*/
|
|
23
|
+
pageState?: EventPageState;
|
|
6
24
|
};
|
|
7
25
|
export type SdkManagementEventRun = SdkPullEventRun & {
|
|
8
26
|
id: EventSeriesId;
|