UNPKG

@stokr/components-library

Version:

STOKR - Components Library

287 lines (282 loc) 8.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _axios = _interopRequireDefault(require("../model/axios")); var _axios2 = _interopRequireDefault(require("axios")); var _jsCookie = _interopRequireDefault(require("js-cookie")); var _getCookieDomain = _interopRequireDefault(require("../utils/get-cookie-domain")); var _firebaseConfig = require("../firebase-config"); var _auth = require("firebase/auth"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } class Auth { static setAccessToken(token) { this.logout(); const cookieDomain = (0, _getCookieDomain.default)(); const inOneHour = 1 / 24; cookieDomain.expires = inOneHour; _jsCookie.default.set('STOKR_ACCESS_TOKEN', token, cookieDomain); } static getAccessToken() { return _jsCookie.default.get('STOKR_ACCESS_TOKEN'); } static logout() { const cookieDomain = (0, _getCookieDomain.default)(); _jsCookie.default.remove('STOKR_ACCESS_TOKEN', cookieDomain); } static login(email, password) { return new Promise((resolve, reject) => { (0, _auth.signInWithEmailAndPassword)(_firebaseConfig.auth, email, password).then(userCredential => { const user = userCredential.user; resolve(user); }).catch(error => { reject(error); }); }); } static createUser(email, password) { return new Promise((resolve, reject) => { (0, _auth.createUserWithEmailAndPassword)(_firebaseConfig.auth, email, password).then(userCredential => { // Signed in const user = userCredential.user; resolve(user); }).catch(error => { reject(error); }); }); } static twoFactor(data) { return new Promise((resolve, reject) => { _axios.default.post("auth/confirm2fa", data).then(response => { resolve(response.data); }).catch(err => { reject(err); }); }); } static resendActivationEmail(email) { return new Promise((resolve, reject) => { _axios.default.post("auth/resend-activation-email", { email: email }).then(response => { resolve(response.data); }).catch(err => { reject(err); }); }); } static handleVerifyEmail(actionCode, continueUrl) { return new Promise((resolve, reject) => { (0, _auth.applyActionCode)(_firebaseConfig.auth, actionCode).then(resp => { // Email address has been verified. resolve(resp); }).catch(error => { reject(error); }); }); } static handleResetPassword(actionCode, newPassword, continueUrl) { return new Promise((resolve, reject) => { // Verify the password reset code is valid. (0, _auth.verifyPasswordResetCode)(_firebaseConfig.auth, actionCode).then(email => { const accountEmail = email; (0, _auth.confirmPasswordReset)(_firebaseConfig.auth, actionCode, newPassword).then(resp => { // Password reset has been confirmed and new password updated. //signInWithEmailAndPassword(accountEmail, newPassword) resolve(accountEmail); }).catch(error => { // Error occurred during confirmation. The code might have expired or the // password is too weak. reject(error); }); }).catch(error => { // Invalid or expired action code. Ask user to try to reset the password // again. reject(error); }); }); } static getUser() { return new Promise((resolve, reject) => { _axios.default.post("user/get").then(response => { resolve(response.data); }).catch(err => { reject(err); }); }); } static getFirebaseUser() { return new Promise((resolve, reject) => { (0, _auth.onAuthStateChanged)(_firebaseConfig.auth, user => { if (user) { resolve(user); } else { reject('User is signed out'); } }); }); } static refreshIdToken() { return new Promise((resolve, reject) => { var user = _firebaseConfig.auth.currentUser; if (!user) reject('User not available'); user.getIdToken(true).then(idToken => { resolve(idToken); }).catch(error => { reject(error); }); }); } static signInWithToken(token) { return new Promise((resolve, reject) => { (0, _auth.signInWithCustomToken)(_firebaseConfig.auth, token).then(userCredential => { // Signed in const user = userCredential.user; resolve(user); }).catch(error => { reject(error); }); }); } static updateUserPassword(user, newPassword) { return new Promise((resolve, reject) => { (0, _auth.updatePassword)(user, newPassword).then(() => { resolve(); }).catch(error => { reject(error); }); }); } static requestUpdateEmail(data) { return new Promise((resolve, reject) => { _axios.default.post("user/requestUpdateEmail", data).then(response => { resolve(response.data); }).catch(err => { reject(err); }); }); } static checkPrivateInvestor(data) { return new Promise((resolve, reject) => { _axios.default.post("private-investor/check", data).then(response => { resolve(response.data); }).catch(err => { reject(err); }); }); } static checkIfUserSubscribed(data) { return new Promise((resolve, reject) => { _axios.default.post("emails/checksubscription", data).then(response => { resolve(response.data); }).catch(err => { reject(err); }); }); } static fetchTrackingUserLastTime(data) { return new Promise((resolve, reject) => { _axios.default.post("tracking-user/getLast", data).then(response => { resolve(response.data); }).catch(err => { reject(err); }); }); } static updateUser(data) { return new Promise((resolve, reject) => { _axios.default.post("user/update", data).then(response => { resolve(response.data); }).catch(err => { reject(err); }); }); } static updateFirebaseUser(user, data) { return new Promise((resolve, reject) => { (0, _auth.updateProfile)(user, data).then(() => { resolve(); }).catch(error => { reject(error); }); }); } static sendWelcomeEmail() { return new Promise((resolve, reject) => { _axios.default.post("user/welcomeEmail").then(() => { resolve(); }).catch(err => { reject(err); }); }); } static createWallet(data) { return new Promise((resolve, reject) => { _axios.default.post("wallets/create", data).then(response => { resolve(response.data); }).catch(err => { reject(err); }); }); } static uploaProofOfAddress(data, ip) { return new Promise(async (resolve, reject) => { _axios.default.post("https://kycdocs.stokr-staging.de/kyc/upload?ip=".concat(ip), data, { headers: { 'Content-Type': 'multipart/form-data' } }).then(response => { resolve(response.data); }).catch(err => { reject(err); }); }); } static validateGreenWalletId(id) { return new Promise(async (resolve, reject) => { _axios.default.post("wallets/validate-gaid", { gaid: id }).then(response => { resolve(response.data); }).catch(err => { reject(err); }); }); } /** * Upload Photo * @param data */ static uploadPhoto(data) { return new Promise((resolve, reject) => { _axios2.default.post("".concat(process.env.REACT_APP_PHOTO_API_URL, "/media/picture/create"), data, { headers: { 'Content-Type': 'multipart/form-data' } }).then(response => { resolve(response.data); }).catch(err => { reject(err); }); }); } /** * Delete Photo * @param data */ static deletePhoto(data) { return new Promise((resolve, reject) => { _axios2.default.post("".concat(process.env.REACT_APP_PHOTO_API_URL, "/media/picture/delete"), data, { headers: { 'Content-Type': 'multipart/form-data' } }).then(response => { resolve(response.data); }).catch(err => { reject(err); }); }); } } var _default = exports.default = Auth;