Firebase Update
This commit is contained in:
		@@ -1,9 +1,67 @@
 | 
			
		||||
$(document).ready(function() {
 | 
			
		||||
// Initialize Firebase
 | 
			
		||||
var config = {
 | 
			
		||||
    apiKey: "AIzaSyCuvwf78cmSDoZ2yS4XxHZhnjUn7yIHYfw",
 | 
			
		||||
    authDomain: "test-667ca.firebaseapp.com",
 | 
			
		||||
    databaseURL: "https://test-667ca.firebaseio.com",
 | 
			
		||||
    projectId: "test-667ca",
 | 
			
		||||
    storageBucket: "test-667ca.appspot.com",
 | 
			
		||||
    messagingSenderId: "221332577314"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
firebase.initializeApp(config);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
$(document).ready(function() {
 | 
			
		||||
    firebase.auth().onAuthStateChanged(async function(user){if(user){firebase.auth().currentUser.getIdToken(/* forceRefresh */ true).then(function(idtoken) {
 | 
			
		||||
        console.log("/shoppinglistx idtoken:", idtoken);
 | 
			
		||||
        var url = "/dash/" + idtoken
 | 
			
		||||
        console.log("URL: ", url)
 | 
			
		||||
        $('#dashurl').attr("href", url);
 | 
			
		||||
 | 
			
		||||
    }).catch((error) => console.error("/shoppinglist Get id token client error: ", error));}else{console.log("Check Auth error", user)}});
 | 
			
		||||
    
 | 
			
		||||
    eigeneEinkaufslisten();
 | 
			
		||||
    geteilteEinkaufslisten();
 | 
			
		||||
    $(".detailcardausgabe").hide();
 | 
			
		||||
 | 
			
		||||
    $(".logout").click(function(){
 | 
			
		||||
        console.log("click logout")
 | 
			
		||||
        firebase.auth().signOut().then(function() {
 | 
			
		||||
            document.location.replace('/');
 | 
			
		||||
          }).catch(function(error) {
 | 
			
		||||
            console.error("Logout Error: ", error)
 | 
			
		||||
          });
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    $('.add').click(function(){
 | 
			
		||||
        console.log("click add");
 | 
			
		||||
        // let name = $("#einkaufslistenname").val();
 | 
			
		||||
 | 
			
		||||
        firebase.auth().onAuthStateChanged(async function(user){if(user){firebase.auth().currentUser.getIdToken(/* forceRefresh */ true).then(function(idtoken) {
 | 
			
		||||
            console.log("/shoppinglistx idtoken:", idtoken);
 | 
			
		||||
            $.ajax({
 | 
			
		||||
                type: "POST",
 | 
			
		||||
                url: "/shoppinglist",
 | 
			
		||||
                data: {
 | 
			
		||||
                    name: $("#einkaufslistenname").val(),
 | 
			
		||||
                    description: $("#einkaufslistenbeschreibung").val(),
 | 
			
		||||
                    idtoken: idtoken
 | 
			
		||||
                },
 | 
			
		||||
                success(res){
 | 
			
		||||
                    console.log("add funktioniert");
 | 
			
		||||
                    $(".listen-ausgabe").html("");
 | 
			
		||||
                    eigeneEinkaufslisten();
 | 
			
		||||
                    geteilteEinkaufslisten();
 | 
			
		||||
                    $("#EigeneListeAdd").modal("hide");
 | 
			
		||||
                },
 | 
			
		||||
                error(err){ 
 | 
			
		||||
                    console.log("/shoppinglist error", err);
 | 
			
		||||
                }
 | 
			
		||||
            });    
 | 
			
		||||
        }).catch((error) => console.error("/shoppinglist Get id token client error: ", error));}else{console.log("Check Auth error", user)}});
 | 
			
		||||
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    $(".gruppenadd").click(function(){
 | 
			
		||||
 | 
			
		||||
        // let name = $("#groupname").val();
 | 
			
		||||
@@ -31,29 +89,8 @@ $(document).ready(function() {
 | 
			
		||||
        $('#EigeneListeAdd').modal('show');
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    $(".add").click(function(){
 | 
			
		||||
 | 
			
		||||
        // let name = $("#einkaufslistenname").val();
 | 
			
		||||
        // let beschreibung = $("#einkaufslistenbeschreibung").val();
 | 
			
		||||
 | 
			
		||||
        $.ajax({
 | 
			
		||||
            type: "POST",
 | 
			
		||||
            url: "/shoppinglist",
 | 
			
		||||
            data: {
 | 
			
		||||
                name: $("#einkaufslistenname").val(),
 | 
			
		||||
                description: $("#einkaufslistenbeschreibung").val()
 | 
			
		||||
            },
 | 
			
		||||
            success(res){
 | 
			
		||||
                console.log("add funktioniert");
 | 
			
		||||
                $("#normalAdd").modal("hide");
 | 
			
		||||
            },
 | 
			
		||||
            error(err){ 
 | 
			
		||||
                console.log("error");
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
        });    
 | 
			
		||||
    });
 | 
			
		||||
    
 | 
			
		||||
    
 | 
			
		||||
    
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
@@ -61,63 +98,82 @@ var globaleAddZwischenID = "";
 | 
			
		||||
// var globaleGetZwischenID = "";
 | 
			
		||||
 | 
			
		||||
function eigeneEinkaufslisten(){
 | 
			
		||||
    firebase.auth().onAuthStateChanged(async function(user){if(user){firebase.auth().currentUser.getIdToken(/* forceRefresh */ true).then(function(idtoken) {
 | 
			
		||||
        console.log("/myshoppinglists idtoke: ", idtoken);
 | 
			
		||||
        $.ajax({
 | 
			
		||||
            type: "GET",
 | 
			
		||||
            url: "/myshoppinglists",
 | 
			
		||||
            data:{
 | 
			
		||||
                idtoken: idtoken
 | 
			
		||||
            },
 | 
			
		||||
            success(res){
 | 
			
		||||
                firebase.auth().onAuthStateChanged(async function(user){if(user){firebase.auth().currentUser.getIdToken(/* forceRefresh */ true).then(function(idtoken) {
 | 
			
		||||
                    console.log("/userinfo_json idtoken: ",idtoken)
 | 
			
		||||
                    $.ajax({
 | 
			
		||||
                        type: "GET",
 | 
			
		||||
                        url: "/userinfo_json",
 | 
			
		||||
                        data: {
 | 
			
		||||
                            idtoken: idtoken
 | 
			
		||||
                        },
 | 
			
		||||
                        success(data){
 | 
			
		||||
                            let userinfo = "jhsbdjhf";
 | 
			
		||||
                            // console.log(userinfo);
 | 
			
		||||
 | 
			
		||||
    $.ajax({
 | 
			
		||||
        type: "GET",
 | 
			
		||||
        url: "/myshoppinglists",
 | 
			
		||||
        success(res){
 | 
			
		||||
 | 
			
		||||
                $.ajax({
 | 
			
		||||
                    type: "GET",
 | 
			
		||||
                    url: "/userinfo_json",
 | 
			
		||||
                    success(data){
 | 
			
		||||
                        let userinfo = data.profile.displayName
 | 
			
		||||
                        console.log(userinfo);
 | 
			
		||||
 | 
			
		||||
                        for(let i = 0; i < res.length; i++){
 | 
			
		||||
                            const el = res[i];
 | 
			
		||||
            
 | 
			
		||||
                            $(".listen-ausgabe").append(`<div class="col-md-12 karten">
 | 
			
		||||
                            <div class="card border-light mb-3" style="max-width: 18rem;" id="${el.sl_id}">
 | 
			
		||||
                                <div class="card-header">
 | 
			
		||||
                                    <span>${userinfo}</span>
 | 
			
		||||
                                    <button class="btn edit"><i class="fas fa-angle-down"></i></button>
 | 
			
		||||
                                    <button class="btn trash"><i class="far fa-trash-alt"></i></button>
 | 
			
		||||
                                    <button class="btn groupadd" data-toggle="modal" data-target=".ListenDetailAdd"><i class="fas fa-ellipsis-v"></i></button>
 | 
			
		||||
                                </div>
 | 
			
		||||
                                
 | 
			
		||||
                                <div class="card-body">
 | 
			
		||||
                                    <h5 class="card-title">${el.name}</h5>
 | 
			
		||||
                                    <p class="card-text">${el.description}</p>
 | 
			
		||||
                                </div>
 | 
			
		||||
                            </div></div>`
 | 
			
		||||
                            )
 | 
			
		||||
                            for(let i = 0; i < res.length; i++){
 | 
			
		||||
                                const el = res[i];
 | 
			
		||||
                
 | 
			
		||||
                                $(".listen-ausgabe").append(`<div class="col-md-12 karten">
 | 
			
		||||
                                <div class="card border-light mb-3" style="max-width: 18rem;" id="${el.sl_id}">
 | 
			
		||||
                                    <div class="card-header">
 | 
			
		||||
                                        <span>${userinfo}</span>
 | 
			
		||||
                                        <button class="btn edit"><i class="fas fa-angle-down"></i></button>
 | 
			
		||||
                                        <button class="btn trash"><i class="far fa-trash-alt"></i></button>
 | 
			
		||||
                                        <button class="btn groupadd" data-toggle="modal" data-target=".ListenDetailAdd"><i class="fas fa-ellipsis-v"></i></button>
 | 
			
		||||
                                    </div>
 | 
			
		||||
                                    
 | 
			
		||||
                                    <div class="card-body">
 | 
			
		||||
                                        <h5 class="card-title">${el.name}</h5>
 | 
			
		||||
                                        <p class="card-text">${el.description}</p>
 | 
			
		||||
                                    </div>
 | 
			
		||||
                                </div></div>`
 | 
			
		||||
                                )
 | 
			
		||||
                            }
 | 
			
		||||
                            console.log("Eigene Einkaufslisten");
 | 
			
		||||
                            loeschen();
 | 
			
		||||
                            lala();
 | 
			
		||||
                            Detail();
 | 
			
		||||
                            // groupHinzufügen()
 | 
			
		||||
                        },
 | 
			
		||||
                        error(err){
 | 
			
		||||
                            console.error("userinfo_json error: ", err)
 | 
			
		||||
                        }
 | 
			
		||||
                        console.log("Eigene Einkaufslisten");
 | 
			
		||||
                        loeschen();
 | 
			
		||||
                        lala();
 | 
			
		||||
                        Detail();
 | 
			
		||||
                        // groupHinzufügen()
 | 
			
		||||
                    }
 | 
			
		||||
                })
 | 
			
		||||
        },
 | 
			
		||||
        error(err){
 | 
			
		||||
            console.log("error");
 | 
			
		||||
        }
 | 
			
		||||
    });
 | 
			
		||||
                    })
 | 
			
		||||
                }).catch((error) => console.error("Get id token client error: ", error));}else{console.log("Check Auth error", user)}});
 | 
			
		||||
            },
 | 
			
		||||
            error(err){
 | 
			
		||||
                console.error("/myshoppinglists ajax error: ", err);
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
    }).catch((error) => console.error("Get id token client error: ", error));}else{console.log("Check Auth error", user)}});
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
function geteilteEinkaufslisten(){
 | 
			
		||||
    $.ajax({
 | 
			
		||||
        data: "GET",
 | 
			
		||||
        url: "/sharedshoppinglists",
 | 
			
		||||
        success(res){
 | 
			
		||||
            console.log("Geteilte Einkaufslisten");
 | 
			
		||||
        },
 | 
			
		||||
        error(err){
 | 
			
		||||
            console.log("error");
 | 
			
		||||
        }
 | 
			
		||||
    });
 | 
			
		||||
    firebase.auth().onAuthStateChanged(async function(user){if(user){firebase.auth().currentUser.getIdToken(/* forceRefresh */ true).then(function(idtoken) {
 | 
			
		||||
        console.log("/sharedshoppinglists idtoke: ", idtoken)
 | 
			
		||||
        $.ajax({
 | 
			
		||||
            data: "GET",
 | 
			
		||||
            url: "/sharedshoppinglists",
 | 
			
		||||
            data: {
 | 
			
		||||
                idtoken: idtoken
 | 
			
		||||
            },
 | 
			
		||||
            success(res){
 | 
			
		||||
                console.log("Geteilte Einkaufslisten");
 | 
			
		||||
            },
 | 
			
		||||
            error(err){
 | 
			
		||||
                console.error("/sharedshoppinglists error:", err);
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
    }).catch((error) => console.error("Get id token client error: ", error));}else{console.log("Check Auth error", user)}});
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
function loeschen(){
 | 
			
		||||
@@ -161,49 +217,62 @@ function Detail(){
 | 
			
		||||
 | 
			
		||||
        let card = $(this).closest(".card");
 | 
			
		||||
        let id = card.attr("id");
 | 
			
		||||
        firebase.auth().onAuthStateChanged(async function(user){if(user){firebase.auth().currentUser.getIdToken(/* forceRefresh */ true).then(function(idtoken) {
 | 
			
		||||
            $.ajax({
 | 
			
		||||
                type: "GET",
 | 
			
		||||
                url: "/shoppinglist_json/" + id,
 | 
			
		||||
                data: {
 | 
			
		||||
                    idtoken: idtoken
 | 
			
		||||
                },
 | 
			
		||||
                success(res){
 | 
			
		||||
                    console.log("/myshoppinglists inside idtoken: ", idtoken)
 | 
			
		||||
                    $.ajax({
 | 
			
		||||
                        type: "GET",
 | 
			
		||||
                        url: "/myshoppinglists",
 | 
			
		||||
                        data: {
 | 
			
		||||
                            idtoken: idtoken
 | 
			
		||||
                        },
 | 
			
		||||
                        success(result){
 | 
			
		||||
                            // var idtoken = getIdTokenGoogle()
 | 
			
		||||
                            $.ajax({
 | 
			
		||||
                                type: "GET",
 | 
			
		||||
                                url: "/userinfo_json",
 | 
			
		||||
                                data:{
 | 
			
		||||
                                    idtoken: idtoken
 | 
			
		||||
                                },
 | 
			
		||||
                                success(data){
 | 
			
		||||
                                    let userinfo = "some info"
 | 
			
		||||
                                    console.log(userinfo);
 | 
			
		||||
                
 | 
			
		||||
                                    const neu = result.filter(obj => obj.sl_id === id);
 | 
			
		||||
 | 
			
		||||
        $.ajax({
 | 
			
		||||
            data: "GET",
 | 
			
		||||
            url: "/shoppinglist_json/" + id,
 | 
			
		||||
            success(res){
 | 
			
		||||
 | 
			
		||||
                $.ajax({
 | 
			
		||||
                    type: "GET",
 | 
			
		||||
                    url: "/myshoppinglists",
 | 
			
		||||
                    success(result){
 | 
			
		||||
            
 | 
			
		||||
                        $.ajax({
 | 
			
		||||
                            type: "GET",
 | 
			
		||||
                            url: "/userinfo_json",
 | 
			
		||||
                            success(data){
 | 
			
		||||
                                let userinfo = data.profile.displayName
 | 
			
		||||
                                console.log(userinfo);
 | 
			
		||||
            
 | 
			
		||||
                                const neu = result.filter(obj => obj.sl_id === id);
 | 
			
		||||
 | 
			
		||||
                                $(".card-header").append(`<h1 class="text-center">${neu[0].name}</h1><button class="btn itemadd"><ion-icon name="more" size="large"></ion-icon></button>
 | 
			
		||||
                                `);
 | 
			
		||||
                                for (let i = 0; i < res.length; i++) {
 | 
			
		||||
                                    const el = res[i];
 | 
			
		||||
                                    $(".card-text").append(`<div class="card border-dark mb-3 items" id="${el.group_id}" style="max-width: 18rem;">
 | 
			
		||||
                                    <div class="card-body text-dark">
 | 
			
		||||
                                      <h5 class="card-title text-center">${el.name}</h5>
 | 
			
		||||
                                    </div>
 | 
			
		||||
                                  </div>`);
 | 
			
		||||
                                    $(".card-header").append(`<h1 class="text-center">${neu[0].name}</h1><button class="btn itemadd"><ion-icon name="more" size="large"></ion-icon></button>
 | 
			
		||||
                                    `);
 | 
			
		||||
                                    for (let i = 0; i < res.length; i++) {
 | 
			
		||||
                                        const el = res[i];
 | 
			
		||||
                                        $(".card-text").append(`<div class="card border-dark mb-3 items" id="${el.group_id}" style="max-width: 18rem;">
 | 
			
		||||
                                        <div class="card-body text-dark">
 | 
			
		||||
                                        <h5 class="card-title text-center">${el.name}</h5>
 | 
			
		||||
                                        </div>
 | 
			
		||||
                                    </div>`);
 | 
			
		||||
                                    }
 | 
			
		||||
                                    ItemAdden()
 | 
			
		||||
                                },
 | 
			
		||||
                                error(err){
 | 
			
		||||
                                    console.log("Detail error userinfo_json: ", err);
 | 
			
		||||
                                }
 | 
			
		||||
                                ItemAdden()
 | 
			
		||||
                            }
 | 
			
		||||
                        })
 | 
			
		||||
                    },
 | 
			
		||||
                    error(err){
 | 
			
		||||
                        console.log("error");
 | 
			
		||||
                    }
 | 
			
		||||
                });
 | 
			
		||||
            },
 | 
			
		||||
            error(err){
 | 
			
		||||
                console.log("error");
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
                            })
 | 
			
		||||
                        },
 | 
			
		||||
                        error(err){
 | 
			
		||||
                            console.log("Detail error myshoppinglists: ", err);
 | 
			
		||||
                        }
 | 
			
		||||
                    });
 | 
			
		||||
                },
 | 
			
		||||
                error(err){
 | 
			
		||||
                    console.log("Detail error shoppinglist_json: " , err);
 | 
			
		||||
                }
 | 
			
		||||
            });
 | 
			
		||||
        }).catch((error) => console.error("Get id token client error: ", error));}else{console.log("Check Auth error", user)}});
 | 
			
		||||
    });
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1603
									
								
								express-server/public/javascripts/axios.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1603
									
								
								express-server/public/javascripts/axios.js
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										76
									
								
								express-server/public/javascripts/login.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								express-server/public/javascripts/login.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,76 @@
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Initialize Firebase
 | 
			
		||||
var config = {
 | 
			
		||||
    apiKey: "AIzaSyCuvwf78cmSDoZ2yS4XxHZhnjUn7yIHYfw",
 | 
			
		||||
    authDomain: "test-667ca.firebaseapp.com",
 | 
			
		||||
    databaseURL: "https://test-667ca.firebaseio.com",
 | 
			
		||||
    projectId: "test-667ca",
 | 
			
		||||
    storageBucket: "test-667ca.appspot.com",
 | 
			
		||||
    messagingSenderId: "221332577314"
 | 
			
		||||
};
 | 
			
		||||
firebase.initializeApp(config);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
function checkAuth(){
 | 
			
		||||
    firebase.auth().onAuthStateChanged(async function(user){
 | 
			
		||||
        if(user){
 | 
			
		||||
            try{
 | 
			
		||||
            firebase.auth().currentUser.getIdToken(/* forceRefresh */ true).then(function(idToken) {
 | 
			
		||||
                console.log("Vor Replace");
 | 
			
		||||
                window.location.replace("/dash/" + idToken);
 | 
			
		||||
              }).catch(function(error) {
 | 
			
		||||
                console.error("Get id token client error: ", error)
 | 
			
		||||
              });
 | 
			
		||||
            }catch{
 | 
			
		||||
                console.error("checkAuth error: ")
 | 
			
		||||
            }
 | 
			
		||||
            
 | 
			
		||||
            // document.getElementById("loginbutton").style.display = "none";
 | 
			
		||||
            // 
 | 
			
		||||
        }else{
 | 
			
		||||
            // document.getElementById("loginbutton").style.display = "block";
 | 
			
		||||
            console.log("Check Auth error", user)
 | 
			
		||||
        }
 | 
			
		||||
    })
 | 
			
		||||
    var user = firebase.auth().currentUser;
 | 
			
		||||
}
 | 
			
		||||
window.onload = function(){
 | 
			
		||||
    checkAuth();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
var vue = new Vue({
 | 
			
		||||
    el: '#vue-app',
 | 
			
		||||
    data:{
 | 
			
		||||
 | 
			
		||||
    },
 | 
			
		||||
    methods: {
 | 
			
		||||
        login(){
 | 
			
		||||
            var provider = new firebase.auth.GoogleAuthProvider();
 | 
			
		||||
            provider.addScope('profile');
 | 
			
		||||
            provider.addScope('email');
 | 
			
		||||
            firebase.auth().signInWithPopup(provider).then(function(result) {
 | 
			
		||||
                // This gives you a Google Access Token. You can use it to access the Google API.
 | 
			
		||||
                var token = result.credential.accessToken;
 | 
			
		||||
                var idToken = result.credential.idToken;
 | 
			
		||||
                // The signed-in user info.
 | 
			
		||||
                var user = result.user;
 | 
			
		||||
                console.log("Eingelogt");
 | 
			
		||||
                checkAuth();
 | 
			
		||||
              }).catch(function(error) {
 | 
			
		||||
                // Handle Errors here.
 | 
			
		||||
                var errorCode = error.code;
 | 
			
		||||
                var errorMessage = error.message;
 | 
			
		||||
                // The email of the user's account used.
 | 
			
		||||
                var email = error.email;
 | 
			
		||||
                // The firebase.auth.AuthCredential type that was used.
 | 
			
		||||
                var credential = error.credential;
 | 
			
		||||
 | 
			
		||||
              });
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    mounted() {
 | 
			
		||||
        
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
		Reference in New Issue
	
	Block a user