Repository URL to install this package:
|
Version:
2.1.0 ▾
|
import { store } from '../state/store';
import { setData } from '../state/actions';
import { processType, getUserError } from '../constants/paywall';
import { duplicateCalendar } from './common';
import { getUserDataRequest } from './requests';
import getStatusFromUserData from '../utils/getStatusFromUserData';
export default async ({ token, captchaToken, id, trackingEventPrefix }) => {
const { apiHost } = store.getState();
return new Promise(resolve => {
getUserDataRequest({ token, apiHost })
.then(async res => {
const data = await res.text();
const { status, primaryCalendarAccountId } = getStatusFromUserData({
data,
token,
trackingEventPrefix,
apiHost,
duplicateId: id,
});
if (!status.shouldOpenModal) {
duplicateCalendar({ token, captchaToken, apiHost, id, resolve, primaryCalendarAccountId });
} else {
store.dispatch(
setData({
trackingEventPostfix: status.trackingEventPostfix,
modalType: status.modalType,
isPaywallModalOpen: true,
resolve,
process: processType.DUPLICATE,
})
);
}
})
.catch(e => {
resolve({ ...getUserError, message: e.message });
});
});
};