summaryrefslogtreecommitdiffstats
path: root/app/common/services/userModel.js
blob: f82c1f12341054f45405754baeee215f47e703c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/**
 * userModel
 *
 * @module app/common/services/userModel
 * @exports userModel
 * @name userModel

 * @version 0.0.1
 */

window.angular && (function (angular) {
    'use strict';

    angular
        .module('app.common.services')
        .service('userModel', ['APIUtils',function(APIUtils){
            return {
                login : function(username, password, callback){
                    APIUtils.login(username, password, function(response, error){
                        if(response &&
                            (response.status == APIUtils.API_RESPONSE.SUCCESS_STATUS
                                || response.status === undefined)){
                            sessionStorage.setItem('LOGIN_ID', username);
                            callback(true);
                        }else{
                            callback(false, error);
                        }
                    });
                },
                isLoggedIn : function(){
                    if(sessionStorage.getItem('LOGIN_ID') === null){
                        return false;
                    }
                    return true;
                },
                logout : function(callback){
                    APIUtils.logout(function(response, error){
                        if(response &&
                           response.status == APIUtils.API_RESPONSE.SUCCESS_STATUS){
                            sessionStorage.removeItem('LOGIN_ID');
                            sessionStorage.removeItem(APIUtils.HOST_SESSION_STORAGE_KEY);
                            callback(true);
                        }else if(response.status == APIUtils.API_RESPONSE.ERROR_STATUS){
                            callback(false);
                        }else{
                            callback(false, error);
                        }
                    });
                }
            };
        }]);

})(window.angular);
OpenPOWER on IntegriCloud