54 lines
1.5 KiB
JavaScript
54 lines
1.5 KiB
JavaScript
import firebase from "firebase/app";
|
|
import "firebase/firestore";
|
|
import "firebase/auth";
|
|
import "firebase/database"
|
|
|
|
const config = {
|
|
apiKey: "AIzaSyDV9MsSHZmpLtjoaTK_ObvjFaJ-nMSd2KA",
|
|
authDomain: "bodyshop-dev-b1cb6.firebaseapp.com",
|
|
databaseURL: "https://bodyshop-dev-b1cb6.firebaseio.com",
|
|
projectId: "bodyshop-dev-b1cb6",
|
|
storageBucket: "bodyshop-dev-b1cb6.appspot.com",
|
|
messagingSenderId: "922785209028",
|
|
appId: "1:922785209028:web:96e9df15401eee5d784791",
|
|
measurementId: "G-2D5378VCHE"
|
|
};
|
|
|
|
firebase.initializeApp(config);
|
|
|
|
export const createUserProfileDocument = async (userAuth, additionalData) => {
|
|
//Needs to be redone to write to GQL database.
|
|
console.log("userAuth from firebase Utils", userAuth);
|
|
if (!userAuth) return;
|
|
|
|
const userRef = firestore.doc(`users/${userAuth.uid}`);
|
|
|
|
const snapShot = await userRef.get();
|
|
|
|
if (!snapShot.exists) {
|
|
const { displayName, email } = userAuth;
|
|
const createdAt = new Date();
|
|
try {
|
|
await userRef.set({
|
|
displayName,
|
|
email,
|
|
createdAt,
|
|
...additionalData
|
|
});
|
|
} catch (error) {
|
|
console.log("error creating user", error.message);
|
|
}
|
|
}
|
|
|
|
return userRef;
|
|
};
|
|
|
|
export const auth = firebase.auth();
|
|
export const firestore = firebase.firestore();
|
|
|
|
const provider = new firebase.auth.GoogleAuthProvider();
|
|
provider.setCustomParameters({ prompt: "select_account" });
|
|
export const signInWithGoogle = () => auth.signInWithPopup(provider);
|
|
|
|
export default firebase;
|