File: D:/HostingSpaces/RImmers2/portal.photomenu.nl/wwwroot/models/user.js
exports.id = 'user';
exports.load = function (id) {
return new Promise(function (resolve) {
F.firebase('/Users/' + id).once('value').then(function (snapshot) {
resolve(snapshot);
});
});
};
exports.list = function () {
return new Promise(function (resolve) {
F.firebase('/Users').once('value').then(function (snapshot) {
resolve(snapshot);
}).catch(err => reject(err));
});
};
exports.create = function(id, postData) {
return new Promise(function(result, reject) {
F.firebase().ref('/Users/' + id).set(postData).then(function(snapshot) {
result(snapshot);
}).catch(err => reject(err));
});
};
exports.update = function (id, postData) {
return new Promise(function (result) {
F.firebase().ref('/Users/' + id).once('value').then(function (snapshot) {
var user = snapshot.val();
for (var i in postData) {
user[i] = postData[i];
}
F.firebase().ref('/Users/' + id).set(user).then(function (snapshot) {
result(snapshot);
});
});
});
};
exports.delete = function(id) {
return new Promise(function(result, reject) {
F.firebase().ref('/Users/').child(id).remove().then(function() {
return F.firebaseAdmin().deleteUser(id)
}).then(function() {
result()
}).catch(function(error) {
reject(error)
});
});
};
exports.getByEmail = function (email) {
return new Promise(function (result) {
F.firebase().ref('/Users/')
.orderByChild('email')
.equalTo(email)
.on('value', function (snapshot) {
result(snapshot);
});
});
};