UNPKG

react-web-native-sketch

Version:

[TODO: We need an overview of how this can be used via npm vs as a local package]

210 lines 8.46 kB
"use strict"; var __assign = (this && this.__assign) || Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; Object.defineProperty(exports, "__esModule", { value: true }); // import { googleSignOut } from '../../nativeComponents/ButtonGoogleComponent/googleLoginUtils'; var platform_1 = require("../../primitives/platform/platform"); var commonActions_1 = require("./commonActions"); var utils_1 = require("./utils"); var TypeKeys; (function (TypeKeys) { TypeKeys["FB_LOAD_SDK"] = "react-web-native-sketch/auth/FB_LOAD_SDK"; TypeKeys["FB_SDK_LOADED"] = "react-web-native-sketch/auth/FB_SDK_LOADED"; TypeKeys["FB_STATUS_CHANGE"] = "react-web-native-sketch/auth/FB_STATUS_CHANGE"; TypeKeys["GOOGLE_LOAD_SDK"] = "react-web-native-sketch/auth/GOOGLE_LOAD_SDK"; TypeKeys["GOOGLE_SDK_LOADED"] = "react-web-native-sketch/auth/GOOGLE_SDK_LOADED"; })(TypeKeys = exports.TypeKeys || (exports.TypeKeys = {})); var initialState = { forgotSuccess: undefined, googleSdkIsLoaded: false, loadedFbSdk: false, loadingFbSdk: false, loadingForgot: false, loadingGoogleSdk: false, loggingIn: false, loggingOut: false, signingUp: false, validateSuccess: false, validating: false, }; exports.auth = function (state, action) { if (state === void 0) { state = initialState; } switch (action.type) { case TypeKeys.FB_LOAD_SDK: return __assign({}, state, { loadingFbSdk: true }); case TypeKeys.FB_SDK_LOADED: return __assign({}, state, { loadingFbSdk: false, loadedFbSdk: true }); case TypeKeys.FB_STATUS_CHANGE: return __assign({}, state); case commonActions_1.CommonTypeKeys.SOCIAL_LOGIN: case commonActions_1.CommonTypeKeys.LOGIN: return __assign({}, state, { loggingIn: true }); case commonActions_1.CommonTypeKeys.SOCIAL_LOGIN_SUCCESS: case commonActions_1.CommonTypeKeys.LOGIN_SUCCESS: return __assign({}, state, { loggingIn: false }); case commonActions_1.CommonTypeKeys.LOGIN_FAIL: return __assign({}, state, { loggingIn: false }); case commonActions_1.CommonTypeKeys.SOCIAL_LOGIN_FAIL: // fbSignOut(); // googleSignOut(); return __assign({}, state, { loggingIn: false }); case commonActions_1.CommonTypeKeys.SIGNUP: return __assign({}, state, { signingUp: true }); case commonActions_1.CommonTypeKeys.SIGNUP_SUCCESS: return __assign({}, state, { signingUp: false }); case commonActions_1.CommonTypeKeys.SIGNUP_FAIL: return __assign({}, state, { signingUp: false }); case commonActions_1.CommonTypeKeys.VALIDATE_2FA: return __assign({}, state, { validating: true, validateSuccess: false }); case commonActions_1.CommonTypeKeys.VALIDATE_2FA_SUCCESS: return __assign({}, state, { validating: false, validateSuccess: true }); case commonActions_1.CommonTypeKeys.VALIDATE_2FA_FAIL: return __assign({}, state, { validating: false, validateSuccess: false }); case commonActions_1.CommonTypeKeys.LOGOUT: return __assign({}, state, { loggingOut: true }); case commonActions_1.CommonTypeKeys.LOGOUT_SUCCESS: if (platform_1.isWeb) { localStorage.removeItem(utils_1.getUserDataLocalStorageName()); document.cookie = 'auth=; expires=Thu, 01 Jan 1970 00:00:01 GMT;'; } // googleSignOut(); // fbSignOut(); return __assign({}, state, { loggingOut: false }); case commonActions_1.CommonTypeKeys.LOGOUT_FAIL: return __assign({}, state, { loggingOut: false }); case TypeKeys.GOOGLE_LOAD_SDK: return __assign({}, state, { loadingGoogleSdk: true, googleSdkIsLoaded: false }); case TypeKeys.GOOGLE_SDK_LOADED: return __assign({}, state, { loadingGoogleSdk: false, googleSdkIsLoaded: true }); default: return state; } }; function fbSdkLoaded() { return { type: TypeKeys.FB_SDK_LOADED }; } exports.fbSdkLoaded = fbSdkLoaded; function fbStatusChangeCallback(inviteCode, response) { if (response.status === 'connected') { var authResponse = response.authResponse; return { types: [commonActions_1.CommonTypeKeys.SOCIAL_LOGIN, commonActions_1.CommonTypeKeys.SOCIAL_LOGIN_SUCCESS, commonActions_1.CommonTypeKeys.SOCIAL_LOGIN_FAIL], method: 'post', url: 'oauth-login', body: { providerUserId: authResponse.userID, oauthToken: authResponse.accessToken, providerName: 'facebook', invite_code: inviteCode, redirect_uri: null }, }; } else if (response.status === 'not_authorized') { console.log('Please log into this app.'); } else { console.log('Please log into Facebook.'); } return { type: TypeKeys.FB_STATUS_CHANGE }; } exports.fbStatusChangeCallback = fbStatusChangeCallback; exports.fbLoadSdk = function (appId, fbSdkLoaded, fbStatusChangeCallback, inviteCode) { window.fbAsyncInit = function () { FB.init({ appId: appId, cookie: false, xfbml: true, version: 'v2.5' }); FB.Event.subscribe('auth.statusChange', fbStatusChangeCallback.bind(null, inviteCode)); fbSdkLoaded(); }; // Load the SDK asynchronously (function (d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = '//connect.facebook.net/en_US/sdk.js'; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); return { type: TypeKeys.FB_LOAD_SDK }; }; exports.loadGoogleSdk = function () { return { type: TypeKeys.GOOGLE_LOAD_SDK, }; }; exports.loadedGoogleSdk = function () { return { type: TypeKeys.GOOGLE_SDK_LOADED, }; }; exports.login = function (body, url, method) { return { types: [commonActions_1.CommonTypeKeys.LOGIN, commonActions_1.CommonTypeKeys.LOGIN_SUCCESS, commonActions_1.CommonTypeKeys.LOGIN_FAIL], method: method, url: url, body: body, }; }; exports.socialLogin = function (url, method, providerName, oauthToken, providerUserId, invite_code, redirect_uri) { return { types: [commonActions_1.CommonTypeKeys.SOCIAL_LOGIN, commonActions_1.CommonTypeKeys.SOCIAL_LOGIN_SUCCESS, commonActions_1.CommonTypeKeys.SOCIAL_LOGIN_FAIL], method: method, url: url, body: { providerName: providerName, oauthToken: oauthToken, providerUserId: providerUserId, invite_code: invite_code, redirect_uri: redirect_uri }, }; }; exports.signup = function (body, url, method) { return { types: [commonActions_1.CommonTypeKeys.SIGNUP, commonActions_1.CommonTypeKeys.SIGNUP_SUCCESS, commonActions_1.CommonTypeKeys.SIGNUP_FAIL], method: method, url: url, body: body, }; }; exports.validate2FA = function (body, url, method, types) { return { types: types && types.length == 3 ? types : [commonActions_1.CommonTypeKeys.VALIDATE_2FA, commonActions_1.CommonTypeKeys.VALIDATE_2FA_SUCCESS, commonActions_1.CommonTypeKeys.VALIDATE_2FA_FAIL], method: method, url: url, body: body, }; }; exports.logout = function (body, url, method) { return { types: [commonActions_1.CommonTypeKeys.LOGOUT, commonActions_1.CommonTypeKeys.LOGOUT_SUCCESS, commonActions_1.CommonTypeKeys.LOGOUT_FAIL], url: url, method: method, body: body, }; }; exports.logoutLocal = function (props) { if (platform_1.isWeb) { localStorage.removeItem(utils_1.getUserDataLocalStorageName()); document.cookie = 'auth=; expires=Thu, 01 Jan 1970 00:00:01 GMT;'; } // googleSignOut(); // fbSignOut(); return !!props ? props : { type: commonActions_1.CommonTypeKeys.LOGOUT_SUCCESS }; }; //# sourceMappingURL=auth.js.map