Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@doodle/subscriptions-api-connector / state / actions / subscriptionActions.js
Size: Mime:
"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;