UNPKG

124 kBJavaScriptView Raw
1(function(e, a) { for(var i in a) e[i] = a[i]; }(exports, /******/ (function(modules) { // webpackBootstrap
2/******/ // The module cache
3/******/ var installedModules = {};
4
5/******/ // The require function
6/******/ function __webpack_require__(moduleId) {
7
8/******/ // Check if module is in cache
9/******/ if(installedModules[moduleId])
10/******/ return installedModules[moduleId].exports;
11
12/******/ // Create a new module (and put it into the cache)
13/******/ var module = installedModules[moduleId] = {
14/******/ exports: {},
15/******/ id: moduleId,
16/******/ loaded: false
17/******/ };
18
19/******/ // Execute the module function
20/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21
22/******/ // Flag the module as loaded
23/******/ module.loaded = true;
24
25/******/ // Return the exports of the module
26/******/ return module.exports;
27/******/ }
28
29
30/******/ // expose the modules object (__webpack_modules__)
31/******/ __webpack_require__.m = modules;
32
33/******/ // expose the module cache
34/******/ __webpack_require__.c = installedModules;
35
36/******/ // __webpack_public_path__
37/******/ __webpack_require__.p = "";
38
39/******/ // Load entry module and return exports
40/******/ return __webpack_require__(0);
41/******/ })
42/************************************************************************/
43/******/ ([
44/* 0 */
45/***/ function(module, exports, __webpack_require__) {
46
47 "use strict";
48
49 Object.defineProperty(exports, "__esModule", {
50 value: true
51 });
52 exports.fetch = exports.hideDestroyAccountErrorModal = exports.hideDestroyAccountSuccessModal = exports.hideUpdatePasswordErrorModal = exports.hideUpdatePasswordSuccessModal = exports.hidePasswordResetRequestErrorModal = exports.hidePasswordResetRequestSuccessModal = exports.hidePasswordResetErrorModal = exports.hideFirstTimeLoginErrorModal = exports.showPasswordResetErrorModal = exports.showFirstTimeLoginErrorModal = exports.hidePasswordResetSuccessModal = exports.hideFirstTimeLoginSuccessModal = exports.showPasswordResetSuccessModal = exports.showFirstTimeLoginSuccessModal = exports.hideEmailSignUpErrorModal = exports.hideEmailSignUpSuccessModal = exports.hideSignOutErrorModal = exports.hideSignOutSuccessModal = exports.hideOAuthSignInErrorModal = exports.hideOAuthSignInSuccessModal = exports.hideEmailSignInErrorModal = exports.hideEmailSignInSuccessModal = exports.getApiUrl = exports.verifyAuth = exports.destroyAccount = exports.updatePasswordModalFormUpdate = exports.updatePasswordModal = exports.updatePasswordFormUpdate = exports.updatePassword = exports.requestPasswordResetFormUpdate = exports.requestPasswordReset = exports.oAuthSignIn = exports.emailSignUpFormUpdate = exports.emailSignUp = exports.signOut = exports.emailSignInFormUpdate = exports.emailSignIn = exports.authenticate = exports.configure = exports.authStateReducer = undefined;
53
54 var _configure = __webpack_require__(5);
55
56 Object.defineProperty(exports, "configure", {
57 enumerable: true,
58 get: function get() {
59 return _configure.configure;
60 }
61 });
62
63 var _authenticate = __webpack_require__(24);
64
65 Object.defineProperty(exports, "authenticate", {
66 enumerable: true,
67 get: function get() {
68 return _authenticate.authenticate;
69 }
70 });
71
72 var _emailSignIn = __webpack_require__(26);
73
74 Object.defineProperty(exports, "emailSignIn", {
75 enumerable: true,
76 get: function get() {
77 return _emailSignIn.emailSignIn;
78 }
79 });
80 Object.defineProperty(exports, "emailSignInFormUpdate", {
81 enumerable: true,
82 get: function get() {
83 return _emailSignIn.emailSignInFormUpdate;
84 }
85 });
86
87 var _signOut = __webpack_require__(29);
88
89 Object.defineProperty(exports, "signOut", {
90 enumerable: true,
91 get: function get() {
92 return _signOut.signOut;
93 }
94 });
95
96 var _emailSignUp = __webpack_require__(32);
97
98 Object.defineProperty(exports, "emailSignUp", {
99 enumerable: true,
100 get: function get() {
101 return _emailSignUp.emailSignUp;
102 }
103 });
104 Object.defineProperty(exports, "emailSignUpFormUpdate", {
105 enumerable: true,
106 get: function get() {
107 return _emailSignUp.emailSignUpFormUpdate;
108 }
109 });
110
111 var _oauthSignIn = __webpack_require__(27);
112
113 Object.defineProperty(exports, "oAuthSignIn", {
114 enumerable: true,
115 get: function get() {
116 return _oauthSignIn.oAuthSignIn;
117 }
118 });
119
120 var _requestPasswordReset = __webpack_require__(33);
121
122 Object.defineProperty(exports, "requestPasswordReset", {
123 enumerable: true,
124 get: function get() {
125 return _requestPasswordReset.requestPasswordReset;
126 }
127 });
128 Object.defineProperty(exports, "requestPasswordResetFormUpdate", {
129 enumerable: true,
130 get: function get() {
131 return _requestPasswordReset.requestPasswordResetFormUpdate;
132 }
133 });
134
135 var _updatePassword = __webpack_require__(36);
136
137 Object.defineProperty(exports, "updatePassword", {
138 enumerable: true,
139 get: function get() {
140 return _updatePassword.updatePassword;
141 }
142 });
143 Object.defineProperty(exports, "updatePasswordFormUpdate", {
144 enumerable: true,
145 get: function get() {
146 return _updatePassword.updatePasswordFormUpdate;
147 }
148 });
149
150 var _updatePasswordModal = __webpack_require__(35);
151
152 Object.defineProperty(exports, "updatePasswordModal", {
153 enumerable: true,
154 get: function get() {
155 return _updatePasswordModal.updatePasswordModal;
156 }
157 });
158 Object.defineProperty(exports, "updatePasswordModalFormUpdate", {
159 enumerable: true,
160 get: function get() {
161 return _updatePasswordModal.updatePasswordModalFormUpdate;
162 }
163 });
164
165 var _destroyAccount = __webpack_require__(25);
166
167 Object.defineProperty(exports, "destroyAccount", {
168 enumerable: true,
169 get: function get() {
170 return _destroyAccount.destroyAccount;
171 }
172 });
173
174 var _sessionStorage = __webpack_require__(11);
175
176 Object.defineProperty(exports, "getApiUrl", {
177 enumerable: true,
178 get: function get() {
179 return _sessionStorage.getApiUrl;
180 }
181 });
182
183 var _ui = __webpack_require__(34);
184
185 Object.defineProperty(exports, "hideEmailSignInSuccessModal", {
186 enumerable: true,
187 get: function get() {
188 return _ui.hideEmailSignInSuccessModal;
189 }
190 });
191 Object.defineProperty(exports, "hideEmailSignInErrorModal", {
192 enumerable: true,
193 get: function get() {
194 return _ui.hideEmailSignInErrorModal;
195 }
196 });
197 Object.defineProperty(exports, "hideOAuthSignInSuccessModal", {
198 enumerable: true,
199 get: function get() {
200 return _ui.hideOAuthSignInSuccessModal;
201 }
202 });
203 Object.defineProperty(exports, "hideOAuthSignInErrorModal", {
204 enumerable: true,
205 get: function get() {
206 return _ui.hideOAuthSignInErrorModal;
207 }
208 });
209 Object.defineProperty(exports, "hideSignOutSuccessModal", {
210 enumerable: true,
211 get: function get() {
212 return _ui.hideSignOutSuccessModal;
213 }
214 });
215 Object.defineProperty(exports, "hideSignOutErrorModal", {
216 enumerable: true,
217 get: function get() {
218 return _ui.hideSignOutErrorModal;
219 }
220 });
221 Object.defineProperty(exports, "hideEmailSignUpSuccessModal", {
222 enumerable: true,
223 get: function get() {
224 return _ui.hideEmailSignUpSuccessModal;
225 }
226 });
227 Object.defineProperty(exports, "hideEmailSignUpErrorModal", {
228 enumerable: true,
229 get: function get() {
230 return _ui.hideEmailSignUpErrorModal;
231 }
232 });
233 Object.defineProperty(exports, "showFirstTimeLoginSuccessModal", {
234 enumerable: true,
235 get: function get() {
236 return _ui.showFirstTimeLoginSuccessModal;
237 }
238 });
239 Object.defineProperty(exports, "showPasswordResetSuccessModal", {
240 enumerable: true,
241 get: function get() {
242 return _ui.showPasswordResetSuccessModal;
243 }
244 });
245 Object.defineProperty(exports, "hideFirstTimeLoginSuccessModal", {
246 enumerable: true,
247 get: function get() {
248 return _ui.hideFirstTimeLoginSuccessModal;
249 }
250 });
251 Object.defineProperty(exports, "hidePasswordResetSuccessModal", {
252 enumerable: true,
253 get: function get() {
254 return _ui.hidePasswordResetSuccessModal;
255 }
256 });
257 Object.defineProperty(exports, "showFirstTimeLoginErrorModal", {
258 enumerable: true,
259 get: function get() {
260 return _ui.showFirstTimeLoginErrorModal;
261 }
262 });
263 Object.defineProperty(exports, "showPasswordResetErrorModal", {
264 enumerable: true,
265 get: function get() {
266 return _ui.showPasswordResetErrorModal;
267 }
268 });
269 Object.defineProperty(exports, "hideFirstTimeLoginErrorModal", {
270 enumerable: true,
271 get: function get() {
272 return _ui.hideFirstTimeLoginErrorModal;
273 }
274 });
275 Object.defineProperty(exports, "hidePasswordResetErrorModal", {
276 enumerable: true,
277 get: function get() {
278 return _ui.hidePasswordResetErrorModal;
279 }
280 });
281 Object.defineProperty(exports, "hidePasswordResetRequestSuccessModal", {
282 enumerable: true,
283 get: function get() {
284 return _ui.hidePasswordResetRequestSuccessModal;
285 }
286 });
287 Object.defineProperty(exports, "hidePasswordResetRequestErrorModal", {
288 enumerable: true,
289 get: function get() {
290 return _ui.hidePasswordResetRequestErrorModal;
291 }
292 });
293 Object.defineProperty(exports, "hideUpdatePasswordSuccessModal", {
294 enumerable: true,
295 get: function get() {
296 return _ui.hideUpdatePasswordSuccessModal;
297 }
298 });
299 Object.defineProperty(exports, "hideUpdatePasswordErrorModal", {
300 enumerable: true,
301 get: function get() {
302 return _ui.hideUpdatePasswordErrorModal;
303 }
304 });
305 Object.defineProperty(exports, "hideDestroyAccountSuccessModal", {
306 enumerable: true,
307 get: function get() {
308 return _ui.hideDestroyAccountSuccessModal;
309 }
310 });
311 Object.defineProperty(exports, "hideDestroyAccountErrorModal", {
312 enumerable: true,
313 get: function get() {
314 return _ui.hideDestroyAccountErrorModal;
315 }
316 });
317
318 var _fetch = __webpack_require__(12);
319
320 Object.defineProperty(exports, "fetch", {
321 enumerable: true,
322 get: function get() {
323 return _interopRequireDefault(_fetch).default;
324 }
325 });
326
327 var _authenticate2 = __webpack_require__(47);
328
329 var _authenticate3 = _interopRequireDefault(_authenticate2);
330
331 var _configure2 = __webpack_require__(48);
332
333 var _configure3 = _interopRequireDefault(_configure2);
334
335 var _user = __webpack_require__(59);
336
337 var _user2 = _interopRequireDefault(_user);
338
339 var _ui2 = __webpack_require__(56);
340
341 var _ui3 = _interopRequireDefault(_ui2);
342
343 var _emailSignIn2 = __webpack_require__(50);
344
345 var _emailSignIn3 = _interopRequireDefault(_emailSignIn2);
346
347 var _emailSignUp2 = __webpack_require__(51);
348
349 var _emailSignUp3 = _interopRequireDefault(_emailSignUp2);
350
351 var _oauthSignIn2 = __webpack_require__(52);
352
353 var _oauthSignIn3 = _interopRequireDefault(_oauthSignIn2);
354
355 var _requestPasswordReset2 = __webpack_require__(53);
356
357 var _requestPasswordReset3 = _interopRequireDefault(_requestPasswordReset2);
358
359 var _updatePassword2 = __webpack_require__(58);
360
361 var _updatePassword3 = _interopRequireDefault(_updatePassword2);
362
363 var _updatePasswordModal2 = __webpack_require__(57);
364
365 var _updatePasswordModal3 = _interopRequireDefault(_updatePasswordModal2);
366
367 var _server = __webpack_require__(54);
368
369 var _server2 = _interopRequireDefault(_server);
370
371 var _signOut2 = __webpack_require__(55);
372
373 var _signOut3 = _interopRequireDefault(_signOut2);
374
375 var _destroyAccount2 = __webpack_require__(49);
376
377 var _destroyAccount3 = _interopRequireDefault(_destroyAccount2);
378
379 var _reduxImmutablejs = __webpack_require__(10);
380
381 var _verifyAuth2 = __webpack_require__(41);
382
383 var _verifyAuth3 = _interopRequireDefault(_verifyAuth2);
384
385 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
386
387 /* reducers */
388 var authStateReducer = exports.authStateReducer = (0, _reduxImmutablejs.combineReducers)({
389 configure: _configure3.default,
390 emailSignIn: _emailSignIn3.default,
391 emailSignUp: _emailSignUp3.default,
392 signOut: _signOut3.default,
393 authentication: _authenticate3.default,
394 requestPasswordReset: _requestPasswordReset3.default,
395 oAuthSignIn: _oauthSignIn3.default,
396 updatePassword: _updatePassword3.default,
397 updatePasswordModal: _updatePasswordModal3.default,
398 destroyAccount: _destroyAccount3.default,
399 server: _server2.default,
400 ui: _ui3.default,
401 user: _user2.default
402 });
403
404 /* actions */
405 exports.verifyAuth = _verifyAuth3.default;
406
407/***/ },
408/* 1 */,
409/* 2 */,
410/* 3 */,
411/* 4 */
412/***/ function(module, exports) {
413
414 module.exports = require("immutable");
415
416/***/ },
417/* 5 */
418/***/ function(module, exports, __webpack_require__) {
419
420 "use strict";
421
422 Object.defineProperty(exports, "__esModule", {
423 value: true
424 });
425 exports.STORE_CURRENT_ENDPOINT_KEY = exports.SET_ENDPOINT_KEYS = undefined;
426 exports.setEndpointKeys = setEndpointKeys;
427 exports.storeCurrentEndpointKey = storeCurrentEndpointKey;
428 exports.configure = configure;
429
430 var _extend = __webpack_require__(16);
431
432 var _extend2 = _interopRequireDefault(_extend);
433
434 var _constants = __webpack_require__(19);
435
436 var C = _interopRequireWildcard(_constants);
437
438 var _authenticate = __webpack_require__(24);
439
440 var _ui = __webpack_require__(34);
441
442 var _server = __webpack_require__(28);
443
444 var _clientSettings = __webpack_require__(60);
445
446 var _sessionStorage = __webpack_require__(11);
447
448 var _verifyAuth = __webpack_require__(41);
449
450 var _verifyAuth2 = _interopRequireDefault(_verifyAuth);
451
452 var _parseUrl = __webpack_require__(37);
453
454 var _parseUrl2 = _interopRequireDefault(_parseUrl);
455
456 var _reactRouterRedux = __webpack_require__(148);
457
458 function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
459
460 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
461
462 var SET_ENDPOINT_KEYS = exports.SET_ENDPOINT_KEYS = "SET_ENDPOINT_KEYS";
463 var STORE_CURRENT_ENDPOINT_KEY = exports.STORE_CURRENT_ENDPOINT_KEY = "STORE_CURRENT_ENDPOINT_KEY";
464 function setEndpointKeys(endpoints, currentEndpointKey, defaultEndpointKey) {
465 return { type: SET_ENDPOINT_KEYS, endpoints: endpoints, currentEndpointKey: currentEndpointKey, defaultEndpointKey: defaultEndpointKey };
466 };
467 function storeCurrentEndpointKey(currentEndpointKey) {
468 return { type: STORE_CURRENT_ENDPOINT_KEY, currentEndpointKey: currentEndpointKey };
469 };
470
471 function configure() {
472 var endpoint = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
473 var settings = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
474
475 return function (dispatch) {
476 // don't render anything for OAuth redirects
477 if (settings.currentLocation && settings.currentLocation.match(/blank=true/)) {
478 return Promise.resolve({ blank: true });
479 }
480
481 dispatch((0, _authenticate.authenticateStart)());
482
483 var promise = void 0,
484 firstTimeLogin = void 0,
485 mustResetPassword = void 0,
486 user = void 0,
487 headers = void 0;
488
489 if (settings.isServer) {
490 promise = (0, _verifyAuth2.default)(endpoint, settings).then(function (_ref) {
491 var user = _ref.user;
492 var headers = _ref.headers;
493 var firstTimeLogin = _ref.firstTimeLogin;
494 var mustResetPassword = _ref.mustResetPassword;
495 var currentEndpoint = _ref.currentEndpoint;
496 var currentEndpointKey = _ref.currentEndpointKey;
497 var defaultEndpointKey = _ref.defaultEndpointKey;
498
499 dispatch((0, _server.ssAuthTokenUpdate)({
500 headers: headers,
501 user: user,
502 firstTimeLogin: firstTimeLogin,
503 mustResetPassword: mustResetPassword
504 }));
505
506 dispatch(setEndpointKeys(Object.keys(currentEndpoint), currentEndpointKey, defaultEndpointKey));
507
508 return user;
509 }).catch(function (_ref2) {
510 var reason = _ref2.reason;
511 var firstTimeLogin = _ref2.firstTimeLogin;
512 var mustResetPassword = _ref2.mustResetPassword;
513 var currentEndpoint = _ref2.currentEndpoint;
514 var defaultEndpointKey = _ref2.defaultEndpointKey;
515
516 dispatch((0, _server.ssAuthTokenUpdate)({ firstTimeLogin: firstTimeLogin, mustResetPassword: mustResetPassword }));
517 dispatch(setEndpointKeys(Object.keys(currentEndpoint || {}), null, defaultEndpointKey));
518 return Promise.reject({ reason: reason });
519 });
520 } else {
521 // if the authentication happened server-side, find the resulting auth
522 // credentials that were injected into the dom.
523 var tokenBridge = document.getElementById("token-bridge");
524
525 if (tokenBridge) {
526 var rawServerCreds = tokenBridge.innerHTML;
527 if (rawServerCreds) {
528 var serverCreds = JSON.parse(rawServerCreds);
529
530 headers = serverCreds.headers;
531 user = serverCreds.user;
532 firstTimeLogin = serverCreds.firstTimeLogin;
533 mustResetPassword = serverCreds.mustResetPassword;
534
535
536 if (user) {
537 dispatch((0, _authenticate.authenticateComplete)(user));
538
539 // do NOT send initial validation request.
540 // instead use the credentials that were sent back by the server.
541 settings.initialCredentials = serverCreds;
542 }
543
544 // sync client dom to prevent React "out of sync" error
545 dispatch((0, _server.ssAuthTokenUpdate)({
546 user: user,
547 headers: headers,
548 mustResetPassword: mustResetPassword,
549 firstTimeLogin: firstTimeLogin
550 }));
551 }
552 }
553
554 var _getRedirectInfo = (0, _parseUrl2.default)(window.location);
555
556 var authRedirectPath = _getRedirectInfo.authRedirectPath;
557 var authRedirectHeaders = _getRedirectInfo.authRedirectHeaders;
558
559
560 if (authRedirectPath) {
561 dispatch((0, _reactRouterRedux.push)({ pathname: authRedirectPath }));
562 }
563
564 if (authRedirectHeaders && authRedirectHeaders.uid && authRedirectHeaders["access-token"]) {
565 settings.initialCredentials = (0, _extend2.default)({}, settings.initialCredentials, authRedirectHeaders);
566 }
567
568 // if tokens were invalidated by server or from the settings, make sure
569 // to clear browser credentials
570 if (!settings.clientOnly && !settings.initialCredentials || settings.cleanSession) {
571 (0, _sessionStorage.destroySession)();
572 }
573
574 promise = Promise.resolve((0, _clientSettings.applyConfig)({ dispatch: dispatch, endpoint: endpoint, settings: settings }));
575 }
576
577 return promise.then(function (user) {
578 dispatch((0, _authenticate.authenticateComplete)(user));
579
580 if (firstTimeLogin) {
581 dispatch((0, _ui.showFirstTimeLoginSuccessModal)());
582 }
583
584 if (mustResetPassword) {
585 dispatch((0, _ui.showPasswordResetSuccessModal)());
586 }
587
588 return user;
589 }).catch(function () {
590 var _ref3 = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
591
592 var reason = _ref3.reason;
593
594 dispatch((0, _authenticate.authenticateError)([reason]));
595
596 if (firstTimeLogin) {
597 dispatch((0, _ui.showFirstTimeLoginErrorModal)());
598 }
599
600 if (mustResetPassword) {
601 dispatch((0, _ui.showPasswordResetErrorModal)());
602 }
603
604 return Promise.resolve({ reason: reason });
605 });
606 };
607 }
608
609/***/ },
610/* 6 */,
611/* 7 */,
612/* 8 */,
613/* 9 */,
614/* 10 */
615/***/ function(module, exports) {
616
617 module.exports = require("redux-immutablejs");
618
619/***/ },
620/* 11 */
621/***/ function(module, exports, __webpack_require__) {
622
623 "use strict";
624
625 Object.defineProperty(exports, "__esModule", {
626 value: true
627 });
628 exports.setCurrentSettings = setCurrentSettings;
629 exports.getCurrentSettings = getCurrentSettings;
630 exports.setCurrentEndpoint = setCurrentEndpoint;
631 exports.getCurrentEndpoint = getCurrentEndpoint;
632 exports.setCurrentEndpointKey = setCurrentEndpointKey;
633 exports.getCurrentEndpointKey = getCurrentEndpointKey;
634 exports.setDefaultEndpointKey = setDefaultEndpointKey;
635 exports.getDefaultEndpointKey = getDefaultEndpointKey;
636 exports.resetConfig = resetConfig;
637 exports.destroySession = destroySession;
638 exports.getInitialEndpointKey = getInitialEndpointKey;
639 exports.getSessionEndpointKey = getSessionEndpointKey;
640 exports.getSessionEndpoint = getSessionEndpoint;
641 exports.getDestroyAccountUrl = getDestroyAccountUrl;
642 exports.getSignOutUrl = getSignOutUrl;
643 exports.getEmailSignInUrl = getEmailSignInUrl;
644 exports.getEmailSignUpUrl = getEmailSignUpUrl;
645 exports.getPasswordResetRequestUrl = getPasswordResetRequestUrl;
646 exports.getPasswordUpdateUrl = getPasswordUpdateUrl;
647 exports.getTokenValidationPath = getTokenValidationPath;
648 exports.getOAuthUrl = getOAuthUrl;
649 exports.getConfirmationSuccessUrl = getConfirmationSuccessUrl;
650 exports.getPasswordResetRedirectUrl = getPasswordResetRedirectUrl;
651 exports.getApiUrl = getApiUrl;
652 exports.getTokenFormat = getTokenFormat;
653 exports.removeData = removeData;
654 exports.persistData = persistData;
655 exports.retrieveData = retrieveData;
656
657 var _browserCookies = __webpack_require__(140);
658
659 var _browserCookies2 = _interopRequireDefault(_browserCookies);
660
661 var _constants = __webpack_require__(19);
662
663 var C = _interopRequireWildcard(_constants);
664
665 function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
666
667 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
668
669 // even though this code shouldn't be used server-side, node will throw
670 // errors if "window" is used
671 var root = Function("return this")() || (42, eval)("this");
672
673 // stateful variables that persist throughout session
674 root.authState = {
675 currentSettings: {},
676 currentEndpoint: {},
677 defaultEndpointKey: null
678 };
679
680 function setCurrentSettings(s) {
681 root.authState.currentSettings = s;
682 }
683
684 function getCurrentSettings() {
685 return root.authState.currentSettings;
686 }
687
688 function setCurrentEndpoint(e) {
689 root.authState.currentEndpoint = e;
690 }
691
692 function getCurrentEndpoint() {
693 return root.authState.currentEndpoint;
694 }
695
696 function setCurrentEndpointKey(k) {
697 persistData(C.SAVED_CONFIG_KEY, k || getDefaultEndpointKey());
698 }
699
700 function getCurrentEndpointKey() {
701 return retrieveData(C.SAVED_CONFIG_KEY) || getDefaultEndpointKey();
702 }
703
704 function setDefaultEndpointKey(k) {
705 persistData(C.DEFAULT_CONFIG_KEY, k);
706 }
707
708 function getDefaultEndpointKey() {
709 return retrieveData(C.DEFAULT_CONFIG_KEY);
710 }
711
712 // reset stateful variables
713 function resetConfig() {
714 root.authState = root.authState || {};
715 root.authState.currentSettings = {};
716 root.authState.currentEndpoint = {};
717 destroySession();
718 }
719
720 function destroySession() {
721 var sessionKeys = [C.SAVED_CREDS_KEY, C.SAVED_CONFIG_KEY];
722
723 for (var key in sessionKeys) {
724 key = sessionKeys[key];
725
726 // kill all local storage keys
727 if (root.localStorage) {
728 root.localStorage.removeItem(key);
729 }
730
731 // remove from base path in case config is not specified
732 _browserCookies2.default.erase(key, {
733 path: root.authState.currentSettings.cookiePath || "/"
734 });
735 }
736 }
737
738 function unescapeQuotes(val) {
739 return val && val.replace(/("|')/g, "");
740 };
741
742 function getInitialEndpointKey() {
743 return unescapeQuotes(_browserCookies2.default.get(C.SAVED_CONFIG_KEY) || root.localStorage && root.localStorage.getItem(C.SAVED_CONFIG_KEY));
744 }
745
746 // TODO: make this really work
747 function getSessionEndpointKey(k) {
748 var key = k || getCurrentEndpointKey();
749 if (!key) {
750 throw "You must configure redux-auth before use.";
751 } else {
752 return key;
753 }
754 }
755
756 function getSessionEndpoint(k) {
757 return getCurrentEndpoint()[getSessionEndpointKey(k)];
758 }
759
760 // only should work for current session
761 function getDestroyAccountUrl(endpointKey) {
762 return "" + getApiUrl(endpointKey) + getSessionEndpoint(endpointKey).accountDeletePath;
763 }
764
765 // only should work for current session
766 function getSignOutUrl(endpointKey) {
767 return "" + getApiUrl(endpointKey) + getSessionEndpoint(endpointKey).signOutPath;
768 }
769
770 function getEmailSignInUrl(endpointKey) {
771 return "" + getApiUrl(endpointKey) + getSessionEndpoint(endpointKey).emailSignInPath;
772 }
773
774 function getEmailSignUpUrl(endpointKey) {
775 return "" + getApiUrl(endpointKey) + getSessionEndpoint(endpointKey).emailRegistrationPath + "?config_name=" + endpointKey;
776 }
777
778 function getPasswordResetRequestUrl(endpointKey) {
779 return "" + getApiUrl(endpointKey) + getSessionEndpoint(endpointKey).passwordResetPath + "?config_name=" + endpointKey;
780 }
781
782 function getPasswordUpdateUrl(endpointKey) {
783 return "" + getApiUrl(endpointKey) + getSessionEndpoint(endpointKey).passwordUpdatePath;
784 }
785
786 function getTokenValidationPath(endpointKey) {
787 return "" + getApiUrl(endpointKey) + getSessionEndpoint(endpointKey).tokenValidationPath;
788 }
789
790 function getOAuthUrl(_ref) {
791 var provider = _ref.provider;
792 var params = _ref.params;
793 var endpointKey = _ref.endpointKey;
794
795 var oAuthUrl = getApiUrl(endpointKey) + getSessionEndpoint(endpointKey).authProviderPaths[provider] + "?auth_origin_url=" + encodeURIComponent(root.location.href) + "&config_name=" + encodeURIComponent(getSessionEndpointKey(endpointKey));
796
797 if (params) {
798 for (var key in params) {
799 oAuthUrl += "&";
800 oAuthUrl += encodeURIComponent(key);
801 oAuthUrl += "=";
802 oAuthUrl += encodeURIComponent(params[key]);
803 }
804 }
805
806 return oAuthUrl;
807 }
808
809 function getConfirmationSuccessUrl() {
810 return root.authState.currentSettings.confirmationSuccessUrl();
811 }
812
813 function getPasswordResetRedirectUrl() {
814 return root.authState.currentSettings.confirmationSuccessUrl();
815 }
816
817 function getApiUrl(key) {
818 var configKey = getSessionEndpointKey(key);
819 return root.authState.currentEndpoint[configKey].apiUrl;
820 }
821
822 function getTokenFormat() {
823 return root.authState.currentSettings.tokenFormat;
824 }
825
826 function removeData(key) {
827
828 switch (root.authState.currentSettings.storage) {
829 case "localStorage":
830 root.localStorage.removeItem(key);
831 break;
832 default:
833 _browserCookies2.default.erase(key);
834 }
835 }
836
837 function persistData(key, val) {
838 val = JSON.stringify(val);
839
840 switch (root.authState.currentSettings.storage) {
841 case "localStorage":
842 root.localStorage.setItem(key, val);
843 break;
844
845 default:
846 _browserCookies2.default.set(key, val, {
847 expires: root.authState.currentSettings.cookieExpiry,
848 path: root.authState.currentSettings.cookiePath
849 });
850 break;
851 }
852 };
853
854 function retrieveData(key, storage) {
855 var val = null;
856
857 switch (storage || root.authState.currentSettings.storage) {
858 case "localStorage":
859 val = root.localStorage && root.localStorage.getItem(key);
860 break;
861
862 default:
863 val = _browserCookies2.default.get(key);
864 break;
865 }
866
867 // if value is a simple string, the parser will fail. in that case, simply
868 // unescape the quotes and return the string.
869 try {
870 // return parsed json response
871 return JSON.parse(val);
872 } catch (err) {
873 // unescape quotes
874 return unescapeQuotes(val);
875 }
876 };
877
878/***/ },
879/* 12 */
880/***/ function(module, exports, __webpack_require__) {
881
882 "use strict";
883
884 Object.defineProperty(exports, "__esModule", {
885 value: true
886 });
887 exports.addAuthorizationHeader = addAuthorizationHeader;
888
889 exports.default = function (url) {
890 var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
891
892 if (!options.headers) {
893 options.headers = {};
894 }
895 (0, _extend2.default)(options.headers, getAuthHeaders(url));
896 return (0, _isomorphicFetch2.default)(url, options).then(function (resp) {
897 return updateAuthCredentials(resp);
898 });
899 };
900
901 var _isomorphicFetch = __webpack_require__(42);
902
903 var _isomorphicFetch2 = _interopRequireDefault(_isomorphicFetch);
904
905 var _constants = __webpack_require__(19);
906
907 var C = _interopRequireWildcard(_constants);
908
909 var _extend = __webpack_require__(16);
910
911 var _extend2 = _interopRequireDefault(_extend);
912
913 var _sessionStorage = __webpack_require__(11);
914
915 function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
916
917 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
918
919 var isApiRequest = function isApiRequest(url) {
920 return url.match((0, _sessionStorage.getApiUrl)((0, _sessionStorage.getSessionEndpointKey)()));
921 };
922
923 /**
924 * Add access token as a bearer token in accordance to RFC 6750
925 *
926 * @param {string} accessToken
927 * @param {object} headers
928 * @returns {object} New extended headers object, with Authorization property
929 */
930 function addAuthorizationHeader(accessToken, headers) {
931 return Object.assign({}, headers, {
932 Authorization: "Bearer " + accessToken
933 });
934 }
935
936 function getAuthHeaders(url) {
937 if (isApiRequest(url)) {
938 // fetch current auth headers from storage
939 var currentHeaders = (0, _sessionStorage.retrieveData)(C.SAVED_CREDS_KEY) || {},
940 nextHeaders = {};
941
942 // bust IE cache
943 nextHeaders["If-Modified-Since"] = "Mon, 26 Jul 1997 05:00:00 GMT";
944
945 // set header for each key in `tokenFormat` config
946 for (var key in (0, _sessionStorage.getTokenFormat)()) {
947 nextHeaders[key] = currentHeaders[key];
948 }
949
950 return addAuthorizationHeader(currentHeaders['access-token'], nextHeaders);
951 } else {
952 return {};
953 }
954 }
955
956 function updateAuthCredentials(resp) {
957 // check config apiUrl matches the current response url
958 if (isApiRequest(resp.url)) {
959 // set header for each key in `tokenFormat` config
960 var newHeaders = {};
961
962 // set flag to ensure that we don't accidentally nuke the headers
963 // if the response tokens aren't sent back from the API
964 var blankHeaders = true;
965
966 // set header key + val for each key in `tokenFormat` config
967 for (var key in (0, _sessionStorage.getTokenFormat)()) {
968 newHeaders[key] = resp.headers.get(key);
969
970 if (newHeaders[key]) {
971 blankHeaders = false;
972 }
973 }
974
975 // persist headers for next request
976 if (!blankHeaders) {
977 (0, _sessionStorage.persistData)(C.SAVED_CREDS_KEY, newHeaders);
978 }
979 }
980
981 return resp;
982 }
983
984/***/ },
985/* 13 */,
986/* 14 */,
987/* 15 */,
988/* 16 */
989/***/ function(module, exports) {
990
991 module.exports = require("extend");
992
993/***/ },
994/* 17 */
995/***/ function(module, exports) {
996
997 "use strict";
998
999 Object.defineProperty(exports, "__esModule", {
1000 value: true
1001 });
1002 exports.parseResponse = parseResponse;
1003 function parseResponse(response) {
1004 var json = response.json();
1005 if (response.status >= 200 && response.status < 300) {
1006 return json;
1007 } else {
1008 return json.then(function (err) {
1009 return Promise.reject(err);
1010 });
1011 }
1012 }
1013
1014/***/ },
1015/* 18 */,
1016/* 19 */
1017/***/ function(module, exports) {
1018
1019 "use strict";
1020
1021 Object.defineProperty(exports, "__esModule", {
1022 value: true
1023 });
1024 var INITIAL_CONFIG_KEY = exports.INITIAL_CONFIG_KEY = "default";
1025 var DEFAULT_CONFIG_KEY = exports.DEFAULT_CONFIG_KEY = "defaultConfigKey";
1026 var SAVED_CONFIG_KEY = exports.SAVED_CONFIG_KEY = "currentConfigName";
1027 var SAVED_CREDS_KEY = exports.SAVED_CREDS_KEY = "authHeaders";
1028
1029/***/ },
1030/* 20 */,
1031/* 21 */,
1032/* 22 */,
1033/* 23 */,
1034/* 24 */
1035/***/ function(module, exports) {
1036
1037 "use strict";
1038
1039 Object.defineProperty(exports, "__esModule", {
1040 value: true
1041 });
1042 exports.authenticateStart = authenticateStart;
1043 exports.authenticateComplete = authenticateComplete;
1044 exports.authenticateError = authenticateError;
1045 var AUTHENTICATE_START = exports.AUTHENTICATE_START = "AUTHENTICATE_START";
1046 var AUTHENTICATE_COMPLETE = exports.AUTHENTICATE_COMPLETE = "AUTHENTICATE_COMPLETE";
1047 var AUTHENTICATE_ERROR = exports.AUTHENTICATE_ERROR = "AUTHENTICATE_ERROR";
1048
1049 function authenticateStart() {
1050 return { type: AUTHENTICATE_START };
1051 }
1052 function authenticateComplete(user) {
1053 return { type: AUTHENTICATE_COMPLETE, user: user };
1054 }
1055 function authenticateError(errors) {
1056 return { type: AUTHENTICATE_ERROR, errors: errors };
1057 }
1058
1059/***/ },
1060/* 25 */
1061/***/ function(module, exports, __webpack_require__) {
1062
1063 "use strict";
1064
1065 Object.defineProperty(exports, "__esModule", {
1066 value: true
1067 });
1068 exports.DESTROY_ACCOUNT_ERROR = exports.DESTROY_ACCOUNT_COMPLETE = exports.DESTROY_ACCOUNT_START = undefined;
1069 exports.destroyAccountStart = destroyAccountStart;
1070 exports.destroyAccountComplete = destroyAccountComplete;
1071 exports.destroyAccountError = destroyAccountError;
1072 exports.destroyAccount = destroyAccount;
1073
1074 var _sessionStorage = __webpack_require__(11);
1075
1076 var _handleFetchResponse = __webpack_require__(17);
1077
1078 var _configure = __webpack_require__(5);
1079
1080 var _fetch = __webpack_require__(12);
1081
1082 var _fetch2 = _interopRequireDefault(_fetch);
1083
1084 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1085
1086 var DESTROY_ACCOUNT_START = exports.DESTROY_ACCOUNT_START = "DESTROY_ACCOUNT_START";
1087 var DESTROY_ACCOUNT_COMPLETE = exports.DESTROY_ACCOUNT_COMPLETE = "DESTROY_ACCOUNT_COMPLETE";
1088 var DESTROY_ACCOUNT_ERROR = exports.DESTROY_ACCOUNT_ERROR = "DESTROY_ACCOUNT_ERROR";
1089
1090 function destroyAccountStart(endpoint) {
1091 return { type: DESTROY_ACCOUNT_START, endpoint: endpoint };
1092 }
1093 function destroyAccountComplete(message, endpoint) {
1094 return { type: DESTROY_ACCOUNT_COMPLETE, endpoint: endpoint, message: message };
1095 }
1096 function destroyAccountError(errors, endpoint) {
1097 return { type: DESTROY_ACCOUNT_ERROR, endpoint: endpoint, errors: errors };
1098 }
1099 function destroyAccount(endpoint) {
1100 return function (dispatch) {
1101 dispatch(destroyAccountStart(endpoint));
1102
1103 return (0, _fetch2.default)((0, _sessionStorage.getDestroyAccountUrl)(endpoint), { method: "delete" }).then(_handleFetchResponse.parseResponse).then(function (_ref) {
1104 var message = _ref.message;
1105
1106 dispatch(destroyAccountComplete(message, endpoint));
1107
1108 // revert current session endpoint to default
1109 var defaultEndpointKey = (0, _sessionStorage.getDefaultEndpointKey)();
1110
1111 // set in store
1112 dispatch((0, _configure.storeCurrentEndpointKey)(defaultEndpointKey));
1113
1114 // and in session
1115 (0, _sessionStorage.setCurrentEndpointKey)(defaultEndpointKey);
1116 }).catch(function (_ref2) {
1117 var errors = _ref2.errors;
1118 return dispatch(destroyAccountError(errors, endpoint));
1119 });
1120 };
1121 }
1122
1123/***/ },
1124/* 26 */
1125/***/ function(module, exports, __webpack_require__) {
1126
1127 "use strict";
1128
1129 Object.defineProperty(exports, "__esModule", {
1130 value: true
1131 });
1132 exports.EMAIL_SIGN_IN_FORM_UPDATE = exports.EMAIL_SIGN_IN_ERROR = exports.EMAIL_SIGN_IN_COMPLETE = exports.EMAIL_SIGN_IN_START = undefined;
1133 exports.emailSignInFormUpdate = emailSignInFormUpdate;
1134 exports.emailSignInStart = emailSignInStart;
1135 exports.emailSignInComplete = emailSignInComplete;
1136 exports.emailSignInError = emailSignInError;
1137 exports.emailSignIn = emailSignIn;
1138
1139 var _sessionStorage = __webpack_require__(11);
1140
1141 var _configure = __webpack_require__(5);
1142
1143 var _handleFetchResponse = __webpack_require__(17);
1144
1145 var _fetch = __webpack_require__(12);
1146
1147 var _fetch2 = _interopRequireDefault(_fetch);
1148
1149 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1150
1151 var EMAIL_SIGN_IN_START = exports.EMAIL_SIGN_IN_START = "EMAIL_SIGN_IN_START";
1152 var EMAIL_SIGN_IN_COMPLETE = exports.EMAIL_SIGN_IN_COMPLETE = "EMAIL_SIGN_IN_COMPLETE";
1153 var EMAIL_SIGN_IN_ERROR = exports.EMAIL_SIGN_IN_ERROR = "EMAIL_SIGN_IN_ERROR";
1154 var EMAIL_SIGN_IN_FORM_UPDATE = exports.EMAIL_SIGN_IN_FORM_UPDATE = "EMAIL_SIGN_IN_FORM_UPDATE";
1155
1156 function emailSignInFormUpdate(endpoint, key, value) {
1157 return { type: EMAIL_SIGN_IN_FORM_UPDATE, endpoint: endpoint, key: key, value: value };
1158 }
1159 function emailSignInStart(endpoint) {
1160 return { type: EMAIL_SIGN_IN_START, endpoint: endpoint };
1161 }
1162 function emailSignInComplete(endpoint, user) {
1163 return { type: EMAIL_SIGN_IN_COMPLETE, user: user, endpoint: endpoint };
1164 }
1165 function emailSignInError(endpoint, errors) {
1166 return { type: EMAIL_SIGN_IN_ERROR, errors: errors, endpoint: endpoint };
1167 }
1168 function emailSignIn(body, endpointKey) {
1169 return function (dispatch) {
1170 // save previous endpoint key in case of failure
1171 var prevEndpointKey = (0, _sessionStorage.getCurrentEndpointKey)();
1172
1173 // necessary for fetch to recognize the response as an api request
1174 (0, _sessionStorage.setCurrentEndpointKey)(endpointKey);
1175 var currentEndpointKey = (0, _sessionStorage.getCurrentEndpointKey)();
1176
1177 dispatch((0, _configure.storeCurrentEndpointKey)(currentEndpointKey));
1178 dispatch(emailSignInStart(currentEndpointKey));
1179
1180 return (0, _fetch2.default)((0, _sessionStorage.getEmailSignInUrl)(currentEndpointKey), {
1181 headers: {
1182 "Accept": "application/json",
1183 "Content-Type": "application/json"
1184 },
1185 method: "post",
1186 body: JSON.stringify(body)
1187 }).then(_handleFetchResponse.parseResponse).then(function (user) {
1188 return dispatch(emailSignInComplete(currentEndpointKey, user));
1189 }).catch(function (errors) {
1190 // revert endpoint key to what it was before failed request
1191 (0, _sessionStorage.setCurrentEndpointKey)(prevEndpointKey);
1192 dispatch((0, _configure.storeCurrentEndpointKey)(prevEndpointKey));
1193 return dispatch(emailSignInError(currentEndpointKey, errors));
1194 });
1195 };
1196 }
1197
1198/***/ },
1199/* 27 */
1200/***/ function(module, exports, __webpack_require__) {
1201
1202 "use strict";
1203
1204 Object.defineProperty(exports, "__esModule", {
1205 value: true
1206 });
1207 exports.OAUTH_SIGN_IN_ERROR = exports.OAUTH_SIGN_IN_COMPLETE = exports.OAUTH_SIGN_IN_START = undefined;
1208 exports.oAuthSignInStart = oAuthSignInStart;
1209 exports.oAuthSignInComplete = oAuthSignInComplete;
1210 exports.oAuthSignInError = oAuthSignInError;
1211 exports.oAuthSignIn = oAuthSignIn;
1212
1213 var _constants = __webpack_require__(19);
1214
1215 var C = _interopRequireWildcard(_constants);
1216
1217 var _parseUrl = __webpack_require__(37);
1218
1219 var _sessionStorage = __webpack_require__(11);
1220
1221 var _configure = __webpack_require__(5);
1222
1223 var _handleFetchResponse = __webpack_require__(17);
1224
1225 var _fetch = __webpack_require__(12);
1226
1227 var _fetch2 = _interopRequireDefault(_fetch);
1228
1229 var _popup = __webpack_require__(61);
1230
1231 var _popup2 = _interopRequireDefault(_popup);
1232
1233 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1234
1235 function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
1236
1237 var OAUTH_SIGN_IN_START = exports.OAUTH_SIGN_IN_START = "OAUTH_SIGN_IN_START";
1238 var OAUTH_SIGN_IN_COMPLETE = exports.OAUTH_SIGN_IN_COMPLETE = "OAUTH_SIGN_IN_COMPLETE";
1239 var OAUTH_SIGN_IN_ERROR = exports.OAUTH_SIGN_IN_ERROR = "OAUTH_SIGN_IN_ERROR";
1240
1241 // hook for rewire
1242 var openPopup = _popup2.default;
1243
1244 function listenForCredentials(endpointKey, popup, provider, resolve, reject) {
1245 if (!resolve) {
1246 return new Promise(function (resolve, reject) {
1247 listenForCredentials(endpointKey, popup, provider, resolve, reject);
1248 });
1249 } else {
1250 var creds = void 0;
1251
1252 try {
1253 creds = (0, _parseUrl.getAllParams)(popup.location);
1254 } catch (err) {}
1255
1256 if (creds && creds.uid) {
1257 popup.close();
1258 (0, _sessionStorage.persistData)(C.SAVED_CREDS_KEY, (0, _parseUrl.normalizeTokenKeys)(creds));
1259 (0, _fetch2.default)((0, _sessionStorage.getTokenValidationPath)(endpointKey)).then(_handleFetchResponse.parseResponse).then(function (_ref) {
1260 var data = _ref.data;
1261 return resolve(data);
1262 }).catch(function (_ref2) {
1263 var errors = _ref2.errors;
1264 return reject({ errors: errors });
1265 });
1266 } else if (popup.closed) {
1267 reject({ errors: "Authentication was cancelled." });
1268 } else {
1269 setTimeout(function () {
1270 listenForCredentials(endpointKey, popup, provider, resolve, reject);
1271 }, 0);
1272 }
1273 }
1274 }
1275
1276 function authenticate(_ref3) {
1277 var endpointKey = _ref3.endpointKey;
1278 var provider = _ref3.provider;
1279 var url = _ref3.url;
1280 var _ref3$tab = _ref3.tab;
1281 var tab = _ref3$tab === undefined ? false : _ref3$tab;
1282
1283 var name = tab ? "_blank" : provider;
1284 var popup = openPopup(provider, url, name);
1285 return listenForCredentials(endpointKey, popup, provider);
1286 }
1287
1288 function oAuthSignInStart(provider, endpoint) {
1289 return { type: OAUTH_SIGN_IN_START, provider: provider, endpoint: endpoint };
1290 }
1291 function oAuthSignInComplete(user, endpoint) {
1292 return { type: OAUTH_SIGN_IN_COMPLETE, user: user, endpoint: endpoint };
1293 }
1294 function oAuthSignInError(errors, endpoint) {
1295 return { type: OAUTH_SIGN_IN_ERROR, errors: errors, endpoint: endpoint };
1296 }
1297 function oAuthSignIn(_ref4) {
1298 var provider = _ref4.provider;
1299 var params = _ref4.params;
1300 var endpointKey = _ref4.endpointKey;
1301
1302 return function (dispatch) {
1303 // save previous endpoint key in case of failure
1304 var prevEndpointKey = (0, _sessionStorage.getCurrentEndpointKey)();
1305
1306 // necessary for `fetch` to recognize the response as an api request
1307 (0, _sessionStorage.setCurrentEndpointKey)(endpointKey);
1308 dispatch((0, _configure.storeCurrentEndpointKey)(endpointKey));
1309
1310 var currentEndpointKey = (0, _sessionStorage.getCurrentEndpointKey)();
1311
1312 dispatch(oAuthSignInStart(provider, currentEndpointKey));
1313
1314 var url = (0, _sessionStorage.getOAuthUrl)({ provider: provider, params: params, currentEndpointKey: currentEndpointKey });
1315
1316 authenticate({ endpointKey: endpointKey, provider: provider, url: url }).then(function (user) {
1317 return dispatch(oAuthSignInComplete(user, currentEndpointKey));
1318 }).catch(function (_ref5) {
1319 var errors = _ref5.errors;
1320
1321 // revert endpoint key to what it was before failed request
1322 (0, _sessionStorage.setCurrentEndpointKey)(prevEndpointKey);
1323 dispatch((0, _configure.storeCurrentEndpointKey)(prevEndpointKey));
1324 dispatch(oAuthSignInError(errors, currentEndpointKey));
1325 });
1326 };
1327 }
1328
1329/***/ },
1330/* 28 */
1331/***/ function(module, exports) {
1332
1333 "use strict";
1334
1335 Object.defineProperty(exports, "__esModule", {
1336 value: true
1337 });
1338 exports.ssAuthTokenUpdate = ssAuthTokenUpdate;
1339 var SS_AUTH_TOKEN_UPDATE = exports.SS_AUTH_TOKEN_UPDATE = "SS_AUTH_TOKEN_UPDATE";
1340
1341 function ssAuthTokenUpdate(_ref) {
1342 var user = _ref.user;
1343 var headers = _ref.headers;
1344 var mustResetPassword = _ref.mustResetPassword;
1345 var firstTimeLogin = _ref.firstTimeLogin;
1346 var endpointKey = _ref.endpointKey;
1347
1348 return { type: SS_AUTH_TOKEN_UPDATE, user: user, headers: headers, mustResetPassword: mustResetPassword, firstTimeLogin: firstTimeLogin, endpointKey: endpointKey };
1349 }
1350
1351/***/ },
1352/* 29 */
1353/***/ function(module, exports, __webpack_require__) {
1354
1355 "use strict";
1356
1357 Object.defineProperty(exports, "__esModule", {
1358 value: true
1359 });
1360 exports.SIGN_OUT_ERROR = exports.SIGN_OUT_COMPLETE = exports.SIGN_OUT_START = undefined;
1361 exports.signOutStart = signOutStart;
1362 exports.signOutComplete = signOutComplete;
1363 exports.signOutError = signOutError;
1364 exports.signOut = signOut;
1365
1366 var _sessionStorage = __webpack_require__(11);
1367
1368 var _handleFetchResponse = __webpack_require__(17);
1369
1370 var _configure = __webpack_require__(5);
1371
1372 var _fetch = __webpack_require__(12);
1373
1374 var _fetch2 = _interopRequireDefault(_fetch);
1375
1376 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1377
1378 var SIGN_OUT_START = exports.SIGN_OUT_START = "SIGN_OUT_START";
1379 var SIGN_OUT_COMPLETE = exports.SIGN_OUT_COMPLETE = "SIGN_OUT_COMPLETE";
1380 var SIGN_OUT_ERROR = exports.SIGN_OUT_ERROR = "SIGN_OUT_ERROR";
1381
1382 function signOutStart(endpoint) {
1383 return { type: SIGN_OUT_START, endpoint: endpoint };
1384 }
1385 function signOutComplete(endpoint, user) {
1386 return { type: SIGN_OUT_COMPLETE, user: user, endpoint: endpoint };
1387 }
1388 function signOutError(endpoint, errors) {
1389 return { type: SIGN_OUT_ERROR, endpoint: endpoint, errors: errors };
1390 }
1391 function signOut(endpoint) {
1392 return function (dispatch) {
1393 dispatch(signOutStart(endpoint));
1394
1395 return (0, _fetch2.default)((0, _sessionStorage.getSignOutUrl)(endpoint), { method: "delete" }).then(_handleFetchResponse.parseResponse).then(function (user) {
1396 dispatch(signOutComplete(endpoint, user));
1397 dispatch((0, _configure.storeCurrentEndpointKey)(null));
1398 (0, _sessionStorage.destroySession)();
1399 }).catch(function (_ref) {
1400 var errors = _ref.errors;
1401
1402 dispatch(signOutError(endpoint, errors));
1403 dispatch((0, _configure.storeCurrentEndpointKey)(null));
1404 (0, _sessionStorage.destroySession)();
1405 });
1406 };
1407 }
1408
1409/***/ },
1410/* 30 */,
1411/* 31 */,
1412/* 32 */
1413/***/ function(module, exports, __webpack_require__) {
1414
1415 "use strict";
1416
1417 Object.defineProperty(exports, "__esModule", {
1418 value: true
1419 });
1420 exports.EMAIL_SIGN_UP_FORM_UPDATE = exports.EMAIL_SIGN_UP_ERROR = exports.EMAIL_SIGN_UP_COMPLETE = exports.EMAIL_SIGN_UP_START = undefined;
1421 exports.emailSignUpFormUpdate = emailSignUpFormUpdate;
1422 exports.emailSignUpStart = emailSignUpStart;
1423 exports.emailSignUpComplete = emailSignUpComplete;
1424 exports.emailSignUpError = emailSignUpError;
1425 exports.emailSignUp = emailSignUp;
1426
1427 var _sessionStorage = __webpack_require__(11);
1428
1429 var _handleFetchResponse = __webpack_require__(17);
1430
1431 var _extend = __webpack_require__(16);
1432
1433 var _extend2 = _interopRequireDefault(_extend);
1434
1435 var _fetch = __webpack_require__(12);
1436
1437 var _fetch2 = _interopRequireDefault(_fetch);
1438
1439 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1440
1441 var EMAIL_SIGN_UP_START = exports.EMAIL_SIGN_UP_START = "EMAIL_SIGN_UP_START";
1442 var EMAIL_SIGN_UP_COMPLETE = exports.EMAIL_SIGN_UP_COMPLETE = "EMAIL_SIGN_UP_COMPLETE";
1443 var EMAIL_SIGN_UP_ERROR = exports.EMAIL_SIGN_UP_ERROR = "EMAIL_SIGN_UP_ERROR";
1444 var EMAIL_SIGN_UP_FORM_UPDATE = exports.EMAIL_SIGN_UP_FORM_UPDATE = "EMAIL_SIGN_UP_FORM_UPDATE";
1445
1446 function emailSignUpFormUpdate(endpoint, key, value) {
1447 return { type: EMAIL_SIGN_UP_FORM_UPDATE, endpoint: endpoint, key: key, value: value };
1448 }
1449 function emailSignUpStart(endpoint) {
1450 return { type: EMAIL_SIGN_UP_START, endpoint: endpoint };
1451 }
1452 function emailSignUpComplete(user, endpoint) {
1453 return { type: EMAIL_SIGN_UP_COMPLETE, user: user, endpoint: endpoint };
1454 }
1455 function emailSignUpError(errors, endpoint) {
1456 return { type: EMAIL_SIGN_UP_ERROR, errors: errors, endpoint: endpoint };
1457 }
1458 function emailSignUp(body, endpointKey) {
1459 return function (dispatch) {
1460 dispatch(emailSignUpStart(endpointKey));
1461
1462 return (0, _fetch2.default)((0, _sessionStorage.getEmailSignUpUrl)(endpointKey), {
1463 headers: {
1464 "Accept": "application/json",
1465 "Content-Type": "application/json"
1466 },
1467 method: "post",
1468 body: JSON.stringify((0, _extend2.default)(body, {
1469 confirm_success_url: (0, _sessionStorage.getConfirmationSuccessUrl)()
1470 }))
1471 }).then(_handleFetchResponse.parseResponse).then(function (_ref) {
1472 var data = _ref.data;
1473 return dispatch(emailSignUpComplete(data, endpointKey));
1474 }).catch(function (_ref2) {
1475 var errors = _ref2.errors;
1476 return dispatch(emailSignUpError(errors, endpointKey));
1477 });
1478 };
1479 }
1480
1481/***/ },
1482/* 33 */
1483/***/ function(module, exports, __webpack_require__) {
1484
1485 "use strict";
1486
1487 Object.defineProperty(exports, "__esModule", {
1488 value: true
1489 });
1490 exports.REQUEST_PASSWORD_RESET_FORM_UPDATE = exports.REQUEST_PASSWORD_RESET_ERROR = exports.REQUEST_PASSWORD_RESET_COMPLETE = exports.REQUEST_PASSWORD_RESET_START = undefined;
1491 exports.requestPasswordResetFormUpdate = requestPasswordResetFormUpdate;
1492 exports.requestPasswordResetStart = requestPasswordResetStart;
1493 exports.requestPasswordResetComplete = requestPasswordResetComplete;
1494 exports.requestPasswordResetError = requestPasswordResetError;
1495 exports.requestPasswordReset = requestPasswordReset;
1496
1497 var _sessionStorage = __webpack_require__(11);
1498
1499 var _handleFetchResponse = __webpack_require__(17);
1500
1501 var _extend = __webpack_require__(16);
1502
1503 var _extend2 = _interopRequireDefault(_extend);
1504
1505 var _fetch = __webpack_require__(12);
1506
1507 var _fetch2 = _interopRequireDefault(_fetch);
1508
1509 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1510
1511 var REQUEST_PASSWORD_RESET_START = exports.REQUEST_PASSWORD_RESET_START = "REQUEST_PASSWORD_RESET_START";
1512 var REQUEST_PASSWORD_RESET_COMPLETE = exports.REQUEST_PASSWORD_RESET_COMPLETE = "REQUEST_PASSWORD_RESET_COMPLETE";
1513 var REQUEST_PASSWORD_RESET_ERROR = exports.REQUEST_PASSWORD_RESET_ERROR = "REQUEST_PASSWORD_RESET_ERROR";
1514 var REQUEST_PASSWORD_RESET_FORM_UPDATE = exports.REQUEST_PASSWORD_RESET_FORM_UPDATE = "REQUEST_PASSWORD_RESET_FORM_UPDATE";
1515
1516 function requestPasswordResetFormUpdate(endpoint, key, value) {
1517 return { type: REQUEST_PASSWORD_RESET_FORM_UPDATE, endpoint: endpoint, key: key, value: value };
1518 }
1519 function requestPasswordResetStart(endpoint) {
1520 return { type: REQUEST_PASSWORD_RESET_START, endpoint: endpoint };
1521 }
1522 function requestPasswordResetComplete(endpoint, message) {
1523 return { type: REQUEST_PASSWORD_RESET_COMPLETE, endpoint: endpoint, message: message };
1524 }
1525 function requestPasswordResetError(endpoint, errors) {
1526 return { type: REQUEST_PASSWORD_RESET_ERROR, endpoint: endpoint, errors: errors };
1527 }
1528 function requestPasswordReset(body, endpoint) {
1529 return function (dispatch) {
1530 dispatch(requestPasswordResetStart(endpoint));
1531
1532 return (0, _fetch2.default)((0, _sessionStorage.getPasswordResetRequestUrl)(endpoint), {
1533 headers: {
1534 "Accept": "application/json",
1535 "Content-Type": "application/json"
1536 },
1537 method: "post",
1538 body: JSON.stringify((0, _extend2.default)(body, {
1539 redirect_url: (0, _sessionStorage.getPasswordResetRedirectUrl)(endpoint)
1540 }))
1541 }).then(_handleFetchResponse.parseResponse).then(function (_ref) {
1542 var message = _ref.message;
1543 return dispatch(requestPasswordResetComplete(endpoint, message));
1544 }).catch(function (_ref2) {
1545 var errors = _ref2.errors;
1546 return dispatch(requestPasswordResetError(endpoint, errors));
1547 });
1548 };
1549 }
1550
1551/***/ },
1552/* 34 */
1553/***/ function(module, exports) {
1554
1555 "use strict";
1556
1557 Object.defineProperty(exports, "__esModule", {
1558 value: true
1559 });
1560 exports.hideEmailSignInSuccessModal = hideEmailSignInSuccessModal;
1561 exports.hideEmailSignInErrorModal = hideEmailSignInErrorModal;
1562 exports.hideOAuthSignInSuccessModal = hideOAuthSignInSuccessModal;
1563 exports.hideOAuthSignInErrorModal = hideOAuthSignInErrorModal;
1564 exports.hideSignOutSuccessModal = hideSignOutSuccessModal;
1565 exports.hideSignOutErrorModal = hideSignOutErrorModal;
1566 exports.hideEmailSignUpSuccessModal = hideEmailSignUpSuccessModal;
1567 exports.hideEmailSignUpErrorModal = hideEmailSignUpErrorModal;
1568 exports.showFirstTimeLoginSuccessModal = showFirstTimeLoginSuccessModal;
1569 exports.showPasswordResetSuccessModal = showPasswordResetSuccessModal;
1570 exports.hideFirstTimeLoginSuccessModal = hideFirstTimeLoginSuccessModal;
1571 exports.hidePasswordResetSuccessModal = hidePasswordResetSuccessModal;
1572 exports.showFirstTimeLoginErrorModal = showFirstTimeLoginErrorModal;
1573 exports.showPasswordResetErrorModal = showPasswordResetErrorModal;
1574 exports.hideFirstTimeLoginErrorModal = hideFirstTimeLoginErrorModal;
1575 exports.hidePasswordResetErrorModal = hidePasswordResetErrorModal;
1576 exports.hidePasswordResetRequestSuccessModal = hidePasswordResetRequestSuccessModal;
1577 exports.hidePasswordResetRequestErrorModal = hidePasswordResetRequestErrorModal;
1578 exports.hideUpdatePasswordSuccessModal = hideUpdatePasswordSuccessModal;
1579 exports.hideUpdatePasswordErrorModal = hideUpdatePasswordErrorModal;
1580 exports.hideDestroyAccountSuccessModal = hideDestroyAccountSuccessModal;
1581 exports.hideDestroyAccountErrorModal = hideDestroyAccountErrorModal;
1582 var HIDE_EMAIL_SIGN_IN_SUCCESS_MODAL = exports.HIDE_EMAIL_SIGN_IN_SUCCESS_MODAL = "HIDE_EMAIL_SIGN_IN_SUCCESS_MODAL";
1583 var HIDE_EMAIL_SIGN_IN_ERROR_MODAL = exports.HIDE_EMAIL_SIGN_IN_ERROR_MODAL = "HIDE_EMAIL_SIGN_IN_ERROR_MODAL";
1584 var HIDE_OAUTH_SIGN_IN_SUCCESS_MODAL = exports.HIDE_OAUTH_SIGN_IN_SUCCESS_MODAL = "HIDE_OAUTH_SIGN_IN_SUCCESS_MODAL";
1585 var HIDE_OAUTH_SIGN_IN_ERROR_MODAL = exports.HIDE_OAUTH_SIGN_IN_ERROR_MODAL = "HIDE_OAUTH_SIGN_IN_ERROR_MODAL";
1586 var HIDE_SIGN_OUT_ERROR_MODAL = exports.HIDE_SIGN_OUT_ERROR_MODAL = "HIDE_SIGN_OUT_ERROR_MODAL";
1587 var HIDE_SIGN_OUT_SUCCESS_MODAL = exports.HIDE_SIGN_OUT_SUCCESS_MODAL = "HIDE_SIGN_OUT_SUCCESS_MODAL";
1588 var HIDE_EMAIL_SIGN_UP_SUCCESS_MODAL = exports.HIDE_EMAIL_SIGN_UP_SUCCESS_MODAL = "HIDE_EMAIL_SIGN_UP_SUCCESS_MODAL";
1589 var HIDE_EMAIL_SIGN_UP_ERROR_MODAL = exports.HIDE_EMAIL_SIGN_UP_ERROR_MODAL = "HIDE_EMAIL_SIGN_UP_ERROR_MODAL";
1590 var SHOW_FIRST_TIME_LOGIN_SUCCESS_MODAL = exports.SHOW_FIRST_TIME_LOGIN_SUCCESS_MODAL = "SHOW_FIRST_TIME_LOGIN_SUCCESS_MODAL";
1591 var HIDE_FIRST_TIME_LOGIN_SUCCESS_MODAL = exports.HIDE_FIRST_TIME_LOGIN_SUCCESS_MODAL = "HIDE_FIRST_TIME_LOGIN_SUCCESS_MODAL";
1592 var HIDE_PASSWORD_RESET_SUCCESS_MODAL = exports.HIDE_PASSWORD_RESET_SUCCESS_MODAL = "HIDE_PASSWORD_RESET_SUCCESS_MODAL";
1593 var SHOW_PASSWORD_RESET_SUCCESS_MODAL = exports.SHOW_PASSWORD_RESET_SUCCESS_MODAL = "SHOW_PASSWORD_RESET_SUCCESS_MODAL";
1594 var SHOW_FIRST_TIME_LOGIN_ERROR_MODAL = exports.SHOW_FIRST_TIME_LOGIN_ERROR_MODAL = "SHOW_FIRST_TIME_LOGIN_ERROR_MODAL";
1595 var HIDE_FIRST_TIME_LOGIN_ERROR_MODAL = exports.HIDE_FIRST_TIME_LOGIN_ERROR_MODAL = "HIDE_FIRST_TIME_LOGIN_ERROR_MODAL";
1596 var HIDE_PASSWORD_RESET_ERROR_MODAL = exports.HIDE_PASSWORD_RESET_ERROR_MODAL = "HIDE_PASSWORD_RESET_ERROR_MODAL";
1597 var SHOW_PASSWORD_RESET_ERROR_MODAL = exports.SHOW_PASSWORD_RESET_ERROR_MODAL = "SHOW_PASSWORD_RESET_ERROR_MODAL";
1598 var HIDE_REQUEST_PASSWORD_RESET_SUCCESS_MODAL = exports.HIDE_REQUEST_PASSWORD_RESET_SUCCESS_MODAL = "HIDE_REQUEST_PASSWORD_RESET_SUCCESS_MODAL";
1599 var HIDE_REQUEST_PASSWORD_RESET_ERROR_MODAL = exports.HIDE_REQUEST_PASSWORD_RESET_ERROR_MODAL = "HIDE_REQUEST_PASSWORD_RESET_ERROR_MODAL";
1600 var HIDE_UPDATE_PASSWORD_SUCCESS_MODAL = exports.HIDE_UPDATE_PASSWORD_SUCCESS_MODAL = "HIDE_UPDATE_PASSWORD_SUCCESS_MODAL";
1601 var HIDE_UPDATE_PASSWORD_ERROR_MODAL = exports.HIDE_UPDATE_PASSWORD_ERROR_MODAL = "HIDE_UPDATE_PASSWORD_ERROR_MODAL";
1602 var HIDE_DESTROY_ACCOUNT_SUCCESS_MODAL = exports.HIDE_DESTROY_ACCOUNT_SUCCESS_MODAL = "HIDE_DESTROY_ACCOUNT_SUCCESS_MODAL";
1603 var HIDE_DESTROY_ACCOUNT_ERROR_MODAL = exports.HIDE_DESTROY_ACCOUNT_ERROR_MODAL = "HIDE_DESTROY_ACCOUNT_ERROR_MODAL";
1604
1605 function hideEmailSignInSuccessModal() {
1606 return { type: HIDE_EMAIL_SIGN_IN_SUCCESS_MODAL };
1607 }
1608 function hideEmailSignInErrorModal() {
1609 return { type: HIDE_EMAIL_SIGN_IN_ERROR_MODAL };
1610 }
1611 function hideOAuthSignInSuccessModal() {
1612 return { type: HIDE_OAUTH_SIGN_IN_SUCCESS_MODAL };
1613 }
1614 function hideOAuthSignInErrorModal() {
1615 return { type: HIDE_OAUTH_SIGN_IN_ERROR_MODAL };
1616 }
1617 function hideSignOutSuccessModal() {
1618 return { type: HIDE_SIGN_OUT_SUCCESS_MODAL };
1619 }
1620 function hideSignOutErrorModal() {
1621 return { type: HIDE_SIGN_OUT_ERROR_MODAL };
1622 }
1623 function hideEmailSignUpSuccessModal() {
1624 return { type: HIDE_EMAIL_SIGN_UP_SUCCESS_MODAL };
1625 }
1626 function hideEmailSignUpErrorModal() {
1627 return { type: HIDE_EMAIL_SIGN_UP_ERROR_MODAL };
1628 }
1629 function showFirstTimeLoginSuccessModal() {
1630 return { type: SHOW_FIRST_TIME_LOGIN_SUCCESS_MODAL };
1631 }
1632 function showPasswordResetSuccessModal() {
1633 return { type: SHOW_PASSWORD_RESET_SUCCESS_MODAL };
1634 }
1635 function hideFirstTimeLoginSuccessModal() {
1636 return { type: HIDE_FIRST_TIME_LOGIN_SUCCESS_MODAL };
1637 }
1638 function hidePasswordResetSuccessModal() {
1639 return { type: HIDE_PASSWORD_RESET_SUCCESS_MODAL };
1640 }
1641 function showFirstTimeLoginErrorModal() {
1642 return { type: SHOW_FIRST_TIME_LOGIN_ERROR_MODAL };
1643 }
1644 function showPasswordResetErrorModal() {
1645 return { type: SHOW_PASSWORD_RESET_ERROR_MODAL };
1646 }
1647 function hideFirstTimeLoginErrorModal() {
1648 return { type: HIDE_FIRST_TIME_LOGIN_ERROR_MODAL };
1649 }
1650 function hidePasswordResetErrorModal() {
1651 return { type: HIDE_PASSWORD_RESET_ERROR_MODAL };
1652 }
1653 function hidePasswordResetRequestSuccessModal() {
1654 return { type: HIDE_REQUEST_PASSWORD_RESET_SUCCESS_MODAL };
1655 }
1656 function hidePasswordResetRequestErrorModal() {
1657 return { type: HIDE_REQUEST_PASSWORD_RESET_ERROR_MODAL };
1658 }
1659 function hideUpdatePasswordSuccessModal() {
1660 return { type: HIDE_UPDATE_PASSWORD_SUCCESS_MODAL };
1661 }
1662 function hideUpdatePasswordErrorModal() {
1663 return { type: HIDE_UPDATE_PASSWORD_ERROR_MODAL };
1664 }
1665 function hideDestroyAccountSuccessModal() {
1666 return { type: HIDE_DESTROY_ACCOUNT_SUCCESS_MODAL };
1667 }
1668 function hideDestroyAccountErrorModal() {
1669 return { type: HIDE_DESTROY_ACCOUNT_ERROR_MODAL };
1670 }
1671
1672/***/ },
1673/* 35 */
1674/***/ function(module, exports, __webpack_require__) {
1675
1676 "use strict";
1677
1678 Object.defineProperty(exports, "__esModule", {
1679 value: true
1680 });
1681 exports.UPDATE_PASSWORD_MODAL_FORM_UPDATE = exports.UPDATE_PASSWORD_MODAL_ERROR = exports.UPDATE_PASSWORD_MODAL_COMPLETE = exports.UPDATE_PASSWORD_MODAL_START = undefined;
1682 exports.updatePasswordModalFormUpdate = updatePasswordModalFormUpdate;
1683 exports.updatePasswordModalStart = updatePasswordModalStart;
1684 exports.updatePasswordModalComplete = updatePasswordModalComplete;
1685 exports.updatePasswordModalError = updatePasswordModalError;
1686 exports.updatePasswordModal = updatePasswordModal;
1687
1688 var _sessionStorage = __webpack_require__(11);
1689
1690 var _handleFetchResponse = __webpack_require__(17);
1691
1692 var _fetch = __webpack_require__(12);
1693
1694 var _fetch2 = _interopRequireDefault(_fetch);
1695
1696 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1697
1698 var UPDATE_PASSWORD_MODAL_START = exports.UPDATE_PASSWORD_MODAL_START = "UPDATE_PASSWORD_MODAL_START";
1699 var UPDATE_PASSWORD_MODAL_COMPLETE = exports.UPDATE_PASSWORD_MODAL_COMPLETE = "UPDATE_PASSWORD_MODAL_COMPLETE";
1700 var UPDATE_PASSWORD_MODAL_ERROR = exports.UPDATE_PASSWORD_MODAL_ERROR = "UPDATE_PASSWORD_MODAL_ERROR";
1701 var UPDATE_PASSWORD_MODAL_FORM_UPDATE = exports.UPDATE_PASSWORD_MODAL_FORM_UPDATE = "UPDATE_PASSWORD_MODAL_FORM_UPDATE";
1702
1703 function updatePasswordModalFormUpdate(endpoint, key, value) {
1704 return { type: UPDATE_PASSWORD_MODAL_FORM_UPDATE, endpoint: endpoint, key: key, value: value };
1705 }
1706 function updatePasswordModalStart(endpoint) {
1707 return { type: UPDATE_PASSWORD_MODAL_START };
1708 }
1709 function updatePasswordModalComplete(endpoint, user) {
1710 return { type: UPDATE_PASSWORD_MODAL_COMPLETE, endpoint: endpoint, user: user };
1711 }
1712 function updatePasswordModalError(endpoint, errors) {
1713 return { type: UPDATE_PASSWORD_MODAL_ERROR, endpoint: endpoint, errors: errors };
1714 }
1715 function updatePasswordModal(body, endpointKey) {
1716 return function (dispatch) {
1717 dispatch(updatePasswordModalStart(endpointKey));
1718
1719 return (0, _fetch2.default)((0, _sessionStorage.getPasswordUpdateUrl)(endpointKey), {
1720 headers: {
1721 "Accept": "application/json",
1722 "Content-Type": "application/json"
1723 },
1724 method: "put",
1725 body: JSON.stringify(body)
1726 }).then(_handleFetchResponse.parseResponse).then(function (_ref) {
1727 var user = _ref.user;
1728 return dispatch(updatePasswordModalComplete(endpointKey, user));
1729 }).catch(function (_ref2) {
1730 var errors = _ref2.errors;
1731 return dispatch(updatePasswordModalError(endpointKey, errors));
1732 });
1733 };
1734 }
1735
1736/***/ },
1737/* 36 */
1738/***/ function(module, exports, __webpack_require__) {
1739
1740 "use strict";
1741
1742 Object.defineProperty(exports, "__esModule", {
1743 value: true
1744 });
1745 exports.UPDATE_PASSWORD_FORM_UPDATE = exports.UPDATE_PASSWORD_ERROR = exports.UPDATE_PASSWORD_COMPLETE = exports.UPDATE_PASSWORD_START = undefined;
1746 exports.updatePasswordFormUpdate = updatePasswordFormUpdate;
1747 exports.updatePasswordStart = updatePasswordStart;
1748 exports.updatePasswordComplete = updatePasswordComplete;
1749 exports.updatePasswordError = updatePasswordError;
1750 exports.updatePassword = updatePassword;
1751
1752 var _sessionStorage = __webpack_require__(11);
1753
1754 var _handleFetchResponse = __webpack_require__(17);
1755
1756 var _fetch = __webpack_require__(12);
1757
1758 var _fetch2 = _interopRequireDefault(_fetch);
1759
1760 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1761
1762 var UPDATE_PASSWORD_START = exports.UPDATE_PASSWORD_START = "UPDATE_PASSWORD_START";
1763 var UPDATE_PASSWORD_COMPLETE = exports.UPDATE_PASSWORD_COMPLETE = "UPDATE_PASSWORD_COMPLETE";
1764 var UPDATE_PASSWORD_ERROR = exports.UPDATE_PASSWORD_ERROR = "UPDATE_PASSWORD_ERROR";
1765 var UPDATE_PASSWORD_FORM_UPDATE = exports.UPDATE_PASSWORD_FORM_UPDATE = "UPDATE_PASSWORD_FORM_UPDATE";
1766
1767 function updatePasswordFormUpdate(endpoint, key, value) {
1768 return { type: UPDATE_PASSWORD_FORM_UPDATE, endpoint: endpoint, key: key, value: value };
1769 }
1770 function updatePasswordStart(endpoint) {
1771 return { type: UPDATE_PASSWORD_START, endpoint: endpoint };
1772 }
1773 function updatePasswordComplete(endpoint, user) {
1774 return { type: UPDATE_PASSWORD_COMPLETE, endpoint: endpoint, user: user };
1775 }
1776 function updatePasswordError(endpoint, errors) {
1777 return { type: UPDATE_PASSWORD_ERROR, endpoint: endpoint, errors: errors };
1778 }
1779 function updatePassword(body, endpoint) {
1780 return function (dispatch) {
1781 dispatch(updatePasswordStart(endpoint));
1782
1783 return (0, _fetch2.default)((0, _sessionStorage.getPasswordUpdateUrl)(endpoint), {
1784 headers: {
1785 "Accept": "application/json",
1786 "Content-Type": "application/json"
1787 },
1788 method: "put",
1789 body: JSON.stringify(body)
1790 }).then(_handleFetchResponse.parseResponse).then(function (_ref) {
1791 var user = _ref.user;
1792 return dispatch(updatePasswordComplete(endpoint, user));
1793 }).catch(function (_ref2) {
1794 var errors = _ref2.errors;
1795 return dispatch(updatePasswordError(endpoint, errors));
1796 });
1797 };
1798 }
1799
1800/***/ },
1801/* 37 */
1802/***/ function(module, exports, __webpack_require__) {
1803
1804 "use strict";
1805
1806 Object.defineProperty(exports, "__esModule", {
1807 value: true
1808 });
1809 exports.normalizeTokenKeys = normalizeTokenKeys;
1810 exports.getAllParams = getAllParams;
1811 exports.default = getRedirectInfo;
1812
1813 var _querystring = __webpack_require__(146);
1814
1815 var _querystring2 = _interopRequireDefault(_querystring);
1816
1817 var _extend = __webpack_require__(16);
1818
1819 var _extend2 = _interopRequireDefault(_extend);
1820
1821 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1822
1823 function normalizeTokenKeys(params) {
1824 // normalize keys
1825 if (params.token) {
1826 params["access-token"] = params.token;
1827 delete params.token;
1828 }
1829 if (params.auth_token) {
1830 params["access-token"] = params.auth_token;
1831 delete params.auth_token;
1832 }
1833 if (params.client_id) {
1834 params.client = params.client_id;
1835 delete params.client_id;
1836 }
1837 if (params.config) {
1838 params.endpointKey = params.config;
1839 delete params.config;
1840 }
1841
1842 return params;
1843 };
1844
1845 var getAnchorSearch = function getAnchorSearch(location) {
1846 var rawAnchor = location.anchor || "",
1847 arr = rawAnchor.split("?");
1848 return arr.length > 1 ? arr[1] : null;
1849 };
1850
1851 var getSearchQs = function getSearchQs(location) {
1852 var rawQs = location.search || "",
1853 qs = rawQs.replace("?", ""),
1854 qsObj = qs ? _querystring2.default.parse(qs) : {};
1855
1856 return qsObj;
1857 };
1858
1859 var getAnchorQs = function getAnchorQs(location) {
1860 var anchorQs = getAnchorSearch(location),
1861 anchorQsObj = anchorQs ? _querystring2.default.parse(anchorQs) : {};
1862
1863 return anchorQsObj;
1864 };
1865
1866 var stripKeys = function stripKeys(obj, keys) {
1867 for (var q in keys) {
1868 delete obj[keys[q]];
1869 }
1870
1871 return obj;
1872 };
1873
1874 function getAllParams(location) {
1875 return (0, _extend2.default)({}, getAnchorQs(location), getSearchQs(location));
1876 };
1877
1878 var buildCredentials = function buildCredentials(location, keys) {
1879 var params = getAllParams(location);
1880 var authHeaders = {};
1881
1882 var _iteratorNormalCompletion = true;
1883 var _didIteratorError = false;
1884 var _iteratorError = undefined;
1885
1886 try {
1887 for (var _iterator = keys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
1888 var key = _step.value;
1889
1890 authHeaders[key] = params[key];
1891 }
1892 } catch (err) {
1893 _didIteratorError = true;
1894 _iteratorError = err;
1895 } finally {
1896 try {
1897 if (!_iteratorNormalCompletion && _iterator.return) {
1898 _iterator.return();
1899 }
1900 } finally {
1901 if (_didIteratorError) {
1902 throw _iteratorError;
1903 }
1904 }
1905 }
1906
1907 return normalizeTokenKeys(authHeaders);
1908 };
1909
1910 // this method is tricky. we want to reconstruct the current URL with the
1911 // following conditions:
1912 // 1. search contains none of the supplied keys
1913 // 2. anchor search (i.e. `#/?key=val`) contains none of the supplied keys
1914 // 3. all of the keys NOT supplied are presevered in their original form
1915 // 4. url protocol, host, and path are preserved
1916 var getLocationWithoutParams = function getLocationWithoutParams(currentLocation, keys) {
1917 // strip all values from both actual and anchor search params
1918 var newSearch = _querystring2.default.stringify(stripKeys(getSearchQs(currentLocation), keys)),
1919 newAnchorQs = _querystring2.default.stringify(stripKeys(getAnchorQs(currentLocation), keys)),
1920 newAnchor = (currentLocation.hash || "").split("?")[0];
1921
1922 if (newSearch) {
1923 newSearch = "?" + newSearch;
1924 }
1925
1926 if (newAnchorQs) {
1927 newAnchor += "?" + newAnchorQs;
1928 }
1929
1930 if (newAnchor && !newAnchor.match(/^#/)) {
1931 newAnchor = "#/" + newAnchor;
1932 }
1933
1934 // reconstruct location with stripped auth keys
1935 var newLocation = currentLocation.pathname + newSearch + newAnchor;
1936
1937 return newLocation;
1938 };
1939
1940 function getRedirectInfo(currentLocation) {
1941 if (!currentLocation) {
1942 return {};
1943 } else {
1944 var authKeys = ["access-token", "token", "auth_token", "config", "client", "client_id", "expiry", "uid", "reset_password", "account_confirmation_success"];
1945
1946 var authRedirectHeaders = buildCredentials(currentLocation, authKeys);
1947 var authRedirectPath = getLocationWithoutParams(currentLocation, authKeys);
1948
1949 if (authRedirectPath !== currentLocation) {
1950 return { authRedirectHeaders: authRedirectHeaders, authRedirectPath: authRedirectPath };
1951 } else {
1952 return {};
1953 }
1954 }
1955 }
1956
1957/***/ },
1958/* 38 */,
1959/* 39 */,
1960/* 40 */
1961/***/ function(module, exports, __webpack_require__) {
1962
1963 "use strict";
1964
1965 Object.defineProperty(exports, "__esModule", {
1966 value: true
1967 });
1968 exports.default = parseEndpointConfig;
1969
1970 var _constants = __webpack_require__(19);
1971
1972 var C = _interopRequireWildcard(_constants);
1973
1974 var _extend = __webpack_require__(16);
1975
1976 var _extend2 = _interopRequireDefault(_extend);
1977
1978 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1979
1980 function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
1981
1982 // base endpoint that other endpoints extend from
1983 var defaultEndpoint = {
1984 apiUrl: "/api",
1985 signOutPath: "/auth/sign_out",
1986 emailSignInPath: "/auth/sign_in",
1987 emailRegistrationPath: "/auth",
1988 accountUpdatePath: "/auth",
1989 accountDeletePath: "/auth",
1990 passwordResetPath: "/auth/password",
1991 passwordUpdatePath: "/auth/password",
1992 tokenValidationPath: "/auth/validate_token",
1993
1994 authProviderPaths: {
1995 github: "/auth/github",
1996 facebook: "/auth/facebook",
1997 google: "/auth/google_oauth2"
1998 }
1999 };
2000
2001 function getFirstObjectKey(obj) {
2002 for (var key in obj) {
2003 return key;
2004 }
2005 };
2006
2007 function parseEndpointConfig(endpoint) {
2008 var defaultEndpointKey = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1];
2009
2010 // normalize so opts is always an array of objects
2011 if (endpoint.constructor !== Array) {
2012 // single config will always be called 'default' unless set
2013 // by previous session
2014 defaultEndpointKey = C.INITIAL_CONFIG_KEY;
2015
2016 // config should look like {default: {...}}
2017 var defaultConfig = {};
2018 defaultConfig[defaultEndpointKey] = endpoint;
2019
2020 // endpoint should look like [{default: {...}}]
2021 endpoint = [defaultConfig];
2022 }
2023
2024 var currentEndpoint = {};
2025
2026 // iterate over config items, extend each from defaults
2027 for (var i = 0; i < endpoint.length; i++) {
2028 var configName = getFirstObjectKey(endpoint[i]);
2029
2030 // set first as default config
2031 if (!defaultEndpointKey) {
2032 defaultEndpointKey = configName;
2033 }
2034
2035 // save config to `configs` hash
2036 currentEndpoint[configName] = (0, _extend2.default)({}, defaultEndpoint, endpoint[i][configName]);
2037 }
2038
2039 return { defaultEndpointKey: defaultEndpointKey, currentEndpoint: currentEndpoint };
2040 }
2041
2042/***/ },
2043/* 41 */
2044/***/ function(module, exports, __webpack_require__) {
2045
2046 "use strict";
2047
2048 Object.defineProperty(exports, "__esModule", {
2049 value: true
2050 });
2051
2052 var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };
2053
2054 exports.fetchToken = fetchToken;
2055
2056 var _isomorphicFetch = __webpack_require__(42);
2057
2058 var _isomorphicFetch2 = _interopRequireDefault(_isomorphicFetch);
2059
2060 var _cookie = __webpack_require__(141);
2061
2062 var _cookie2 = _interopRequireDefault(_cookie);
2063
2064 var _parseUrl = __webpack_require__(37);
2065
2066 var _parseUrl2 = _interopRequireDefault(_parseUrl);
2067
2068 var _constants = __webpack_require__(19);
2069
2070 var C = _interopRequireWildcard(_constants);
2071
2072 var _fetch = __webpack_require__(12);
2073
2074 var _parseEndpointConfig3 = __webpack_require__(40);
2075
2076 var _parseEndpointConfig4 = _interopRequireDefault(_parseEndpointConfig3);
2077
2078 var _url = __webpack_require__(149);
2079
2080 var _url2 = _interopRequireDefault(_url);
2081
2082 function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
2083
2084 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2085
2086 function parseHeaders(headers) {
2087 // set header for each key in `tokenFormat` config
2088 var newHeaders = {};
2089
2090 // set flag to ensure that we don't accidentally nuke the headers
2091 // if the response tokens aren't sent back from the API
2092 var blankHeaders = true;
2093
2094 // set header key + val for each key in `tokenFormat` config
2095 // TODO: get actual config value
2096 var _arr = ["access-token", "token-type", "client", "expiry", "uid", "config", "endpointKey"];
2097 for (var _i = 0; _i < _arr.length; _i++) {
2098 var key = _arr[_i];
2099 newHeaders[key] = headers[key];
2100
2101 if (newHeaders[key]) {
2102 // normalize -- sometimes headers come back in array form
2103 if (_typeof(newHeaders[key]) === "object") {
2104 newHeaders[key] = newHeaders[key][0];
2105 }
2106
2107 blankHeaders = false;
2108 }
2109 }
2110
2111 // persist headers for next request
2112 if (!blankHeaders) {
2113 return newHeaders;
2114 }
2115 }
2116
2117 function fetchToken(_ref) {
2118 var rawEndpoints = _ref.rawEndpoints;
2119 var cookies = _ref.cookies;
2120 var currentLocation = _ref.currentLocation;
2121
2122 var _getRedirectInfo = (0, _parseUrl2.default)(_url2.default.parse(currentLocation));
2123
2124 var authRedirectHeaders = _getRedirectInfo.authRedirectHeaders;
2125
2126
2127 return new Promise(function (resolve, reject) {
2128 if (cookies || authRedirectHeaders) {
2129 var newHeaders, validationUrl, currentEndpoint, defaultEndpointKey, apiUrl, tokenValidationPath;
2130
2131 var _ret = function () {
2132 var rawCookies = _cookie2.default.parse(cookies || "{}");
2133 var parsedCookies = JSON.parse(rawCookies.authHeaders || "false");
2134 var firstTimeLogin = void 0,
2135 mustResetPassword = void 0,
2136 currentEndpointKey = void 0,
2137 headers = void 0;
2138
2139 if (authRedirectHeaders && authRedirectHeaders.uid && authRedirectHeaders["access-token"]) {
2140 headers = parseHeaders(authRedirectHeaders);
2141 currentEndpointKey = authRedirectHeaders.endpointKey || null;
2142 mustResetPassword = JSON.parse(authRedirectHeaders.reset_password || "false");
2143 firstTimeLogin = JSON.parse(authRedirectHeaders.account_confirmation_success || "false");
2144 } else if (rawCookies && parsedCookies) {
2145 headers = parsedCookies;
2146 currentEndpointKey = JSON.parse(rawCookies[C.SAVED_CONFIG_KEY] || "null");
2147 mustResetPassword = JSON.parse(parsedCookies.mustResetPassword || "false");
2148 firstTimeLogin = JSON.parse(parsedCookies.firstTimeLogin || "false");
2149 }
2150
2151 if (!headers) {
2152 return {
2153 v: reject({
2154 reason: "No creds",
2155 currentEndpoint: currentEndpoint,
2156 defaultEndpointKey: defaultEndpointKey
2157 })
2158 };
2159 }
2160
2161 var _parseEndpointConfig = (0, _parseEndpointConfig4.default)(rawEndpoints);
2162
2163 currentEndpoint = _parseEndpointConfig.currentEndpoint;
2164 defaultEndpointKey = _parseEndpointConfig.defaultEndpointKey;
2165 var _currentEndpoint = currentEndpoint[currentEndpointKey || defaultEndpointKey];
2166 apiUrl = _currentEndpoint.apiUrl;
2167 tokenValidationPath = _currentEndpoint.tokenValidationPath;
2168 validationUrl = "" + apiUrl + tokenValidationPath + "?unbatch=true";
2169
2170
2171 return {
2172 v: (0, _isomorphicFetch2.default)(validationUrl, {
2173 headers: (0, _fetch.addAuthorizationHeader)(headers['access-token'], headers)
2174 }).then(function (resp) {
2175 newHeaders = parseHeaders(resp.headers.raw());
2176 return resp.json();
2177 }).then(function (json) {
2178 if (json.success) {
2179 return resolve({
2180 headers: newHeaders,
2181 user: json.data,
2182 mustResetPassword: mustResetPassword,
2183 firstTimeLogin: firstTimeLogin,
2184 currentEndpoint: currentEndpoint,
2185 currentEndpointKey: currentEndpointKey,
2186 defaultEndpointKey: defaultEndpointKey
2187 });
2188 } else {
2189 return reject({
2190 reason: json.errors,
2191 mustResetPassword: mustResetPassword,
2192 firstTimeLogin: firstTimeLogin,
2193 currentEndpoint: currentEndpoint,
2194 defaultEndpointKey: defaultEndpointKey
2195 });
2196 }
2197 }).catch(function (reason) {
2198 return reject({
2199 reason: reason,
2200 firstTimeLogin: firstTimeLogin,
2201 mustResetPassword: mustResetPassword,
2202 currentEndpoint: currentEndpoint,
2203 defaultEndpointKey: defaultEndpointKey
2204 });
2205 })
2206 };
2207 }();
2208
2209 if ((typeof _ret === "undefined" ? "undefined" : _typeof(_ret)) === "object") return _ret.v;
2210 } else {
2211 var _parseEndpointConfig2 = (0, _parseEndpointConfig4.default)(rawEndpoints);
2212
2213 var _currentEndpoint2 = _parseEndpointConfig2.currentEndpoint;
2214 var _defaultEndpointKey = _parseEndpointConfig2.defaultEndpointKey;
2215
2216 reject({
2217 reason: "No creds",
2218 currentEndpoint: _currentEndpoint2,
2219 defaultEndpointKey: _defaultEndpointKey
2220 });
2221 }
2222 });
2223 }
2224
2225 function verifyAuth(rawEndpoints, _ref2) {
2226 var isServer = _ref2.isServer;
2227 var cookies = _ref2.cookies;
2228 var currentLocation = _ref2.currentLocation;
2229
2230 return new Promise(function (resolve, reject) {
2231 if (isServer) {
2232 return fetchToken({ rawEndpoints: rawEndpoints, cookies: cookies, currentLocation: currentLocation }).then(function (res) {
2233 return resolve(res);
2234 }).catch(function (res) {
2235 return reject(res);
2236 });
2237 } else {
2238 // TODO: deal with localStorage
2239 //Auth.validateToken(getCurrentEndpointKey())
2240 //.then((user) => resolve(user.data), (err) => reject({reason: err}));
2241 }
2242 });
2243 }
2244
2245 exports.default = verifyAuth;
2246
2247/***/ },
2248/* 42 */
2249/***/ function(module, exports) {
2250
2251 module.exports = require("isomorphic-fetch");
2252
2253/***/ },
2254/* 43 */,
2255/* 44 */,
2256/* 45 */,
2257/* 46 */,
2258/* 47 */
2259/***/ function(module, exports, __webpack_require__) {
2260
2261 "use strict";
2262
2263 Object.defineProperty(exports, "__esModule", {
2264 value: true
2265 });
2266
2267 var _createReducer;
2268
2269 var _immutable = __webpack_require__(4);
2270
2271 var _immutable2 = _interopRequireDefault(_immutable);
2272
2273 var _reduxImmutablejs = __webpack_require__(10);
2274
2275 var _authenticate = __webpack_require__(24);
2276
2277 var A = _interopRequireWildcard(_authenticate);
2278
2279 function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
2280
2281 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2282
2283 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2284
2285 var initialState = _immutable2.default.fromJS({
2286 loading: false,
2287 valid: false,
2288 errors: null
2289 });
2290
2291 exports.default = (0, _reduxImmutablejs.createReducer)(initialState, (_createReducer = {}, _defineProperty(_createReducer, A.AUTHENTICATE_START, function (state) {
2292 return state.set("loading", true);
2293 }), _defineProperty(_createReducer, A.AUTHENTICATE_COMPLETE, function (state) {
2294 return state.merge({
2295 loading: false,
2296 errors: null,
2297 valid: true
2298 });
2299 }), _defineProperty(_createReducer, A.AUTHENTICATE_ERROR, function (state) {
2300 return state.merge({
2301 loading: false,
2302 errors: "Invalid token",
2303 valid: false
2304 });
2305 }), _createReducer));
2306
2307/***/ },
2308/* 48 */
2309/***/ function(module, exports, __webpack_require__) {
2310
2311 "use strict";
2312
2313 Object.defineProperty(exports, "__esModule", {
2314 value: true
2315 });
2316
2317 var _createReducer;
2318
2319 var _immutable = __webpack_require__(4);
2320
2321 var _immutable2 = _interopRequireDefault(_immutable);
2322
2323 var _reduxImmutablejs = __webpack_require__(10);
2324
2325 var _configure = __webpack_require__(5);
2326
2327 var A = _interopRequireWildcard(_configure);
2328
2329 function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
2330
2331 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2332
2333 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2334
2335 var initialState = _immutable2.default.fromJS({
2336 loading: true,
2337 errors: null,
2338 config: null,
2339 endpointKeys: null,
2340 defaultEndpointKey: null,
2341 currentEndpointKey: null
2342 });
2343
2344 exports.default = (0, _reduxImmutablejs.createReducer)(initialState, (_createReducer = {}, _defineProperty(_createReducer, A.CONFIGURE_START, function (state) {
2345 return state.set("loading", true);
2346 }), _defineProperty(_createReducer, A.STORE_CURRENT_ENDPOINT_KEY, function (state, _ref) {
2347 var currentEndpointKey = _ref.currentEndpointKey;
2348 return state.merge({ currentEndpointKey: currentEndpointKey });
2349 }), _defineProperty(_createReducer, A.SET_ENDPOINT_KEYS, function (state, _ref2) {
2350 var endpointKeys = _ref2.endpointKeys;
2351 var defaultEndpointKey = _ref2.defaultEndpointKey;
2352 var currentEndpointKey = _ref2.currentEndpointKey;
2353 return state.merge({
2354 endpointKeys: endpointKeys, defaultEndpointKey: defaultEndpointKey, currentEndpointKey: currentEndpointKey
2355 });
2356 }), _defineProperty(_createReducer, A.CONFIGURE_COMPLETE, function (state, _ref3) {
2357 var config = _ref3.config;
2358 return state.merge({
2359 loading: false,
2360 errors: null,
2361 config: config
2362 });
2363 }), _defineProperty(_createReducer, A.CONFIGURE_ERROR, function (state, _ref4) {
2364 var errors = _ref4.errors;
2365 return state.merge({
2366 loading: false,
2367 errors: errors
2368 });
2369 }), _createReducer));
2370
2371/***/ },
2372/* 49 */
2373/***/ function(module, exports, __webpack_require__) {
2374
2375 "use strict";
2376
2377 Object.defineProperty(exports, "__esModule", {
2378 value: true
2379 });
2380
2381 var _createReducer;
2382
2383 var _immutable = __webpack_require__(4);
2384
2385 var _immutable2 = _interopRequireDefault(_immutable);
2386
2387 var _reduxImmutablejs = __webpack_require__(10);
2388
2389 var _destroyAccount = __webpack_require__(25);
2390
2391 var A = _interopRequireWildcard(_destroyAccount);
2392
2393 var _configure = __webpack_require__(5);
2394
2395 function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
2396
2397 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2398
2399 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2400
2401 var initialState = {
2402 loading: false,
2403 errors: null
2404 };
2405
2406 exports.default = (0, _reduxImmutablejs.createReducer)(_immutable2.default.fromJS({}), (_createReducer = {}, _defineProperty(_createReducer, _configure.SET_ENDPOINT_KEYS, function (state, _ref) {
2407 var endpoints = _ref.endpoints;
2408 return state.merge(endpoints.reduce(function (coll, k) {
2409 coll[k] = _immutable2.default.fromJS(initialState);
2410 return coll;
2411 }, {}));
2412 }), _defineProperty(_createReducer, A.DESTROY_ACCOUNT_START, function (state, _ref2) {
2413 var endpoint = _ref2.endpoint;
2414 return state.setIn([endpoint, "loading"], true);
2415 }), _defineProperty(_createReducer, A.DESTROY_ACCOUNT_COMPLETE, function (state, _ref3) {
2416 var endpoint = _ref3.endpoint;
2417 return state.merge(_defineProperty({}, endpoint, initialState));
2418 }), _defineProperty(_createReducer, A.DESTROY_ACCOUNT_ERROR, function (state, _ref4) {
2419 var endpoint = _ref4.endpoint;
2420 var errors = _ref4.errors;
2421 return state.merge(_defineProperty({}, endpoint, {
2422 loading: false,
2423 errors: errors
2424 }));
2425 }), _createReducer));
2426
2427/***/ },
2428/* 50 */
2429/***/ function(module, exports, __webpack_require__) {
2430
2431 "use strict";
2432
2433 Object.defineProperty(exports, "__esModule", {
2434 value: true
2435 });
2436
2437 var _createReducer;
2438
2439 var _immutable = __webpack_require__(4);
2440
2441 var _immutable2 = _interopRequireDefault(_immutable);
2442
2443 var _reduxImmutablejs = __webpack_require__(10);
2444
2445 var _emailSignIn = __webpack_require__(26);
2446
2447 var A = _interopRequireWildcard(_emailSignIn);
2448
2449 var _configure = __webpack_require__(5);
2450
2451 function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
2452
2453 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2454
2455 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2456
2457 var initialState = {
2458 loading: false,
2459 errors: null,
2460 form: {}
2461 };
2462
2463 exports.default = (0, _reduxImmutablejs.createReducer)(_immutable2.default.fromJS({}), (_createReducer = {}, _defineProperty(_createReducer, _configure.SET_ENDPOINT_KEYS, function (state, _ref) {
2464 var endpoints = _ref.endpoints;
2465 return state.merge(endpoints.reduce(function (coll, k) {
2466 coll[k] = _immutable2.default.fromJS(initialState);
2467 return coll;
2468 }, {}));
2469 }), _defineProperty(_createReducer, A.EMAIL_SIGN_IN_START, function (state, _ref2) {
2470 var endpoint = _ref2.endpoint;
2471 return state.setIn([endpoint, "loading"], true);
2472 }), _defineProperty(_createReducer, A.EMAIL_SIGN_IN_COMPLETE, function (state, _ref3) {
2473 var endpoint = _ref3.endpoint;
2474 return state.merge(_defineProperty({}, endpoint, initialState));
2475 }), _defineProperty(_createReducer, A.EMAIL_SIGN_IN_ERROR, function (state, _ref4) {
2476 var endpoint = _ref4.endpoint;
2477 var errors = _ref4.errors;
2478 return state.mergeDeep(_defineProperty({}, endpoint, {
2479 loading: false,
2480 errors: errors
2481 }));
2482 }), _defineProperty(_createReducer, A.EMAIL_SIGN_IN_FORM_UPDATE, function (state, _ref5) {
2483 var endpoint = _ref5.endpoint;
2484 var key = _ref5.key;
2485 var value = _ref5.value;
2486
2487 return state.mergeDeep(_defineProperty({}, endpoint, {
2488 form: _defineProperty({}, key, value)
2489 }));
2490 }), _createReducer));
2491
2492/***/ },
2493/* 51 */
2494/***/ function(module, exports, __webpack_require__) {
2495
2496 "use strict";
2497
2498 Object.defineProperty(exports, "__esModule", {
2499 value: true
2500 });
2501
2502 var _createReducer;
2503
2504 var _immutable = __webpack_require__(4);
2505
2506 var _immutable2 = _interopRequireDefault(_immutable);
2507
2508 var _reduxImmutablejs = __webpack_require__(10);
2509
2510 var _emailSignUp = __webpack_require__(32);
2511
2512 var A = _interopRequireWildcard(_emailSignUp);
2513
2514 var _configure = __webpack_require__(5);
2515
2516 function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
2517
2518 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2519
2520 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2521
2522 var initialState = {
2523 loading: false,
2524 errors: null,
2525 form: {}
2526 };
2527
2528 exports.default = (0, _reduxImmutablejs.createReducer)(_immutable2.default.fromJS({}), (_createReducer = {}, _defineProperty(_createReducer, _configure.SET_ENDPOINT_KEYS, function (state, _ref) {
2529 var endpoints = _ref.endpoints;
2530 return state.merge(endpoints.reduce(function (coll, k) {
2531 coll[k] = _immutable2.default.fromJS(initialState);
2532 return coll;
2533 }, {}));
2534 }), _defineProperty(_createReducer, A.EMAIL_SIGN_UP_START, function (state, _ref2) {
2535 var endpoint = _ref2.endpoint;
2536 return state.setIn([endpoint, "loading"], true);
2537 }), _defineProperty(_createReducer, A.EMAIL_SIGN_UP_COMPLETE, function (state, _ref3) {
2538 var endpoint = _ref3.endpoint;
2539 return state.merge(_defineProperty({}, endpoint, initialState));
2540 }), _defineProperty(_createReducer, A.EMAIL_SIGN_UP_ERROR, function (state, _ref4) {
2541 var endpoint = _ref4.endpoint;
2542 var errors = _ref4.errors;
2543 return state.mergeDeep(_defineProperty({}, endpoint, {
2544 loading: false,
2545 errors: errors
2546 }));
2547 }), _defineProperty(_createReducer, A.EMAIL_SIGN_UP_FORM_UPDATE, function (state, _ref5) {
2548 var endpoint = _ref5.endpoint;
2549 var key = _ref5.key;
2550 var value = _ref5.value;
2551
2552 return state.mergeDeep(_defineProperty({}, endpoint, {
2553 form: _defineProperty({}, key, value)
2554 }));
2555 }), _createReducer));
2556
2557/***/ },
2558/* 52 */
2559/***/ function(module, exports, __webpack_require__) {
2560
2561 "use strict";
2562
2563 Object.defineProperty(exports, "__esModule", {
2564 value: true
2565 });
2566
2567 var _createReducer;
2568
2569 var _immutable = __webpack_require__(4);
2570
2571 var _immutable2 = _interopRequireDefault(_immutable);
2572
2573 var _reduxImmutablejs = __webpack_require__(10);
2574
2575 var _oauthSignIn = __webpack_require__(27);
2576
2577 var A = _interopRequireWildcard(_oauthSignIn);
2578
2579 var _configure = __webpack_require__(5);
2580
2581 function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
2582
2583 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2584
2585 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2586
2587 var initialState = {
2588 loading: false,
2589 errors: null
2590 };
2591
2592 exports.default = (0, _reduxImmutablejs.createReducer)(_immutable2.default.fromJS({}), (_createReducer = {}, _defineProperty(_createReducer, _configure.SET_ENDPOINT_KEYS, function (state, _ref) {
2593 var endpoints = _ref.endpoints;
2594 return state.merge(endpoints.reduce(function (coll, k) {
2595 coll[k] = _immutable2.default.fromJS(initialState);
2596 return coll;
2597 }, {}));
2598 }), _defineProperty(_createReducer, A.OAUTH_SIGN_IN_START, function (state, _ref2) {
2599 var endpoint = _ref2.endpoint;
2600 return state.setIn([endpoint, "loading"], true);
2601 }), _defineProperty(_createReducer, A.OAUTH_SIGN_IN_COMPLETE, function (state, _ref3) {
2602 var endpoint = _ref3.endpoint;
2603 return state.mergeDeep(_defineProperty({}, endpoint, {
2604 loading: false,
2605 errors: null
2606 }));
2607 }), _defineProperty(_createReducer, A.OAUTH_SIGN_IN_ERROR, function (state, _ref4) {
2608 var endpoint = _ref4.endpoint;
2609 var errors = _ref4.errors;
2610 return state.mergeDeep(_defineProperty({}, endpoint, {
2611 loading: false,
2612 errors: errors
2613 }));
2614 }), _createReducer));
2615
2616/***/ },
2617/* 53 */
2618/***/ function(module, exports, __webpack_require__) {
2619
2620 "use strict";
2621
2622 Object.defineProperty(exports, "__esModule", {
2623 value: true
2624 });
2625
2626 var _createReducer;
2627
2628 var _immutable = __webpack_require__(4);
2629
2630 var _immutable2 = _interopRequireDefault(_immutable);
2631
2632 var _reduxImmutablejs = __webpack_require__(10);
2633
2634 var _requestPasswordReset = __webpack_require__(33);
2635
2636 var A = _interopRequireWildcard(_requestPasswordReset);
2637
2638 var _configure = __webpack_require__(5);
2639
2640 function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
2641
2642 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2643
2644 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2645
2646 var initialState = {
2647 loading: false,
2648 errors: null,
2649 form: {}
2650 };
2651
2652 exports.default = (0, _reduxImmutablejs.createReducer)(_immutable2.default.fromJS({}), (_createReducer = {}, _defineProperty(_createReducer, _configure.SET_ENDPOINT_KEYS, function (state, _ref) {
2653 var endpoints = _ref.endpoints;
2654 return state.merge(endpoints.reduce(function (coll, k) {
2655 coll[k] = _immutable2.default.fromJS(initialState);
2656 return coll;
2657 }, {}));
2658 }), _defineProperty(_createReducer, A.REQUEST_PASSWORD_RESET_START, function (state, _ref2) {
2659 var endpoint = _ref2.endpoint;
2660 return state.setIn([endpoint, "loading"], true);
2661 }), _defineProperty(_createReducer, A.REQUEST_PASSWORD_RESET_COMPLETE, function (state, _ref3) {
2662 var endpoint = _ref3.endpoint;
2663 return state.merge(_defineProperty({}, endpoint, initialState));
2664 }), _defineProperty(_createReducer, A.REQUEST_PASSWORD_RESET_ERROR, function (state, _ref4) {
2665 var endpoint = _ref4.endpoint;
2666 var errors = _ref4.errors;
2667 return state.mergeDeep(_defineProperty({}, endpoint, {
2668 loading: false,
2669 errors: errors
2670 }));
2671 }), _defineProperty(_createReducer, A.REQUEST_PASSWORD_RESET_FORM_UPDATE, function (state, _ref5) {
2672 var endpoint = _ref5.endpoint;
2673 var key = _ref5.key;
2674 var value = _ref5.value;
2675
2676 return state.mergeDeep(_defineProperty({}, endpoint, {
2677 form: _defineProperty({}, key, value)
2678 }));
2679 }), _createReducer));
2680
2681/***/ },
2682/* 54 */
2683/***/ function(module, exports, __webpack_require__) {
2684
2685 "use strict";
2686
2687 Object.defineProperty(exports, "__esModule", {
2688 value: true
2689 });
2690
2691 var _immutable = __webpack_require__(4);
2692
2693 var _immutable2 = _interopRequireDefault(_immutable);
2694
2695 var _reduxImmutablejs = __webpack_require__(10);
2696
2697 var _server = __webpack_require__(28);
2698
2699 var A = _interopRequireWildcard(_server);
2700
2701 function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
2702
2703 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2704
2705 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2706
2707 var initialState = _immutable2.default.fromJS({
2708 user: null,
2709 headers: null,
2710 firstTimeLogin: false,
2711 mustResetPassword: false
2712 });
2713
2714 exports.default = (0, _reduxImmutablejs.createReducer)(initialState, _defineProperty({}, A.SS_AUTH_TOKEN_UPDATE, function (state, _ref) {
2715 var _ref$user = _ref.user;
2716 var user = _ref$user === undefined ? null : _ref$user;
2717 var _ref$headers = _ref.headers;
2718 var headers = _ref$headers === undefined ? null : _ref$headers;
2719 var _ref$mustResetPasswor = _ref.mustResetPassword;
2720 var mustResetPassword = _ref$mustResetPasswor === undefined ? false : _ref$mustResetPasswor;
2721 var _ref$firstTimeLogin = _ref.firstTimeLogin;
2722 var firstTimeLogin = _ref$firstTimeLogin === undefined ? false : _ref$firstTimeLogin;
2723
2724 return state.merge({
2725 user: user,
2726 headers: headers,
2727 mustResetPassword: mustResetPassword,
2728 firstTimeLogin: firstTimeLogin
2729 });
2730 }));
2731
2732/***/ },
2733/* 55 */
2734/***/ function(module, exports, __webpack_require__) {
2735
2736 "use strict";
2737
2738 Object.defineProperty(exports, "__esModule", {
2739 value: true
2740 });
2741
2742 var _createReducer;
2743
2744 var _immutable = __webpack_require__(4);
2745
2746 var _immutable2 = _interopRequireDefault(_immutable);
2747
2748 var _reduxImmutablejs = __webpack_require__(10);
2749
2750 var _signOut = __webpack_require__(29);
2751
2752 var A = _interopRequireWildcard(_signOut);
2753
2754 var _configure = __webpack_require__(5);
2755
2756 function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
2757
2758 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2759
2760 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2761
2762 var initialState = {
2763 loading: false,
2764 errors: null
2765 };
2766
2767 exports.default = (0, _reduxImmutablejs.createReducer)(_immutable2.default.fromJS({}), (_createReducer = {}, _defineProperty(_createReducer, _configure.SET_ENDPOINT_KEYS, function (state, _ref) {
2768 var endpoints = _ref.endpoints;
2769 return state.merge(endpoints.reduce(function (coll, k) {
2770 coll[k] = _immutable2.default.fromJS(initialState);
2771 return coll;
2772 }, {}));
2773 }), _defineProperty(_createReducer, A.SIGN_OUT_START, function (state, _ref2) {
2774 var endpoint = _ref2.endpoint;
2775 return state.setIn([endpoint, "loading"], true);
2776 }), _defineProperty(_createReducer, A.SIGN_OUT_COMPLETE, function (state, _ref3) {
2777 var endpoint = _ref3.endpoint;
2778 return state.mergeDeep(_defineProperty({}, endpoint, {
2779 loading: false,
2780 errors: null
2781 }));
2782 }), _defineProperty(_createReducer, A.SIGN_OUT_ERROR, function (state, _ref4) {
2783 var endpoint = _ref4.endpoint;
2784 var errors = _ref4.errors;
2785
2786 return state.mergeDeep(_defineProperty({}, endpoint, {
2787 loading: false,
2788 errors: errors
2789 }));
2790 }), _createReducer));
2791
2792/***/ },
2793/* 56 */
2794/***/ function(module, exports, __webpack_require__) {
2795
2796 "use strict";
2797
2798 Object.defineProperty(exports, "__esModule", {
2799 value: true
2800 });
2801
2802 var _createReducer;
2803
2804 var _immutable = __webpack_require__(4);
2805
2806 var _immutable2 = _interopRequireDefault(_immutable);
2807
2808 var _reduxImmutablejs = __webpack_require__(10);
2809
2810 var _ui = __webpack_require__(34);
2811
2812 var uiActions = _interopRequireWildcard(_ui);
2813
2814 var _emailSignIn = __webpack_require__(26);
2815
2816 var emailSignInActions = _interopRequireWildcard(_emailSignIn);
2817
2818 var _emailSignUp = __webpack_require__(32);
2819
2820 var emailSignUpActions = _interopRequireWildcard(_emailSignUp);
2821
2822 var _signOut = __webpack_require__(29);
2823
2824 var signOutActions = _interopRequireWildcard(_signOut);
2825
2826 var _requestPasswordReset = __webpack_require__(33);
2827
2828 var requestPasswordResetActions = _interopRequireWildcard(_requestPasswordReset);
2829
2830 var _oauthSignIn = __webpack_require__(27);
2831
2832 var oAuthSignInActions = _interopRequireWildcard(_oauthSignIn);
2833
2834 var _updatePassword = __webpack_require__(36);
2835
2836 var updatePasswordActions = _interopRequireWildcard(_updatePassword);
2837
2838 var _destroyAccount = __webpack_require__(25);
2839
2840 var destroyAccountActions = _interopRequireWildcard(_destroyAccount);
2841
2842 var _updatePasswordModal = __webpack_require__(35);
2843
2844 var updatePasswordModalActions = _interopRequireWildcard(_updatePasswordModal);
2845
2846 var _server = __webpack_require__(28);
2847
2848 var serverActions = _interopRequireWildcard(_server);
2849
2850 function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
2851
2852 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2853
2854 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2855
2856 var initialState = _immutable2.default.fromJS({
2857 emailSignInSuccessModalVisible: false,
2858 emailSignInErrorModalVisible: false,
2859 oAuthSignInSuccessModalVisible: false,
2860 oAuthSignInErrorModalVisible: false,
2861 oAuthSignInLoadingProvider: null,
2862 signOutSuccessModalVisible: false,
2863 signOutErrorModalVisible: false,
2864 emailSignUpSuccessModalVisible: false,
2865 emailSignUpAddress: null,
2866 firstTimeLoginSuccessModalVisible: false,
2867 firstTimeLoginErrorModalVisible: false,
2868 requestPasswordResetSuccessModalVisible: false,
2869 requestPasswordResetErrorModalVisible: false,
2870 requestPasswordResetSuccessMessage: null,
2871 updatePasswordSuccessModalVisible: false,
2872 updatePasswordErrorModalVisible: false,
2873 destroyAccountSuccessModalVisible: false,
2874 destroyAccountErrorModalVisible: false,
2875 destroyAccountMessage: null,
2876 passwordResetSuccessModalVisible: false,
2877 passwordResetErrorModalVisible: false
2878 });
2879
2880 exports.default = (0, _reduxImmutablejs.createReducer)(initialState, (_createReducer = {}, _defineProperty(_createReducer, emailSignInActions.EMAIL_SIGN_IN_COMPLETE, function (state) {
2881 return state.set("emailSignInSuccessModalVisible", true);
2882 }), _defineProperty(_createReducer, emailSignInActions.EMAIL_SIGN_IN_ERROR, function (state) {
2883 return state.set("emailSignInErrorModalVisible", true);
2884 }), _defineProperty(_createReducer, oAuthSignInActions.OAUTH_SIGN_IN_COMPLETE, function (state) {
2885 return state.merge({
2886 oAuthSignInSuccessModalVisible: true,
2887 oAuthSignInLoadingProvider: null
2888 });
2889 }), _defineProperty(_createReducer, oAuthSignInActions.OAUTH_SIGN_IN_ERROR, function (state) {
2890 return state.merge({
2891 oAuthSignInErrorModalVisible: true,
2892 oAuthSignInLoadingProvider: null
2893 });
2894 }), _defineProperty(_createReducer, oAuthSignInActions.OAUTH_SIGN_IN_START, function (state, _ref) {
2895 var provider = _ref.provider;
2896 return state.merge({
2897 oAuthSignInLoadingProvider: provider
2898 });
2899 }), _defineProperty(_createReducer, uiActions.HIDE_EMAIL_SIGN_IN_SUCCESS_MODAL, function (state) {
2900 return state.set("emailSignInSuccessModalVisible", false);
2901 }), _defineProperty(_createReducer, uiActions.HIDE_EMAIL_SIGN_IN_ERROR_MODAL, function (state) {
2902 return state.set("emailSignInErrorModalVisible", false);
2903 }), _defineProperty(_createReducer, signOutActions.SIGN_OUT_COMPLETE, function (state) {
2904 return state.set("signOutSuccessModalVisible", true);
2905 }), _defineProperty(_createReducer, signOutActions.SIGN_OUT_ERROR, function (state) {
2906 return state.set("signOutErrorModalVisible", true);
2907 }), _defineProperty(_createReducer, uiActions.HIDE_SIGN_OUT_SUCCESS_MODAL, function (state) {
2908 return state.set("signOutSuccessModalVisible", false);
2909 }), _defineProperty(_createReducer, uiActions.HIDE_SIGN_OUT_ERROR_MODAL, function (state) {
2910 return state.set("signOutErrorModalVisible", false);
2911 }), _defineProperty(_createReducer, emailSignUpActions.EMAIL_SIGN_UP_COMPLETE, function (state, _ref2) {
2912 var user = _ref2.user;
2913 return state.merge({
2914 emailSignUpSuccessModalVisible: true,
2915 emailSignUpAddress: user.email
2916 });
2917 }), _defineProperty(_createReducer, emailSignUpActions.EMAIL_SIGN_UP_ERROR, function (state) {
2918 return state.set("emailSignUpErrorModalVisible", true);
2919 }), _defineProperty(_createReducer, uiActions.HIDE_EMAIL_SIGN_UP_SUCCESS_MODAL, function (state) {
2920 return state.merge({
2921 emailSignUpSuccessModalVisible: false,
2922 emailSignUpAddress: null
2923 });
2924 }), _defineProperty(_createReducer, uiActions.HIDE_EMAIL_SIGN_UP_ERROR_MODAL, function (state) {
2925 return state.set("emailSignUpErrorModalVisible", false);
2926 }), _defineProperty(_createReducer, uiActions.SHOW_FIRST_TIME_LOGIN_SUCCESS_MODAL, function (state) {
2927 return state.set("firstTimeLoginSuccessModalVisible", true);
2928 }), _defineProperty(_createReducer, uiActions.HIDE_FIRST_TIME_LOGIN_SUCCESS_MODAL, function (state) {
2929 return state.set("firstTimeLoginSuccessModalVisible", false);
2930 }), _defineProperty(_createReducer, uiActions.HIDE_PASSWORD_RESET_SUCCESS_MODAL, function (state) {
2931 return state.set("passwordResetSuccessModalVisible", false);
2932 }), _defineProperty(_createReducer, uiActions.SHOW_PASSWORD_RESET_SUCCESS_MODAL, function (state) {
2933 return state.set("passwordResetSuccessModalVisible", true);
2934 }), _defineProperty(_createReducer, uiActions.SHOW_FIRST_TIME_LOGIN_ERROR_MODAL, function (state) {
2935 return state.set("firstTimeLoginErrorModalVisible", true);
2936 }), _defineProperty(_createReducer, uiActions.HIDE_FIRST_TIME_LOGIN_ERROR_MODAL, function (state) {
2937 return state.set("firstTimeLoginErrorModalVisible", false);
2938 }), _defineProperty(_createReducer, uiActions.HIDE_PASSWORD_RESET_ERROR_MODAL, function (state) {
2939 return state.set("passwordResetErrorModalVisible", false);
2940 }), _defineProperty(_createReducer, uiActions.SHOW_PASSWORD_RESET_ERROR_MODAL, function (state) {
2941 return state.set("passwordResetErrorModalVisible", true);
2942 }), _defineProperty(_createReducer, requestPasswordResetActions.REQUEST_PASSWORD_RESET_COMPLETE, function (state, _ref3) {
2943 var message = _ref3.message;
2944
2945 return state.merge({
2946 requestPasswordResetSuccessModalVisible: true,
2947 requestPasswordResetSuccessMessage: message
2948 });
2949 }), _defineProperty(_createReducer, requestPasswordResetActions.REQUEST_PASSWORD_RESET_ERROR, function (state) {
2950 return state.set("requestPasswordResetErrorModalVisible", true);
2951 }), _defineProperty(_createReducer, uiActions.HIDE_REQUEST_PASSWORD_RESET_SUCCESS_MODAL, function (state) {
2952 return state.merge({
2953 requestPasswordResetSuccessModalVisible: false,
2954 requestPasswordResetSuccessMessage: null
2955 });
2956 }), _defineProperty(_createReducer, uiActions.HIDE_REQUEST_PASSWORD_RESET_ERROR_MODAL, function (state) {
2957 return state.set("requestPasswordResetErrorModalVisible", false);
2958 }), _defineProperty(_createReducer, uiActions.HIDE_OAUTH_SIGN_IN_SUCCESS_MODAL, function (state) {
2959 return state.set("oAuthSignInSuccessModalVisible", false);
2960 }), _defineProperty(_createReducer, uiActions.HIDE_OAUTH_SIGN_IN_ERROR_MODAL, function (state) {
2961 return state.set("oAuthSignInErrorModalVisible", false);
2962 }), _defineProperty(_createReducer, updatePasswordActions.UPDATE_PASSWORD_COMPLETE, function (state) {
2963 return state.set("updatePasswordSuccessModalVisible", true);
2964 }), _defineProperty(_createReducer, updatePasswordActions.UPDATE_PASSWORD_ERROR, function (state) {
2965 return state.set("updatePasswordErrorModalVisible", true);
2966 }), _defineProperty(_createReducer, uiActions.HIDE_UPDATE_PASSWORD_SUCCESS_MODAL, function (state) {
2967 return state.set("updatePasswordSuccessModalVisible", false);
2968 }), _defineProperty(_createReducer, uiActions.HIDE_UPDATE_PASSWORD_ERROR_MODAL, function (state) {
2969 return state.set("updatePasswordErrorModalVisible", false);
2970 }), _defineProperty(_createReducer, destroyAccountActions.DESTROY_ACCOUNT_COMPLETE, function (state, _ref4) {
2971 var message = _ref4.message;
2972 return state.merge({
2973 destroyAccountSuccessModalVisible: true,
2974 destroyAccountMessage: message
2975 });
2976 }), _defineProperty(_createReducer, destroyAccountActions.DESTROY_ACCOUNT_ERROR, function (state) {
2977 return state.set("destroyAccountErrorModalVisible", true);
2978 }), _defineProperty(_createReducer, uiActions.HIDE_DESTROY_ACCOUNT_SUCCESS_MODAL, function (state) {
2979 return state.merge({
2980 destroyAccountSuccessModalVisible: false,
2981 destroyAccountMessage: null
2982 });
2983 }), _defineProperty(_createReducer, uiActions.HIDE_DESTROY_ACCOUNT_ERROR_MODAL, function (state) {
2984 return state.set("destroyAccountErrorModalVisible", false);
2985 }), _defineProperty(_createReducer, serverActions.SS_AUTH_TOKEN_UPDATE, function (state, _ref5) {
2986 var mustResetPassword = _ref5.mustResetPassword;
2987 var firstTimeLogin = _ref5.firstTimeLogin;
2988 return state.merge({
2989 passwordResetSuccessModalVisible: mustResetPassword,
2990 firstTimeLoginSuccessModalVisible: firstTimeLogin
2991 });
2992 }), _defineProperty(_createReducer, uiActions.HIDE_PASSWORD_RESET_SUCCESS_MODAL, function (state) {
2993 return state.set("passwordResetSuccessModalVisible", false);
2994 }), _defineProperty(_createReducer, uiActions.HIDE_PASSWORD_RESET_ERROR_MODAL, function (state) {
2995 return state.set("passwordResetSuccessModalVisible", false);
2996 }), _defineProperty(_createReducer, updatePasswordModalActions.UPDATE_PASSWORD_MODAL_COMPLETE, function (state) {
2997 return state.merge({
2998 passwordResetSuccessModalVisible: false,
2999 updatePasswordSuccessModalVisible: true
3000 });
3001 }), _createReducer));
3002
3003/***/ },
3004/* 57 */
3005/***/ function(module, exports, __webpack_require__) {
3006
3007 "use strict";
3008
3009 Object.defineProperty(exports, "__esModule", {
3010 value: true
3011 });
3012
3013 var _createReducer;
3014
3015 var _immutable = __webpack_require__(4);
3016
3017 var _immutable2 = _interopRequireDefault(_immutable);
3018
3019 var _reduxImmutablejs = __webpack_require__(10);
3020
3021 var _updatePasswordModal = __webpack_require__(35);
3022
3023 var A = _interopRequireWildcard(_updatePasswordModal);
3024
3025 var _configure = __webpack_require__(5);
3026
3027 function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
3028
3029 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
3030
3031 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
3032
3033 var initialState = {
3034 loading: false,
3035 errors: null,
3036 form: {}
3037 };
3038
3039 exports.default = (0, _reduxImmutablejs.createReducer)(_immutable2.default.fromJS({}), (_createReducer = {}, _defineProperty(_createReducer, _configure.SET_ENDPOINT_KEYS, function (state, _ref) {
3040 var endpoints = _ref.endpoints;
3041 return state.merge(endpoints.reduce(function (coll, k) {
3042 coll[k] = _immutable2.default.fromJS(initialState);
3043 return coll;
3044 }, {}));
3045 }), _defineProperty(_createReducer, A.UPDATE_PASSWORD_MODAL_START, function (state, _ref2) {
3046 var endpoint = _ref2.endpoint;
3047 return state.setIn([endpoint, "loading"], true);
3048 }), _defineProperty(_createReducer, A.UPDATE_PASSWORD_MODAL_COMPLETE, function (state, _ref3) {
3049 var endpoint = _ref3.endpoint;
3050 return state.merge(_defineProperty({}, endpoint, initialState));
3051 }), _defineProperty(_createReducer, A.UPDATE_PASSWORD_MODAL_ERROR, function (state, _ref4) {
3052 var endpoint = _ref4.endpoint;
3053 var errors = _ref4.errors;
3054 return state.mergeDeep(_defineProperty({}, endpoint, {
3055 loading: false,
3056 errors: errors
3057 }));
3058 }), _defineProperty(_createReducer, A.UPDATE_PASSWORD_MODAL_FORM_UPDATE, function (state, _ref5) {
3059 var endpoint = _ref5.endpoint;
3060 var key = _ref5.key;
3061 var value = _ref5.value;
3062
3063 return state.mergeDeep(_defineProperty({}, endpoint, {
3064 form: _defineProperty({}, key, value)
3065 }));
3066 }), _createReducer));
3067
3068/***/ },
3069/* 58 */
3070/***/ function(module, exports, __webpack_require__) {
3071
3072 "use strict";
3073
3074 Object.defineProperty(exports, "__esModule", {
3075 value: true
3076 });
3077
3078 var _createReducer;
3079
3080 var _immutable = __webpack_require__(4);
3081
3082 var _immutable2 = _interopRequireDefault(_immutable);
3083
3084 var _reduxImmutablejs = __webpack_require__(10);
3085
3086 var _updatePassword = __webpack_require__(36);
3087
3088 var A = _interopRequireWildcard(_updatePassword);
3089
3090 var _configure = __webpack_require__(5);
3091
3092 function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
3093
3094 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
3095
3096 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
3097
3098 var initialState = {
3099 loading: false,
3100 errors: null,
3101 form: {}
3102 };
3103
3104 exports.default = (0, _reduxImmutablejs.createReducer)(_immutable2.default.fromJS({}), (_createReducer = {}, _defineProperty(_createReducer, _configure.SET_ENDPOINT_KEYS, function (state, _ref) {
3105 var endpoints = _ref.endpoints;
3106 return state.merge(endpoints.reduce(function (coll, k) {
3107 coll[k] = _immutable2.default.fromJS(initialState);
3108 return coll;
3109 }, {}));
3110 }), _defineProperty(_createReducer, A.UPDATE_PASSWORD_START, function (state, _ref2) {
3111 var endpoint = _ref2.endpoint;
3112 return state.setIn([endpoint, "loading"], true);
3113 }), _defineProperty(_createReducer, A.UPDATE_PASSWORD_COMPLETE, function (state, _ref3) {
3114 var endpoint = _ref3.endpoint;
3115 return state.merge(_defineProperty({}, endpoint, initialState));
3116 }), _defineProperty(_createReducer, A.UPDATE_PASSWORD_ERROR, function (state, _ref4) {
3117 var endpoint = _ref4.endpoint;
3118 var errors = _ref4.errors;
3119 return state.mergeDeep(_defineProperty({}, endpoint, {
3120 loading: false,
3121 errors: errors
3122 }));
3123 }), _defineProperty(_createReducer, A.UPDATE_PASSWORD_FORM_UPDATE, function (state, _ref5) {
3124 var endpoint = _ref5.endpoint;
3125 var key = _ref5.key;
3126 var value = _ref5.value;
3127
3128 return state.mergeDeep(_defineProperty({}, endpoint, {
3129 form: _defineProperty({}, key, value)
3130 }));
3131 }), _createReducer));
3132
3133/***/ },
3134/* 59 */
3135/***/ function(module, exports, __webpack_require__) {
3136
3137 "use strict";
3138
3139 Object.defineProperty(exports, "__esModule", {
3140 value: true
3141 });
3142
3143 var _createReducer;
3144
3145 var _immutable = __webpack_require__(4);
3146
3147 var _immutable2 = _interopRequireDefault(_immutable);
3148
3149 var _reduxImmutablejs = __webpack_require__(10);
3150
3151 var _sessionStorage = __webpack_require__(11);
3152
3153 var _authenticate = __webpack_require__(24);
3154
3155 var authActions = _interopRequireWildcard(_authenticate);
3156
3157 var _emailSignIn = __webpack_require__(26);
3158
3159 var _signOut = __webpack_require__(29);
3160
3161 var _oauthSignIn = __webpack_require__(27);
3162
3163 var _destroyAccount = __webpack_require__(25);
3164
3165 var _server = __webpack_require__(28);
3166
3167 var ssActions = _interopRequireWildcard(_server);
3168
3169 var _configure = __webpack_require__(5);
3170
3171 function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
3172
3173 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
3174
3175 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
3176
3177 var initialState = _immutable2.default.fromJS({
3178 attributes: null,
3179 isSignedIn: false,
3180 firstTimeLogin: false,
3181 mustResetPassword: false,
3182 endpointKey: null
3183 });
3184
3185 exports.default = (0, _reduxImmutablejs.createReducer)(initialState, (_createReducer = {}, _defineProperty(_createReducer, authActions.AUTHENTICATE_COMPLETE, function (state, _ref) {
3186 var user = _ref.user;
3187 return state.merge({
3188 attributes: user,
3189 isSignedIn: true,
3190 endpointKey: (0, _sessionStorage.getCurrentEndpointKey)()
3191 });
3192 }), _defineProperty(_createReducer, ssActions.SS_TOKEN_VALIDATION_COMPLETE, function (state, _ref2) {
3193 var user = _ref2.user;
3194 var mustResetPassword = _ref2.mustResetPassword;
3195 var firstTimeLogin = _ref2.firstTimeLogin;
3196
3197 return state.merge({
3198 attributes: user,
3199 isSignedIn: true,
3200 firstTimeLogin: firstTimeLogin,
3201 mustResetPassword: mustResetPassword
3202 });
3203 }), _defineProperty(_createReducer, _configure.STORE_CURRENT_ENDPOINT_KEY, function (state, _ref3) {
3204 var currentEndpointKey = _ref3.currentEndpointKey;
3205 return state.set("endpointKey", currentEndpointKey);
3206 }), _defineProperty(_createReducer, _configure.SET_ENDPOINT_KEYS, function (state, _ref4) {
3207 var currentEndpointKey = _ref4.currentEndpointKey;
3208 return state.set("endpointKey", currentEndpointKey);
3209 }), _defineProperty(_createReducer, _emailSignIn.EMAIL_SIGN_IN_COMPLETE, function (state, _ref5) {
3210 var endpoint = _ref5.endpoint;
3211 var user = _ref5.user;
3212 return state.merge({
3213 attributes: user.data,
3214 isSignedIn: true,
3215 endpointKey: endpoint
3216 });
3217 }), _defineProperty(_createReducer, _oauthSignIn.OAUTH_SIGN_IN_COMPLETE, function (state, _ref6) {
3218 var endpoint = _ref6.endpoint;
3219 var user = _ref6.user;
3220 return state.merge({
3221 attributes: user,
3222 isSignedIn: true,
3223 endpointKey: endpoint
3224 });
3225 }), _defineProperty(_createReducer, ssActions.SS_AUTH_TOKEN_UPDATE, function (state, _ref7) {
3226 var user = _ref7.user;
3227 var mustResetPassword = _ref7.mustResetPassword;
3228 var firstTimeLogin = _ref7.firstTimeLogin;
3229
3230 return state.merge({
3231 mustResetPassword: mustResetPassword,
3232 firstTimeLogin: firstTimeLogin,
3233 isSignedIn: !!user,
3234 attributes: user
3235 });
3236 }), _defineProperty(_createReducer, authActions.AUTHENTICATE_FAILURE, function (state) {
3237 return state.merge(initialState);
3238 }), _defineProperty(_createReducer, ssActions.SS_TOKEN_VALIDATION_ERROR, function (state) {
3239 return state.merge(initialState);
3240 }), _defineProperty(_createReducer, _signOut.SIGN_OUT_COMPLETE, function (state) {
3241 return state.merge(initialState);
3242 }), _defineProperty(_createReducer, _signOut.SIGN_OUT_ERROR, function (state) {
3243 return state.merge(initialState);
3244 }), _defineProperty(_createReducer, _destroyAccount.DESTROY_ACCOUNT_COMPLETE, function (state) {
3245 return state.merge(initialState);
3246 }), _createReducer));
3247
3248/***/ },
3249/* 60 */
3250/***/ function(module, exports, __webpack_require__) {
3251
3252 "use strict";
3253
3254 Object.defineProperty(exports, "__esModule", {
3255 value: true
3256 });
3257 exports.applyConfig = applyConfig;
3258
3259 var _constants = __webpack_require__(19);
3260
3261 var C = _interopRequireWildcard(_constants);
3262
3263 var _extend = __webpack_require__(16);
3264
3265 var _extend2 = _interopRequireDefault(_extend);
3266
3267 var _fetch = __webpack_require__(12);
3268
3269 var _fetch2 = _interopRequireDefault(_fetch);
3270
3271 var _parseEndpointConfig2 = __webpack_require__(40);
3272
3273 var _parseEndpointConfig3 = _interopRequireDefault(_parseEndpointConfig2);
3274
3275 var _configure = __webpack_require__(5);
3276
3277 var _sessionStorage = __webpack_require__(11);
3278
3279 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
3280
3281 function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
3282
3283 // can't use "window" with node app
3284 var root = Function("return this")() || (42, eval)("this");
3285
3286 var defaultSettings = {
3287 proxyIf: function proxyIf() {
3288 return false;
3289 },
3290 proxyUrl: "/proxy",
3291 forceHardRedirect: false,
3292 storage: "cookies",
3293 cookieExpiry: 14,
3294 cookiePath: "/",
3295 initialCredentials: null,
3296
3297 passwordResetSuccessUrl: function passwordResetSuccessUrl() {
3298 return root.location.href;
3299 },
3300
3301 confirmationSuccessUrl: function confirmationSuccessUrl() {
3302 return root.location.href;
3303 },
3304
3305 tokenFormat: {
3306 "access-token": "{{ access-token }}",
3307 "token-type": "Bearer",
3308 client: "{{ client }}",
3309 expiry: "{{ expiry }}",
3310 uid: "{{ uid }}"
3311 },
3312
3313 parseExpiry: function parseExpiry(headers) {
3314 // convert from ruby time (seconds) to js time (millis)
3315 return parseInt(headers["expiry"], 10) * 1000 || null;
3316 },
3317
3318 handleLoginResponse: function handleLoginResponse(resp) {
3319 return resp.data;
3320 },
3321
3322 handleAccountUpdateResponse: function handleAccountUpdateResponse(resp) {
3323 return resp.data;
3324 },
3325
3326 handleTokenValidationResponse: function handleTokenValidationResponse(resp) {
3327 return resp.data;
3328 }
3329 };
3330
3331 // save session configuration
3332 function applyConfig() {
3333 var _ref = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
3334
3335 var dispatch = _ref.dispatch;
3336 var _ref$endpoint = _ref.endpoint;
3337 var endpoint = _ref$endpoint === undefined ? {} : _ref$endpoint;
3338 var _ref$settings = _ref.settings;
3339 var settings = _ref$settings === undefined ? {} : _ref$settings;
3340 var _ref$reset = _ref.reset;
3341 var reset = _ref$reset === undefined ? false : _ref$reset;
3342
3343 var currentEndpointKey = void 0;
3344
3345 if (reset) {
3346 resetConfig();
3347 }
3348
3349 if (settings.initialCredentials) {
3350 currentEndpointKey = settings.initialCredentials.currentEndpointKey;
3351 }
3352
3353 (0, _sessionStorage.setCurrentSettings)((0, _extend2.default)({}, defaultSettings, settings));
3354
3355 var _parseEndpointConfig = (0, _parseEndpointConfig3.default)(endpoint, (0, _sessionStorage.getInitialEndpointKey)());
3356
3357 var defaultEndpointKey = _parseEndpointConfig.defaultEndpointKey;
3358 var currentEndpoint = _parseEndpointConfig.currentEndpoint;
3359
3360
3361 if (!currentEndpointKey) {
3362 currentEndpointKey = defaultEndpointKey;
3363 }
3364
3365 // persist default config key with session storage
3366 (0, _sessionStorage.setDefaultEndpointKey)(defaultEndpointKey);
3367 (0, _sessionStorage.setCurrentEndpoint)(currentEndpoint);
3368
3369 dispatch((0, _configure.setEndpointKeys)(Object.keys(currentEndpoint), currentEndpointKey, defaultEndpointKey));
3370 (0, _sessionStorage.setCurrentEndpointKey)(currentEndpointKey);
3371
3372 var savedCreds = (0, _sessionStorage.retrieveData)(C.SAVED_CREDS_KEY);
3373
3374 if ((0, _sessionStorage.getCurrentSettings)().initialCredentials) {
3375 // skip initial headers check (i.e. check was already done server-side)
3376 var _getCurrentSettings$i = (0, _sessionStorage.getCurrentSettings)().initialCredentials;
3377 var user = _getCurrentSettings$i.user;
3378 var headers = _getCurrentSettings$i.headers;
3379
3380 (0, _sessionStorage.persistData)(C.SAVED_CREDS_KEY, headers);
3381 return Promise.resolve(user);
3382 } else if (savedCreds) {
3383 // verify session credentials with API
3384 return (0, _fetch2.default)("" + (0, _sessionStorage.getApiUrl)(currentEndpointKey) + currentEndpoint[currentEndpointKey].tokenValidationPath).then(function (response) {
3385 if (response.status >= 200 && response.status < 300) {
3386 return response.json().then(function (_ref2) {
3387 var data = _ref2.data;
3388 return data;
3389 });
3390 }
3391 (0, _sessionStorage.removeData)(C.SAVED_CREDS_KEY);
3392 return Promise.reject({ reason: "No credentials." });
3393 });
3394 } else {
3395 return Promise.reject({ reason: "No credentials." });
3396 }
3397 }
3398
3399/***/ },
3400/* 61 */
3401/***/ function(module, exports) {
3402
3403 "use strict";
3404
3405 Object.defineProperty(exports, "__esModule", {
3406 value: true
3407 });
3408 exports.default = openPopup;
3409 /* istanbul ignore next */
3410 var settings = "scrollbars=no,toolbar=no,location=no,titlebar=no,directories=no,status=no,menubar=no";
3411
3412 /* istanbul ignore next */
3413 function getPopupOffset(_ref) {
3414 var width = _ref.width;
3415 var height = _ref.height;
3416
3417 var wLeft = window.screenLeft ? window.screenLeft : window.screenX;
3418 var wTop = window.screenTop ? window.screenTop : window.screenY;
3419
3420 var left = wLeft + window.innerWidth / 2 - width / 2;
3421 var top = wTop + window.innerHeight / 2 - height / 2;
3422
3423 return { top: top, left: left };
3424 }
3425
3426 /* istanbul ignore next */
3427 function getPopupSize(provider) {
3428 switch (provider) {
3429 case "facebook":
3430 return { width: 580, height: 400 };
3431
3432 case "google":
3433 return { width: 452, height: 633 };
3434
3435 case "github":
3436 return { width: 1020, height: 618 };
3437
3438 case "linkedin":
3439 return { width: 527, height: 582 };
3440
3441 case "twitter":
3442 return { width: 495, height: 645 };
3443
3444 case "live":
3445 return { width: 500, height: 560 };
3446
3447 case "yahoo":
3448 return { width: 559, height: 519 };
3449
3450 default:
3451 return { width: 1020, height: 618 };
3452 }
3453 }
3454
3455 /* istanbul ignore next */
3456 function getPopupDimensions(provider) {
3457 var _getPopupSize = getPopupSize(provider);
3458
3459 var width = _getPopupSize.width;
3460 var height = _getPopupSize.height;
3461
3462 var _getPopupOffset = getPopupOffset({ width: width, height: height });
3463
3464 var top = _getPopupOffset.top;
3465 var left = _getPopupOffset.left;
3466
3467
3468 return "width=" + width + ",height=" + height + ",top=" + top + ",left=" + left;
3469 }
3470
3471 /* istanbul ignore next */
3472 function openPopup(provider, url, name) {
3473 return window.open(url, name, settings + "," + getPopupDimensions(provider));
3474 }
3475
3476/***/ },
3477/* 62 */,
3478/* 63 */,
3479/* 64 */,
3480/* 65 */,
3481/* 66 */,
3482/* 67 */,
3483/* 68 */,
3484/* 69 */,
3485/* 70 */,
3486/* 71 */,
3487/* 72 */,
3488/* 73 */,
3489/* 74 */,
3490/* 75 */,
3491/* 76 */,
3492/* 77 */,
3493/* 78 */,
3494/* 79 */,
3495/* 80 */,
3496/* 81 */,
3497/* 82 */,
3498/* 83 */,
3499/* 84 */,
3500/* 85 */,
3501/* 86 */,
3502/* 87 */,
3503/* 88 */,
3504/* 89 */,
3505/* 90 */,
3506/* 91 */,
3507/* 92 */,
3508/* 93 */,
3509/* 94 */,
3510/* 95 */,
3511/* 96 */,
3512/* 97 */,
3513/* 98 */,
3514/* 99 */,
3515/* 100 */,
3516/* 101 */,
3517/* 102 */,
3518/* 103 */,
3519/* 104 */,
3520/* 105 */,
3521/* 106 */,
3522/* 107 */,
3523/* 108 */,
3524/* 109 */,
3525/* 110 */,
3526/* 111 */,
3527/* 112 */,
3528/* 113 */,
3529/* 114 */,
3530/* 115 */,
3531/* 116 */,
3532/* 117 */,
3533/* 118 */,
3534/* 119 */,
3535/* 120 */,
3536/* 121 */,
3537/* 122 */,
3538/* 123 */,
3539/* 124 */,
3540/* 125 */,
3541/* 126 */,
3542/* 127 */,
3543/* 128 */,
3544/* 129 */,
3545/* 130 */,
3546/* 131 */,
3547/* 132 */,
3548/* 133 */,
3549/* 134 */,
3550/* 135 */,
3551/* 136 */,
3552/* 137 */,
3553/* 138 */,
3554/* 139 */,
3555/* 140 */
3556/***/ function(module, exports) {
3557
3558 module.exports = require("browser-cookies");
3559
3560/***/ },
3561/* 141 */
3562/***/ function(module, exports) {
3563
3564 module.exports = require("cookie");
3565
3566/***/ },
3567/* 142 */,
3568/* 143 */,
3569/* 144 */,
3570/* 145 */,
3571/* 146 */
3572/***/ function(module, exports) {
3573
3574 module.exports = require("querystring");
3575
3576/***/ },
3577/* 147 */,
3578/* 148 */
3579/***/ function(module, exports) {
3580
3581 module.exports = require("react-router-redux");
3582
3583/***/ },
3584/* 149 */
3585/***/ function(module, exports) {
3586
3587 module.exports = require("url");
3588
3589/***/ }
3590/******/ ])));
\No newline at end of file