brother
brother

Reputation: 8151

Getting data from function

I am having some trouble getting the logged in status from the below function. I can set the loggedIn status with currentUser.setProfile(username, token), which works.

But when i then try to get the isLoggedIn afterwards, i can't seem to get it.

console.log(currentUser) return the 2 functions, setProfile and getProfile. But getProfile is just an empty function. I have tried currentUser.getProfile.isLoggedIn among others, but they all just return undefined.

What am i doing wrong?

Function:

(function () {
    "use strict";

    angular
        .module("myApp")
        .factory("currentUser",
                  currentUser)

    function currentUser() {
        var profile = {
            isLoggedIn: false,
            username: "",
            token: ""
        };

        var setProfile = function (username, token) {
            profile.username = username;
            profile.token = token;
            profile.isLoggedIn = true;
        };

        var getProfile = function () {
            return profile;
        }

        return {
            setProfile: setProfile,
            getProfile: getProfile
        }
    }
})();

Upvotes: 0

Views: 54

Answers (1)

Louie Almeda
Louie Almeda

Reputation: 5612

Because getProfile is a function, you should call it like

currentUser.getProfile().isLoggedIn

Upvotes: 1

Related Questions