Apuntes Firebase3

Mis Apuntes sobre el trabajo con FIREBASE 3, espero actualizarlo con el tiempo…

…API DATOS GENERADOS…
firebase.initializeApp(config);
var auth = firebase.auth();
var db = firebase.database();

//REGISTRAR POR USUARIO CONTRASEÑA
auth.createUserWithEmailAndPassword(email,pass)
.catch(function(error) {
var errorCode = error.code;
var errorMessage = error.message;
if (errorCode == ‘auth/weak-password’) {
alert(‘The password is too weak.’);
} else {
alert(errorMessage);
}
console.log(error);
});

//INICIAR SESION
const promise = auth.signInWithEmailAndPassword(email,pass);
promise.catch(e => console.log(e.message));

//OBTENER EL USUARIO ACTUAL
var user = firebase.auth().currentUser;
console.log(user);

//DETECTA ESTADO Autenticación
auth.onAuthStateChanged(function(user) {
if (user) {
$state.go(‘home’);
} else {
$state.go(‘/’)
}
});
//Cerrar Sesión
auth.signOut();


//INSERTAR DB
db.ref(‘title’).set({
title:’EnProgra’,
site: ‘enprogra.org’
});

//Insertar Coleccion Datos

$scope.valores = [];

//OBSERVADOR CUANDO SE AGREGA UN ELEMENTO
db.ref(‘valores’).on(‘child_added‘, function(data) {
var obj = {key:data.key, label:data.val().label, value:data.val().value};
$scope.valores.push(obj);
$scope.$apply();
});
//OBSERVADOR CUANDO SE MODIFICA UN ELEMENTO
db.ref(‘valores’).on(‘child_changed‘, function(data) {
var obj = {key:data.key, label:data.val().label, value:data.val().value};
var existe = $scope.valores.indexOf(data.key) == -1;
var contador = 0;
if(existe){
angular.forEach($scope.valores
, function(value, key){
if(value.key == data.key){
$scope.valores[contador] = obj;
}
contador++;
});
}
$scope.$apply();
});
//OBSERVADOR CUANDO SE ELIMINA UN ELEMENTO
db.ref(‘valores’).on(‘child_removed‘, function(data) {
var obj = {key:data.key, label:data.val().label, value:data.val().value};
var existe = $scope.valores.indexOf(data.key) == -1;
var contador = 0;
if(existe){
angular.forEach($scope.valores, function(value, key){
if(value.key == data.key){
$scope.valores.splice(contador,1);
}
contador++;
});
}
$scope.$apply();
});


//RECUPERAR DB
db.ref(‘title’).on(‘value’,function(snapshot){
console.log(snapshot.val()); //EnProgra
})