Repository URL to install this package:
|
Version:
2.1.0 ▾
|
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.unarchiveActivity = exports.duplicateCalendar = exports.createCalendar = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _paywall = require("../constants/paywall");
var _requests = require("./requests");
var _common = require("../constants/common");
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
var createCalendar = function createCalendar(_ref) {
var token = _ref.token,
apiHost = _ref.apiHost,
_ref$slots = _ref.slots,
slots = _ref$slots === void 0 ? [] : _ref$slots,
_ref$calendarDetails = _ref.calendarDetails,
calendarDetails = _ref$calendarDetails === void 0 ? {} : _ref$calendarDetails,
resolve = _ref.resolve,
captchaToken = _ref.captchaToken,
primaryCalendarAccountId = _ref.primaryCalendarAccountId;
return (0, _requests.createCalendarRequest)({
token: token,
captchaToken: captchaToken,
apiHost: apiHost,
slots: slots,
calendarDetails: calendarDetails,
primaryCalendarAccountId: primaryCalendarAccountId
}).then(function _callee(res) {
var calendarResponse, parsedCalendarResponse;
return _regenerator["default"].async(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return _regenerator["default"].awrap(res.text());
case 2:
calendarResponse = _context.sent;
parsedCalendarResponse = JSON.parse(calendarResponse);
if (res.ok) {
_context.next = 8;
break;
}
if (!(parsedCalendarResponse.code === 17)) {
_context.next = 7;
break;
}
throw new Error(_common.recaptchaError);
case 7:
throw new Error(parsedCalendarResponse.message);
case 8:
resolve({
status: _paywall.paywallStatus.PASS,
payload: {
externalId: parsedCalendarResponse.externalId
}
});
case 9:
case "end":
return _context.stop();
}
}
});
})["catch"](function (e) {
resolve(_objectSpread({}, _paywall.createCalendarError, {
message: e.message
}));
});
};
exports.createCalendar = createCalendar;
var duplicateCalendar = function duplicateCalendar(_ref2) {
var token = _ref2.token,
captchaToken = _ref2.captchaToken,
apiHost = _ref2.apiHost,
id = _ref2.id,
resolve = _ref2.resolve,
primaryCalendarAccountId = _ref2.primaryCalendarAccountId;
(0, _requests.getCalendarRequest)({
token: token,
captchaToken: captchaToken,
id: id,
apiHost: apiHost
}).then(function _callee2(res) {
var calendarResponse, parsedCalendarResponse, slots, place, description, subject, duration, calendarDetails, filteredSlots;
return _regenerator["default"].async(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return _regenerator["default"].awrap(res.text());
case 2:
calendarResponse = _context2.sent;
parsedCalendarResponse = JSON.parse(calendarResponse);
if (res.ok) {
_context2.next = 6;
break;
}
throw new Error(parsedCalendarResponse.message);
case 6:
slots = parsedCalendarResponse.slots, place = parsedCalendarResponse.place, description = parsedCalendarResponse.description, subject = parsedCalendarResponse.subject, duration = parsedCalendarResponse.duration;
calendarDetails = {
place: place,
description: description,
subject: subject,
duration: duration
};
filteredSlots = slots.filter(function (slot) {
return +new Date(slot.start) > +new Date();
}).map(function (slot) {
return _objectSpread({}, slot, {
attendee: null
});
});
createCalendar({
token: token,
captchaToken: captchaToken,
apiHost: apiHost,
slots: filteredSlots,
calendarDetails: calendarDetails,
resolve: resolve,
primaryCalendarAccountId: primaryCalendarAccountId
});
case 10:
case "end":
return _context2.stop();
}
}
});
})["catch"](function (e) {
resolve(_objectSpread({}, _paywall.getCalendarError, {
message: e.message
}));
});
};
exports.duplicateCalendar = duplicateCalendar;
var unarchiveActivity = function unarchiveActivity(_ref3) {
var token = _ref3.token,
apiHost = _ref3.apiHost,
id = _ref3.id,
resolve = _ref3.resolve;
return (0, _requests.unarchiveActivityRequest)({
token: token,
apiHost: apiHost,
id: id
}).then(function () {
resolve({
status: _paywall.paywallStatus.PASS
});
})["catch"](function (e) {
resolve(_objectSpread({}, _paywall.unarchiveError, {
message: e.message
}));
});
};
exports.unarchiveActivity = unarchiveActivity;