Repository URL to install this package:
|
Version:
2.0.1 ▾
|
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.changeAutoRenewalError = exports.changeAutoRenewalSubmitting = exports.changeAutoRenewalSuccess = exports.changeAutoRenewalPremium = exports.fetchAllSubscriptionsError = exports.fetchAllSubscriptionsSuccess = exports.fetchAllSubscriptions = exports.saveAndValidateBillingInfoError = exports.saveAndValidateBillingInfoSuccess = exports.subscriptionFailed = exports.subscriptionStarted = exports.fetchSubscriptionError = exports.fetchSubscriptionSuccess = exports.fetchVatIdValidityError = exports.fetchVatIdValiditySuccess = exports.fetchSubdomainAvailabilityError = exports.fetchSubdomainAvailabilitySuccess = exports.saveAndValidateBillingInfo = exports.startSubscription = exports.fetchSubscription = exports.fetchVatIdValidity = exports.fetchSubdomainAvailability = exports.ActionTypes = void 0;
var ActionTypes = {
START_SUBSCRIPTION: '@doodle/subscription/START_SUBSCRIPTION',
SUBSCRIPTION_STARTED: '@doodle/subscription/SUBSCRIPTION_STARTED',
SUBSCRIPTION_FAILED: '@doodle/subscription/SUBSCRIPTION_FAILED',
SUBSCRIPTION_CHANGE_AUTORENEWAL: '@doodle/subscription/SUBSCRIPTION_CHANGE_AUTORENEWAL',
CHANGE_AUTORENEWAL_SUBMITTING: '@doodle/subscription/CHANGE_AUTORENEWAL_SUBMITTING',
CHANGE_AUTORENEWAL_SUCCESS: '@doodle/subscription/CHANGE_AUTORENEWAL_SUCCESS',
CHANGE_AUTORENEWAL_ERROR: '@doodle/subscription/CHANGE_AUTORENEWAL_ERROR',
FETCH_SUBDOMAIN_AVAILABILITY: '@doodle/subscription/FETCH_SUBDOMAIN_AVAILABILITY',
FETCH_SUBDOMAIN_AVAILABILITY_SUCCESS: '@doodle/subscription/FETCH_SUBDOMAIN_AVAILABILITY_SUCCESS',
FETCH_SUBDOMAIN_AVAILABILITY_ERROR: '@doodle/subscription/FETCH_SUBDOMAIN_AVAILABILITY_ERROR',
FETCH_VATID_VALIDITY: '@doodle/subscription/FETCH_VATID_VALIDITY',
FETCH_VATID_VALIDITY_SUCCESS: '@doodle/subscription/FETCH_VATID_VALIDITY_SUCCESS',
FETCH_VATID_VALIDITY_ERROR: '@doodle/subscription/FETCH_VATID_VALIDITY_ERROR',
FETCH_SUBSCRIPTION: '@doodle/subscription/FETCH_SUBSCRIPTION',
FETCH_SUBSCRIPTION_SUCCESS: '@doodle/subscription/FETCH_SUBSCRIPTION_SUCCESS',
FETCH_SUBSCRIPTION_ERROR: '@doodle/subscription/FETCH_SUBSCRIPTION_ERROR',
FETCH_ALL_SUBSCRIPTIONS: '@doodle/subscription/FETCH_ALL_SUBSCRIPTIONS',
FETCH_ALL_SUBSCRIPTIONS_SUCCESS: '@doodle/subscription/FETCH_ALL_SUBSCRIPTIONS_SUCCESS',
FETCH_ALL_SUBSCRIPTIONS_ERROR: '@doodle/subscription/FETCH_ALL_SUBSCRIPTIONS_ERROR',
SAVE_AND_VALIDATE_BILLING_INFO: '@doodle/subscription/SAVE_AND_VALIDATE_BILLING_INFO',
SAVE_AND_VALIDATE_BILLING_INFO_SUCCESS: '@doodle/subscription/SAVE_AND_VALIDATE_BILLING_INFO_SUCCESS',
SAVE_AND_VALIDATE_BILLING_INFO_ERROR: '@doodle/subscription/SAVE_AND_VALIDATE_BILLING_INFO_ERROR'
};
/**
* The object passed to the API to create or change a subscription.
* @typedef {Object} SubscriptionPayload
* @property {boolean} autoRenewal Whether the subscription renews automatically
* @property {number} units The number of users for the subscription
* @property {string} locale The user's locale
* @property {string=} company The company name (business subscription)
* @property {string=} subdomain The subdomain (business subscription)
* @property {SubscriptionBillingInfo[]} billingInfo An array containing the billing info as first item
*/
/**
* @typedef {Object} SubscriptionBillingInfo
* @property {string} name The user's full name
* @property {string} city The user's city
* @property {string} addrLine1 The user's address (first line)
* @property {string} addrLine2 The user's address (second line)
* @property {string} zip The user's zip code
* @property {string} country The user's country
* @property {SubscriptionTaxationInfo=} taxationInfo
* @property {SubscriptionPaymentInfo=} paymentInfo
*/
/**
* @typedef {Object} SubscriptionTaxationInfo
* @property {string} vatNumber The user's vat number
*/
/**
* @typedef {Object} SubscriptionPaymentInfo
* @property {string} transactionId The stripe token or paypal nonce
* @property {string} paymentProvider E.g. STRIPE or PAYPAL
* @property {string} paymentProviderCountry Country (for stripe) or countryCode (paypal)
*/
//
// Request actions
//
/**
* Checks whether a subdomain is available to be used for a business subscription.
* If the user already has a subscription, the user's mandator id and subdomain need to
* be provided.
* @method
* @public
* @param {string} subdomain The subdomain to check for availability
* @param {string} locale The user's locale
* @param {string=} currentSubdomain The user's current subdomain, if any
* @param {string=} mandatorId The user's mandator id, if any
*/
exports.ActionTypes = ActionTypes;
var fetchSubdomainAvailability = function fetchSubdomainAvailability(subdomain, locale, currentSubdomain, mandatorId) {
return {
type: ActionTypes.FETCH_SUBDOMAIN_AVAILABILITY,
payload: {
subdomain: subdomain,
currentSubdomain: currentSubdomain,
mandatorId: mandatorId,
locale: locale
}
};
};
/**
* Checks whether a VAT ID is valid.
* @method
* @public
* @param {string} authToken Http Authorization bearer token to send with requests to billing API
* @param {string} country The Country selected by the user
* @param {string} vatId The VAT ID provided by the user
*/
exports.fetchSubdomainAvailability = fetchSubdomainAvailability;
var fetchVatIdValidity = function fetchVatIdValidity(authToken, country, vatId) {
return {
type: ActionTypes.FETCH_VATID_VALIDITY,
authToken: authToken,
payload: {
country: country,
vatId: vatId
}
};
};
/**
* Retrieves the user's current subscription.
* @method
* @public
* @param {string} authToken Http Authorization bearer token to send with requests to billing API
*/
exports.fetchVatIdValidity = fetchVatIdValidity;
var fetchSubscription = function fetchSubscription(authToken) {
return {
type: ActionTypes.FETCH_SUBSCRIPTION,
authToken: authToken
};
};
/**
* Starts or updates a subscription.
* @method
* @public
* @param {boolean} isUpdate Whether to update the subscription rather than creating it
* @param {string} planId The id of the subscription plan
* @param {SubscriptionPayload} subscriptionPayload The object sent with the call
* @param {string} authToken Http Authorization bearer token to be sent on the request headers to users service
* @param {string} abTest Consider an A/B test if running
*/
exports.fetchSubscription = fetchSubscription;
var startSubscription = function startSubscription(authToken, isUpdate, planId, subscriptionPayload) {
var abTest = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '';
return {
type: ActionTypes.START_SUBSCRIPTION,
authToken: authToken,
payload: {
isUpdate: isUpdate,
planId: planId,
subscriptionPayload: subscriptionPayload,
abTest: abTest
}
};
};
/**
* Saves billing info and validates vatId.
* @method
* @public
* @param {BillingInfo} BillingInfo The object containg billing information sent with the call
* @param {string} authToken Http Authorization bearer token to send with requests to billing API
*/
exports.startSubscription = startSubscription;
var saveAndValidateBillingInfo = function saveAndValidateBillingInfo(authToken, billingInfo) {
return {
type: ActionTypes.SAVE_AND_VALIDATE_BILLING_INFO,
authToken: authToken,
payload: {
billingInfo: billingInfo
}
};
}; //
// Response actions
//
/**
* @method
* @package
* @param {{ success: boolean }} available Whether the subdomain is available
*/
exports.saveAndValidateBillingInfo = saveAndValidateBillingInfo;
var fetchSubdomainAvailabilitySuccess = function fetchSubdomainAvailabilitySuccess(available) {
return {
type: ActionTypes.FETCH_SUBDOMAIN_AVAILABILITY_SUCCESS,
payload: available
};
};
/**
* @method
* @package
* @param {*} error
*/
exports.fetchSubdomainAvailabilitySuccess = fetchSubdomainAvailabilitySuccess;
var fetchSubdomainAvailabilityError = function fetchSubdomainAvailabilityError(error) {
return {
type: ActionTypes.FETCH_SUBDOMAIN_AVAILABILITY_ERROR,
payload: error
};
};
/**
* @method
* @package
* @param {boolean} valid Whether the VAT ID is valid
*/
exports.fetchSubdomainAvailabilityError = fetchSubdomainAvailabilityError;
var fetchVatIdValiditySuccess = function fetchVatIdValiditySuccess(valid) {
return {
type: ActionTypes.FETCH_VATID_VALIDITY_SUCCESS,
payload: valid
};
};
/**
* @method
* @package
* @param {*} error
*/
exports.fetchVatIdValiditySuccess = fetchVatIdValiditySuccess;
var fetchVatIdValidityError = function fetchVatIdValidityError(error) {
return {
type: ActionTypes.FETCH_VATID_VALIDITY_ERROR,
payload: error
};
};
/**
* @method
* @package
* @param {Object} subscription
*/
exports.fetchVatIdValidityError = fetchVatIdValidityError;
var fetchSubscriptionSuccess = function fetchSubscriptionSuccess(subscription) {
return {
type: ActionTypes.FETCH_SUBSCRIPTION_SUCCESS,
payload: subscription
};
};
/**
* @method
* @package
* @param {*} error
*/
exports.fetchSubscriptionSuccess = fetchSubscriptionSuccess;
var fetchSubscriptionError = function fetchSubscriptionError(error) {
return {
type: ActionTypes.FETCH_SUBSCRIPTION_ERROR,
payload: error
};
};
/**
* @method
* @package
* @param {Object} subscription
*/
exports.fetchSubscriptionError = fetchSubscriptionError;
var subscriptionStarted = function subscriptionStarted(subscription) {
return {
type: ActionTypes.SUBSCRIPTION_STARTED,
subscription: subscription
};
};
/**
* @method
* @package
* @param {*} error
*/
exports.subscriptionStarted = subscriptionStarted;
var subscriptionFailed = function subscriptionFailed(error) {
return {
type: ActionTypes.SUBSCRIPTION_FAILED,
error: error
};
};
/**
* @method
* @package
* @param {Boolean} valid Whether the VAT ID is valid
*/
exports.subscriptionFailed = subscriptionFailed;
var saveAndValidateBillingInfoSuccess = function saveAndValidateBillingInfoSuccess(valid) {
return {
type: ActionTypes.SAVE_AND_VALIDATE_BILLING_INFO_SUCCESS,
payload: valid
};
};
/**
* @method
* @package
* @param {*} error
*/
exports.saveAndValidateBillingInfoSuccess = saveAndValidateBillingInfoSuccess;
var saveAndValidateBillingInfoError = function saveAndValidateBillingInfoError(error) {
return {
type: ActionTypes.SAVE_AND_VALIDATE_BILLING_INFO_ERROR,
payload: error
};
};
/**
* Retrieves the user's current subscription.
* @method
* @public
* @param {string} authToken Http Authorization bearer token to send with requests to billing API
*/
exports.saveAndValidateBillingInfoError = saveAndValidateBillingInfoError;
var fetchAllSubscriptions = function fetchAllSubscriptions(authToken) {
return {
type: ActionTypes.FETCH_ALL_SUBSCRIPTIONS,
authToken: authToken
};
};
/**
* @method
* @package
* @param {Object} subscription
*/
exports.fetchAllSubscriptions = fetchAllSubscriptions;
var fetchAllSubscriptionsSuccess = function fetchAllSubscriptionsSuccess(subscription) {
return {
type: ActionTypes.FETCH_ALL_SUBSCRIPTIONS_SUCCESS,
payload: subscription
};
};
/**
* @method
* @package
* @param {*} error
*/
exports.fetchAllSubscriptionsSuccess = fetchAllSubscriptionsSuccess;
var fetchAllSubscriptionsError = function fetchAllSubscriptionsError(error) {
return {
type: ActionTypes.FETCH_ALL_SUBSCRIPTIONS_ERROR,
payload: error
};
};
/**
* @method
* @param {string} subscriptionId
* @param {boolean} autoRenwalOn
*/
exports.fetchAllSubscriptionsError = fetchAllSubscriptionsError;
var changeAutoRenewalPremium = function changeAutoRenewalPremium(authToken, subscriptionId, autoRenwalOn) {
return {
type: ActionTypes.SUBSCRIPTION_CHANGE_AUTORENEWAL,
authToken: authToken,
payload: {
subscriptionId: subscriptionId,
autoRenwalOn: autoRenwalOn
}
};
};
/**
* @method
* @param {Object} subscription
*/
exports.changeAutoRenewalPremium = changeAutoRenewalPremium;
var changeAutoRenewalSuccess = function changeAutoRenewalSuccess(subscription) {
return {
type: ActionTypes.CHANGE_AUTORENEWAL_SUCCESS,
payload: subscription
};
};
/**
* @method
* @param {boolean} isSubmitting
*/
exports.changeAutoRenewalSuccess = changeAutoRenewalSuccess;
var changeAutoRenewalSubmitting = function changeAutoRenewalSubmitting(isSubmitting) {
return {
type: ActionTypes.CHANGE_AUTORENEWAL_SUBMITTING,
payload: isSubmitting
};
};
/**
* @method
* @param {*} error
*/
exports.changeAutoRenewalSubmitting = changeAutoRenewalSubmitting;
var changeAutoRenewalError = function changeAutoRenewalError(error) {
return {
type: ActionTypes.CHANGE_AUTORENEWAL_ERROR,
payload: error
};
};
exports.changeAutoRenewalError = changeAutoRenewalError;