function lookupUserId()

in gnm_deliverables/static/gnm_deliverables/naughtylist.js [49:75]


function lookupUserId(uid){
    return new Promise(function(resolve, reject) {
        var cachedUserData = localStorage.getItem("portal-user-" + uid);
        if (cachedUserData) {
            console.log("Local cache hit for user id " + uid);
            resolve(JSON.parse(cachedUserData));
        } else {
            console.log("Local cache miss for user id " + uid + ", looking up from server");
            $.ajax('/project/api/owner/' + uid)
                .done(function (data, textStatus, jqXHR){
                    data.uid = uid;
                    localStorage.setItem("portal-user-" + uid, JSON.stringify(data));
                    resolve(data)
                })
                .fail(function(jqXHR,textStatus, errorThrown){
                    console.error(textStatus);
                    try {
                        var responseJson = JSON.parse(jqXHR.responseText);
                        reject(responseJson)
                    } catch(e) {
                        console.error("Could not parse server response", jqXHR.responseText);
                        reject({detail: jqXHR.responseText, error: "Parse error", status: "error"});
                    }
                })
        }
    });
}