HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
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);
                });
    });
};