@whooshbang/sdk 6.0.0 → 7.0.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/dist/client.d.ts +31 -1
- package/dist/client.js +87 -1
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js.map +1 -1
- package/dist/recipient/digest-section.d.ts +29 -0
- package/dist/recipient/digest-section.js +400 -0
- package/dist/recipient/digest-section.js.map +1 -0
- package/dist/recipient/element.js +153 -10
- package/dist/recipient/element.js.map +1 -1
- package/dist/recipient/i18n/ar.js +37 -0
- package/dist/recipient/i18n/ar.js.map +1 -1
- package/dist/recipient/i18n/catalog.d.ts +38 -0
- package/dist/recipient/i18n/catalog.js.map +1 -1
- package/dist/recipient/i18n/de.js +37 -0
- package/dist/recipient/i18n/de.js.map +1 -1
- package/dist/recipient/i18n/en.js +37 -0
- package/dist/recipient/i18n/en.js.map +1 -1
- package/dist/recipient/i18n/es.js +37 -0
- package/dist/recipient/i18n/es.js.map +1 -1
- package/dist/recipient/i18n/fa.js +37 -0
- package/dist/recipient/i18n/fa.js.map +1 -1
- package/dist/recipient/i18n/fr.js +37 -0
- package/dist/recipient/i18n/fr.js.map +1 -1
- package/dist/recipient/i18n/hi.js +37 -0
- package/dist/recipient/i18n/hi.js.map +1 -1
- package/dist/recipient/i18n/id.js +37 -0
- package/dist/recipient/i18n/id.js.map +1 -1
- package/dist/recipient/i18n/it.js +37 -0
- package/dist/recipient/i18n/it.js.map +1 -1
- package/dist/recipient/i18n/nl.js +37 -0
- package/dist/recipient/i18n/nl.js.map +1 -1
- package/dist/recipient/i18n/pl.js +37 -0
- package/dist/recipient/i18n/pl.js.map +1 -1
- package/dist/recipient/i18n/pt-BR.js +37 -0
- package/dist/recipient/i18n/pt-BR.js.map +1 -1
- package/dist/recipient/i18n/ru.js +37 -0
- package/dist/recipient/i18n/ru.js.map +1 -1
- package/dist/recipient/i18n/tr.js +37 -0
- package/dist/recipient/i18n/tr.js.map +1 -1
- package/dist/recipient/i18n/uk.js +37 -0
- package/dist/recipient/i18n/uk.js.map +1 -1
- package/dist/recipient/i18n/zh-Hans.js +37 -0
- package/dist/recipient/i18n/zh-Hans.js.map +1 -1
- package/dist/recipient/mount.d.ts +5 -0
- package/dist/recipient/mount.js +2 -0
- package/dist/recipient/mount.js.map +1 -1
- package/dist/recipient/quiet-section.d.ts +7 -3
- package/dist/recipient/quiet-section.js +134 -7
- package/dist/recipient/quiet-section.js.map +1 -1
- package/dist/recipient/quiet-view.d.ts +20 -0
- package/dist/recipient/quiet-view.js +54 -0
- package/dist/recipient/quiet-view.js.map +1 -1
- package/package.json +2 -2
package/dist/client.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { type WhoAmI, type OperatorCollection, type OperatorResolution, type Cre
|
|
|
2
2
|
import type { BillingProjectSlots, BillingPromotions, BillingPromotion, RedeemBillingPromotionRequest, AssignBillingProjectSlotsRequest, SubscriptionChange, ConfirmSubscriptionChangeRequest, BillingEntitlements, SubscriptionSelection, ProjectAttribution, UpdateProjectAttributionRequest, AutoTopUpSettings, UpdateAutoTopUpSettingsRequest, BillingAccount, CardSetup, CreateCreditPurchaseRequest, CreditPurchase, BillingInvoiceCollection, UpdateBillingReceiptEmailRequest } from "@whooshbang/contracts";
|
|
3
3
|
import { type AssertEmailConsentRequest, type BindingSummary } from "@whooshbang/contracts";
|
|
4
4
|
import type { InteractionOutcome } from "./interactions.js";
|
|
5
|
-
import type { OrganizationProjection, ApiCredential, OrganizationCredential, OrganizationCredentialCollection, OrganizationCredentialRotation, OrganizationCredentialSecretReveal, ApiCredentialCollection, ApiCredentialRotation, ApiCredentialSecretReveal, AttachNotifierConnectionRequest, ChannelConnection, ChannelConnectionCollection, ConnectionProviderCollection, UsageGrouping, UsageReport, MessageState, MessageListPage, MessageDeliveryHistory, MessageNotificationImage, InteractionTimeline, UpdateEmailSenderRequest, CustomerEventDeliveryHistory, CustomerEventDeliveryAttempt, DeliveryHolds, MachineClientOperationsList, RecipientCopyCatalogue, NotifierConnectionCollection, ProjectRecipientExperience, RecipientBrandLogoUpload, NotificationImageAsset, UpdateProjectRecipientExperienceRequest, EnvironmentRecipientExperience, UpdateEnvironmentRecipientExperienceRequest, SubscriberChannelSettings, AcknowledgeEmailRemediationRequest, CreateRecipientSessionRequest, CreateRecipientSessionResponse, RecipientSession, RecipientSessionCapability, CreateProviderHandoffRequest, ProviderHandoff, SetPreferredBindingRequest, PreferredBinding, CreateSubscriberRequest, Subscriber, SubscriberDataExport, UpdateSubscriberRequest, SubscriberCollection, CloseOrganizationRequest, InviteTeammateRequest, Teammate, TeammateAccessRequest, TeammateCollection, OrganizationClosureResult, CreateSubscriberGroupRequest, UpdateSubscriberGroupRequest, SubscriberGroup, SubscriberGroupCollection, SubscriberGroupMembership, SubscriberGroupMembershipCollection, CreateGroupBroadcastRequest, GroupBroadcast, CreateOrganizationCredentialRequest, CreateApiCredentialRequest, CreateChannelConnectionRequest, CreateCustomerEndpointRequest, CreateMachineClientRequest, CreateMessageRequest, CancelEscalationByKeyRequest, EscalationPathPreview, EscalationOrder, EscalationOrderCollection, SaveEscalationOrderRequest, QuietHours, SaveQuietHoursRequest, EscalationPolicy, EscalationPolicyCollection, EscalationLimits, UpdateEscalationLimitsRequest, EscalationPagingLimitReport, EscalationPolicyLevel, UpdateEscalationPolicyRequest, CancelEscalationRequest, Escalation, MessageCategory, MessageCategoryCollection, CreateMessageCategoryRequest, UpdateMessageCategoryRequest, SubscriberCategoryPreference, SubscriberCategoryPreferenceCollection, CreateProjectRequest, UpdateProjectRequest, CreateSubscriptionLinkRequest, CustomerEndpoint, CustomerEndpointAttemptCollection, CustomerEndpointCollection, CustomerEndpointMutationResult, InteractionSummary, MachineClient, MachineCredential, MachineEventAckRequest, MachineEventAckResponse, MachineEventPollResponse, Message, Problem, Project, ProjectCollection, RecipientCopyKey, RecipientCopyOverride, RecipientCopyOverrideCollection, RecipientLanguage, ProviderCapabilitiesCollection, ProviderInstallation, ProviderInstallationCollection, EmailDomain, EmailDomainCollection, CreateEmailDomainRequest, RegisterMachineCredentialRequest, RotateOrganizationCredentialRequest, RotateApiCredentialRequest, ConnectionTest, ConnectionTestCollection, CreateConnectionTestRequest, CustomerApplicationManifest, RotateChannelConnectionCredentialRequest, RotateCustomerEndpointRequest, SubscriptionLink, UpdateChannelConnectionRequest, UpdateRecipientCopyOverrideRequest } from "@whooshbang/contracts";
|
|
5
|
+
import type { OrganizationProjection, ApiCredential, OrganizationCredential, OrganizationCredentialCollection, OrganizationCredentialRotation, OrganizationCredentialSecretReveal, ApiCredentialCollection, ApiCredentialRotation, ApiCredentialSecretReveal, AttachNotifierConnectionRequest, ChannelConnection, ChannelConnectionCollection, ConnectionProviderCollection, UsageGrouping, UsageReport, MessageState, MessageListPage, MessageDeliveryHistory, MessageNotificationImage, InteractionTimeline, UpdateEmailSenderRequest, CustomerEventDeliveryHistory, CustomerEventDeliveryAttempt, DeliveryHolds, MachineClientOperationsList, RecipientCopyCatalogue, NotifierConnectionCollection, ProjectRecipientExperience, RecipientBrandLogoUpload, NotificationImageAsset, UpdateProjectRecipientExperienceRequest, EnvironmentRecipientExperience, UpdateEnvironmentRecipientExperienceRequest, SubscriberChannelSettings, AcknowledgeEmailRemediationRequest, CreateRecipientSessionRequest, CreateRecipientSessionResponse, RecipientSession, RecipientSessionCapability, CreateProviderHandoffRequest, ProviderHandoff, SetPreferredBindingRequest, PreferredBinding, CreateSubscriberRequest, Subscriber, SubscriberDataExport, UpdateSubscriberRequest, SubscriberCollection, CloseOrganizationRequest, InviteTeammateRequest, Teammate, TeammateAccessRequest, TeammateCollection, OrganizationClosureResult, CreateSubscriberGroupRequest, UpdateSubscriberGroupRequest, SubscriberGroup, SubscriberGroupCollection, SubscriberGroupMembership, SubscriberGroupMembershipCollection, CreateGroupBroadcastRequest, GroupBroadcast, CreateOrganizationCredentialRequest, CreateApiCredentialRequest, CreateChannelConnectionRequest, CreateCustomerEndpointRequest, CreateMachineClientRequest, CreateMessageRequest, CancelEscalationByKeyRequest, EscalationPathPreview, EscalationOrder, EscalationOrderCollection, SaveEscalationOrderRequest, QuietHours, SaveQuietHoursRequest, SetDigestPreferenceRequest, SetSubscriberDigestSettingRequest, SubscriberDigestSettings, EscalationPolicy, EscalationPolicyCollection, EscalationLimits, UpdateEscalationLimitsRequest, EscalationPagingLimitReport, EscalationPolicyLevel, UpdateEscalationPolicyRequest, CancelEscalationRequest, Escalation, MessageCategory, MessageCategoryCollection, CreateMessageCategoryRequest, UpdateMessageCategoryRequest, SubscriberCategoryPreference, SubscriberCategoryPreferenceCollection, CreateProjectRequest, UpdateProjectRequest, CreateSubscriptionLinkRequest, CustomerEndpoint, CustomerEndpointAttemptCollection, CustomerEndpointCollection, CustomerEndpointMutationResult, InteractionSummary, MachineClient, MachineCredential, MachineEventAckRequest, MachineEventAckResponse, MachineEventPollResponse, Message, Problem, Project, ProjectCollection, RecipientCopyKey, RecipientCopyOverride, RecipientCopyOverrideCollection, RecipientLanguage, ProviderCapabilitiesCollection, ProviderInstallation, ProviderInstallationCollection, EmailDomain, EmailDomainCollection, CreateEmailDomainRequest, RegisterMachineCredentialRequest, RotateOrganizationCredentialRequest, RotateApiCredentialRequest, ConnectionTest, ConnectionTestCollection, CreateConnectionTestRequest, CustomerApplicationManifest, RotateChannelConnectionCredentialRequest, RotateCustomerEndpointRequest, SubscriptionLink, UpdateChannelConnectionRequest, UpdateRecipientCopyOverrideRequest } from "@whooshbang/contracts";
|
|
6
6
|
export type WhooshBangFetch = (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
|
|
7
7
|
/**
|
|
8
8
|
* The outcome of one SDK invocation, as reported to an optional logging hook.
|
|
@@ -445,6 +445,18 @@ export declare class WhooshBangClient {
|
|
|
445
445
|
* them, through their recipient session.
|
|
446
446
|
*/
|
|
447
447
|
getSubscriberQuietHours(projectId: string, environmentId: string, subscriberId: string, options?: RequestOptions): Promise<QuietHours>;
|
|
448
|
+
/**
|
|
449
|
+
* One subscriber's digest settings: for each category, the policy in
|
|
450
|
+
* effect, where each setting comes from, what the subscriber may change,
|
|
451
|
+
* their saved choices and your setting for them (FXO-3729).
|
|
452
|
+
*/
|
|
453
|
+
getSubscriberDigestSettings(projectId: string, environmentId: string, subscriberId: string, options?: RequestOptions): Promise<SubscriberDigestSettings>;
|
|
454
|
+
/**
|
|
455
|
+
* Your digest setting for one subscriber and category, and which settings
|
|
456
|
+
* they can't change; `{ setting: null }` removes it. Their own choice is
|
|
457
|
+
* kept and returns when you unlock.
|
|
458
|
+
*/
|
|
459
|
+
setSubscriberDigestSetting(projectId: string, environmentId: string, subscriberId: string, categoryKey: string, request: SetSubscriberDigestSettingRequest, options?: RequestOptions): Promise<SubscriberDigestSettings>;
|
|
448
460
|
transitionSubscriberBinding(projectId: string, environmentId: string, subscriberId: string, bindingId: string, action: "pause" | "resume" | "unsubscribe", options?: RequestOptions): Promise<SubscriberChannelSettings>;
|
|
449
461
|
setSubscriberPreferredBinding(projectId: string, environmentId: string, subscriberId: string, request: SetPreferredBindingRequest, options?: RequestOptions): Promise<SubscriberChannelSettings>;
|
|
450
462
|
acknowledgeEmailRemediation(projectId: string, environmentId: string, connectionId: string, request: AcknowledgeEmailRemediationRequest, options?: RequestOptions): Promise<ChannelConnection>;
|
|
@@ -938,6 +950,24 @@ export declare class WhooshBangRecipientSessionClient {
|
|
|
938
950
|
* is not theirs.
|
|
939
951
|
*/
|
|
940
952
|
saveQuietHours(request: SaveQuietHoursRequest, options?: RequestOptions): Promise<QuietHours>;
|
|
953
|
+
/**
|
|
954
|
+
* This subscriber's digest settings: only the categories whose owner lets
|
|
955
|
+
* them choose something, with what is in effect and what they can change,
|
|
956
|
+
* plus their Default (FXO-3729).
|
|
957
|
+
*/
|
|
958
|
+
getDigestSettings(options?: RequestOptions): Promise<SubscriberDigestSettings>;
|
|
959
|
+
/**
|
|
960
|
+
* Sets this subscriber's Default digest choice, or clears it with
|
|
961
|
+
* `{ preference: null }`. A setting the owner doesn't offer fails with
|
|
962
|
+
* `request_invalid` naming it, and the previous setting stays.
|
|
963
|
+
*/
|
|
964
|
+
setDefaultDigestPreference(request: SetDigestPreferenceRequest, options?: RequestOptions): Promise<SubscriberDigestSettings>;
|
|
965
|
+
/**
|
|
966
|
+
* Sets this subscriber's digest choice for one category, or clears it so
|
|
967
|
+
* the category follows the Default again. Locked or unoffered settings
|
|
968
|
+
* fail with `request_invalid` and the previous setting stays.
|
|
969
|
+
*/
|
|
970
|
+
setCategoryDigestPreference(categoryKey: string, request: SetDigestPreferenceRequest, options?: RequestOptions): Promise<SubscriberDigestSettings>;
|
|
941
971
|
/** Turns off this subscriber's quiet hours. */
|
|
942
972
|
resetQuietHours(options?: RequestOptions): Promise<QuietHours>;
|
|
943
973
|
transitionBinding(bindingId: string, action: RecipientBindingAction, options?: RequestOptions): Promise<RecipientSession>;
|
package/dist/client.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { validateWhoAmI, validateOperatorCollection, validateOperatorResolution, validateCreateOperatorMessageRequest, validateOperatorMessageResult, validateOperatorBroadcast, validateOperatorPreferences, validateOperatorConnectRequest, } from "@whooshbang/contracts";
|
|
2
2
|
import { validateAssertEmailConsentRequest, validateBindingSummary, } from "@whooshbang/contracts";
|
|
3
|
-
import { contractValidationErrors, validateOrganizationCredential, validateOrganizationCredentialCollection, validateOrganizationCredentialRotation, validateOrganizationCredentialSecretReveal, validateBillingProjectSlots, validateBillingPromotions, validateBillingPromotion, validateRedeemBillingPromotionRequest, validateAssignBillingProjectSlotsRequest, validateSubscriptionChange, validateConfirmSubscriptionChangeRequest, validateBillingEntitlements, validateSubscriptionSelection, validateProjectAttribution, validateUpdateProjectAttributionRequest, validateAutoTopUpSettings, validateUpdateAutoTopUpSettingsRequest, validateBillingAccount, validateCardSetup, validateCreateCreditPurchaseRequest, validateCreditPurchase, validateBillingInvoiceCollection, validateUpdateBillingReceiptEmailRequest, validateOrganizationProjection, validateApiCredential, validateApiCredentialCollection, validateApiCredentialRotation, validateApiCredentialSecretReveal, validateAttachNotifierConnectionRequest, validateChannelConnection, validateChannelConnectionCollection, validateConnectionProviderCollection, validateUsageReport, validateMessageListPage, validateMessageDeliveryHistory, validateMessageNotificationImage, validateInteractionTimeline, validateUpdateEmailSenderRequest, validateCustomerEventDeliveryHistory, validateCustomerEventDeliveryAttempt, validateDeliveryHolds, validateMachineClientOperationsList, validateRecipientCopyCatalogue, validateNotifierConnectionCollection, validateProjectRecipientExperience, validateRecipientBrandLogoUpload, validateNotificationImageAsset, validateUpdateProjectRecipientExperienceRequest, validateEnvironmentRecipientExperience, validateUpdateEnvironmentRecipientExperienceRequest, validateSubscriberChannelSettings, validateAcknowledgeEmailRemediationRequest, validateCreateRecipientSessionRequest, validateCreateRecipientSessionResponse, validateRecipientSession, validateCreateProviderHandoffRequest, validateProviderHandoff, validateSetPreferredBindingRequest, validatePreferredBinding, validateCreateSubscriberRequest, validateSubscriber, validateSubscriberDataExport, validateUpdateSubscriberRequest, validateSubscriberCollection, validateCloseOrganizationRequest, validateInviteTeammateRequest, validateTeammate, validateTeammateAccessRequest, validateTeammateCollection, validateOrganizationClosureResult, validateCreateSubscriberGroupRequest, validateUpdateSubscriberGroupRequest, validateSubscriberGroup, validateSubscriberGroupCollection, validateSubscriberGroupMembership, validateSubscriberGroupMembershipCollection, validateCreateGroupBroadcastRequest, validateGroupBroadcast, validateCreateOrganizationCredentialRequest, validateCreateApiCredentialRequest, validateCreateChannelConnectionRequest, validateCreateCustomerEndpointRequest, validateCreateMachineClientRequest, validateCreateMessageRequest, validateCancelEscalationByKeyRequest, validateEscalationPathPreview, validateEscalationOrder, validateEscalationOrderCollection, validateSaveEscalationOrderRequest, validateQuietHours, validateSaveQuietHoursRequest, validateEscalationPolicy, validateEscalationPolicyCollection, validateEscalationLimits, validateUpdateEscalationLimitsRequest, validateEscalationPagingLimitReport, validateUpdateEscalationPolicyRequest, validateCancelEscalationRequest, validateEscalation, validateMessageCategory, validateMessageCategoryCollection, validateCreateMessageCategoryRequest, validateUpdateMessageCategoryRequest, validateSubscriberCategoryPreference, validateSubscriberCategoryPreferenceCollection, validateSetSubscriberCategoryPreferenceRequest, validateCreateProjectRequest, validateUpdateProjectRequest, validateCreateSubscriptionLinkRequest, validateCustomerEndpoint, validateCustomerEndpointAttemptCollection, validateCustomerEndpointCollection, validateCustomerEndpointMutationResult, validateInteractionSummary, validateMachineClient, validateMachineCredential, validateMachineEventAckRequest, validateMachineEventAckResponse, validateMachineEventPollResponse, validateMessage, validateProblem, validateProject, validateProjectCollection, validateRecipientCopyOverride, validateRecipientCopyOverrideCollection, validateProviderCapabilitiesCollection, validateProviderInstallationCollection, validateEmailDomainCollection, validateCreateEmailDomainRequest, validateRegisterMachineCredentialRequest, validateRotateOrganizationCredentialRequest, validateRotateApiCredentialRequest, validateConnectionTest, validateConnectionTestCollection, validateCreateConnectionTestRequest, validateCustomerApplicationManifest, validateRotateChannelConnectionCredentialRequest, validateRotateCustomerEndpointRequest, validateSubscriptionLink, validateUpdateChannelConnectionRequest, validateUpdateRecipientCopyOverrideRequest, } from "@whooshbang/contracts";
|
|
3
|
+
import { contractValidationErrors, validateOrganizationCredential, validateOrganizationCredentialCollection, validateOrganizationCredentialRotation, validateOrganizationCredentialSecretReveal, validateBillingProjectSlots, validateBillingPromotions, validateBillingPromotion, validateRedeemBillingPromotionRequest, validateAssignBillingProjectSlotsRequest, validateSubscriptionChange, validateConfirmSubscriptionChangeRequest, validateBillingEntitlements, validateSubscriptionSelection, validateProjectAttribution, validateUpdateProjectAttributionRequest, validateAutoTopUpSettings, validateUpdateAutoTopUpSettingsRequest, validateBillingAccount, validateCardSetup, validateCreateCreditPurchaseRequest, validateCreditPurchase, validateBillingInvoiceCollection, validateUpdateBillingReceiptEmailRequest, validateOrganizationProjection, validateApiCredential, validateApiCredentialCollection, validateApiCredentialRotation, validateApiCredentialSecretReveal, validateAttachNotifierConnectionRequest, validateChannelConnection, validateChannelConnectionCollection, validateConnectionProviderCollection, validateUsageReport, validateMessageListPage, validateMessageDeliveryHistory, validateMessageNotificationImage, validateInteractionTimeline, validateUpdateEmailSenderRequest, validateCustomerEventDeliveryHistory, validateCustomerEventDeliveryAttempt, validateDeliveryHolds, validateMachineClientOperationsList, validateRecipientCopyCatalogue, validateNotifierConnectionCollection, validateProjectRecipientExperience, validateRecipientBrandLogoUpload, validateNotificationImageAsset, validateUpdateProjectRecipientExperienceRequest, validateEnvironmentRecipientExperience, validateUpdateEnvironmentRecipientExperienceRequest, validateSubscriberChannelSettings, validateAcknowledgeEmailRemediationRequest, validateCreateRecipientSessionRequest, validateCreateRecipientSessionResponse, validateRecipientSession, validateCreateProviderHandoffRequest, validateProviderHandoff, validateSetPreferredBindingRequest, validatePreferredBinding, validateCreateSubscriberRequest, validateSubscriber, validateSubscriberDataExport, validateUpdateSubscriberRequest, validateSubscriberCollection, validateCloseOrganizationRequest, validateInviteTeammateRequest, validateTeammate, validateTeammateAccessRequest, validateTeammateCollection, validateOrganizationClosureResult, validateCreateSubscriberGroupRequest, validateUpdateSubscriberGroupRequest, validateSubscriberGroup, validateSubscriberGroupCollection, validateSubscriberGroupMembership, validateSubscriberGroupMembershipCollection, validateCreateGroupBroadcastRequest, validateGroupBroadcast, validateCreateOrganizationCredentialRequest, validateCreateApiCredentialRequest, validateCreateChannelConnectionRequest, validateCreateCustomerEndpointRequest, validateCreateMachineClientRequest, validateCreateMessageRequest, validateCancelEscalationByKeyRequest, validateEscalationPathPreview, validateEscalationOrder, validateEscalationOrderCollection, validateSaveEscalationOrderRequest, validateQuietHours, validateSaveQuietHoursRequest, validateSetDigestPreferenceRequest, validateSetSubscriberDigestSettingRequest, validateSubscriberDigestSettings, validateEscalationPolicy, validateEscalationPolicyCollection, validateEscalationLimits, validateUpdateEscalationLimitsRequest, validateEscalationPagingLimitReport, validateUpdateEscalationPolicyRequest, validateCancelEscalationRequest, validateEscalation, validateMessageCategory, validateMessageCategoryCollection, validateCreateMessageCategoryRequest, validateUpdateMessageCategoryRequest, validateSubscriberCategoryPreference, validateSubscriberCategoryPreferenceCollection, validateSetSubscriberCategoryPreferenceRequest, validateCreateProjectRequest, validateUpdateProjectRequest, validateCreateSubscriptionLinkRequest, validateCustomerEndpoint, validateCustomerEndpointAttemptCollection, validateCustomerEndpointCollection, validateCustomerEndpointMutationResult, validateInteractionSummary, validateMachineClient, validateMachineCredential, validateMachineEventAckRequest, validateMachineEventAckResponse, validateMachineEventPollResponse, validateMessage, validateProblem, validateProject, validateProjectCollection, validateRecipientCopyOverride, validateRecipientCopyOverrideCollection, validateProviderCapabilitiesCollection, validateProviderInstallationCollection, validateEmailDomainCollection, validateCreateEmailDomainRequest, validateRegisterMachineCredentialRequest, validateRotateOrganizationCredentialRequest, validateRotateApiCredentialRequest, validateConnectionTest, validateConnectionTestCollection, validateCreateConnectionTestRequest, validateCustomerApplicationManifest, validateRotateChannelConnectionCredentialRequest, validateRotateCustomerEndpointRequest, validateSubscriptionLink, validateUpdateChannelConnectionRequest, validateUpdateRecipientCopyOverrideRequest, } from "@whooshbang/contracts";
|
|
4
4
|
import { validateAdditiveCompatible } from "./additive-compatibility.js";
|
|
5
5
|
import { WhooshBangContractError, WhooshBangOutcomeUnknownError, WhooshBangProblemError, WhooshBangProtocolError, WhooshBangTransportError, WhooshBangValidationError, validationError, } from "./errors.js";
|
|
6
6
|
import { interactionAnswer } from "./interactions.js";
|
|
@@ -1688,6 +1688,40 @@ export class WhooshBangClient {
|
|
|
1688
1688
|
validator: validateQuietHours,
|
|
1689
1689
|
});
|
|
1690
1690
|
}
|
|
1691
|
+
/**
|
|
1692
|
+
* One subscriber's digest settings: for each category, the policy in
|
|
1693
|
+
* effect, where each setting comes from, what the subscriber may change,
|
|
1694
|
+
* their saved choices and your setting for them (FXO-3729).
|
|
1695
|
+
*/
|
|
1696
|
+
async getSubscriberDigestSettings(projectId, environmentId, subscriberId, options = {}) {
|
|
1697
|
+
const operation = "getSubscriberDigestSettings";
|
|
1698
|
+
return this.#request({
|
|
1699
|
+
method: "GET",
|
|
1700
|
+
operation,
|
|
1701
|
+
options,
|
|
1702
|
+
sideEffect: false,
|
|
1703
|
+
path: `${environmentRoot(operation, projectId, environmentId)}/subscribers/${pathSegment(operation, subscriberId, "subscriberId")}/digest-settings`,
|
|
1704
|
+
validator: validateSubscriberDigestSettings,
|
|
1705
|
+
});
|
|
1706
|
+
}
|
|
1707
|
+
/**
|
|
1708
|
+
* Your digest setting for one subscriber and category, and which settings
|
|
1709
|
+
* they can't change; `{ setting: null }` removes it. Their own choice is
|
|
1710
|
+
* kept and returns when you unlock.
|
|
1711
|
+
*/
|
|
1712
|
+
async setSubscriberDigestSetting(projectId, environmentId, subscriberId, categoryKey, request, options = {}) {
|
|
1713
|
+
const operation = "setSubscriberDigestSetting";
|
|
1714
|
+
assertInput(operation, request, validateSetSubscriberDigestSettingRequest);
|
|
1715
|
+
return this.#request({
|
|
1716
|
+
body: request,
|
|
1717
|
+
method: "PUT",
|
|
1718
|
+
operation,
|
|
1719
|
+
options,
|
|
1720
|
+
sideEffect: true,
|
|
1721
|
+
path: `${environmentRoot(operation, projectId, environmentId)}/subscribers/${pathSegment(operation, subscriberId, "subscriberId")}/digest-settings/categories/${pathSegment(operation, categoryKey, "categoryKey")}`,
|
|
1722
|
+
validator: validateSubscriberDigestSettings,
|
|
1723
|
+
});
|
|
1724
|
+
}
|
|
1691
1725
|
async transitionSubscriberBinding(projectId, environmentId, subscriberId, bindingId, action, options = {}) {
|
|
1692
1726
|
const operation = "transitionSubscriberBinding";
|
|
1693
1727
|
if (!["pause", "resume", "unsubscribe"].includes(action)) {
|
|
@@ -4069,6 +4103,58 @@ export class WhooshBangRecipientSessionClient {
|
|
|
4069
4103
|
validator: validateQuietHours,
|
|
4070
4104
|
});
|
|
4071
4105
|
}
|
|
4106
|
+
/**
|
|
4107
|
+
* This subscriber's digest settings: only the categories whose owner lets
|
|
4108
|
+
* them choose something, with what is in effect and what they can change,
|
|
4109
|
+
* plus their Default (FXO-3729).
|
|
4110
|
+
*/
|
|
4111
|
+
async getDigestSettings(options = {}) {
|
|
4112
|
+
const operation = "getDigestSettings";
|
|
4113
|
+
return this.#request({
|
|
4114
|
+
method: "GET",
|
|
4115
|
+
operation,
|
|
4116
|
+
options,
|
|
4117
|
+
path: "v1/recipient-session/digest-settings",
|
|
4118
|
+
sideEffect: false,
|
|
4119
|
+
validator: validateSubscriberDigestSettings,
|
|
4120
|
+
});
|
|
4121
|
+
}
|
|
4122
|
+
/**
|
|
4123
|
+
* Sets this subscriber's Default digest choice, or clears it with
|
|
4124
|
+
* `{ preference: null }`. A setting the owner doesn't offer fails with
|
|
4125
|
+
* `request_invalid` naming it, and the previous setting stays.
|
|
4126
|
+
*/
|
|
4127
|
+
async setDefaultDigestPreference(request, options = {}) {
|
|
4128
|
+
const operation = "setDefaultDigestPreference";
|
|
4129
|
+
assertInput(operation, request, validateSetDigestPreferenceRequest);
|
|
4130
|
+
return this.#request({
|
|
4131
|
+
body: request,
|
|
4132
|
+
method: "PUT",
|
|
4133
|
+
operation,
|
|
4134
|
+
options,
|
|
4135
|
+
path: "v1/recipient-session/digest-settings/default",
|
|
4136
|
+
sideEffect: true,
|
|
4137
|
+
validator: validateSubscriberDigestSettings,
|
|
4138
|
+
});
|
|
4139
|
+
}
|
|
4140
|
+
/**
|
|
4141
|
+
* Sets this subscriber's digest choice for one category, or clears it so
|
|
4142
|
+
* the category follows the Default again. Locked or unoffered settings
|
|
4143
|
+
* fail with `request_invalid` and the previous setting stays.
|
|
4144
|
+
*/
|
|
4145
|
+
async setCategoryDigestPreference(categoryKey, request, options = {}) {
|
|
4146
|
+
const operation = "setCategoryDigestPreference";
|
|
4147
|
+
assertInput(operation, request, validateSetDigestPreferenceRequest);
|
|
4148
|
+
return this.#request({
|
|
4149
|
+
body: request,
|
|
4150
|
+
method: "PUT",
|
|
4151
|
+
operation,
|
|
4152
|
+
options,
|
|
4153
|
+
path: `v1/recipient-session/digest-settings/categories/${pathSegment(operation, categoryKey, "categoryKey")}`,
|
|
4154
|
+
sideEffect: true,
|
|
4155
|
+
validator: validateSubscriberDigestSettings,
|
|
4156
|
+
});
|
|
4157
|
+
}
|
|
4072
4158
|
/** Turns off this subscriber's quiet hours. */
|
|
4073
4159
|
async resetQuietHours(options = {}) {
|
|
4074
4160
|
const operation = "resetQuietHours";
|