blob: 9e6596e0190551c66c46bad4076b232b0ac85662 [file] [log] [blame]
Matteo Scandolo680cd922016-01-26 17:21:39 -08001"use strict";
2
3angular.module('cordRest', [])
Matteo Scandolo0f9b0852016-01-27 13:51:07 -08004 .service('User', function($http, $q, $cookies, cordConfig){
Matteo Scandolobc566852016-01-27 12:00:18 -08005 this.login = function(username, password){
6 var deferred = $q.defer();
7
8 $http.post(cordConfig.url + '/xoslib/login/', {username: username, password: password})
9 .then(function(res){
Matteo Scandolo0f9b0852016-01-27 13:51:07 -080010 $cookies.put('user', res.data.user);
11 deferred.resolve(JSON.parse(res.data.user));
Matteo Scandolobc566852016-01-27 12:00:18 -080012 })
13 .catch(function(e){
14 throw new Error(e);
15 });
16
17 return deferred.promise;
18 };
Matteo Scandolo0f9b0852016-01-27 13:51:07 -080019
20 this.isLoggedIn = function(){
21 var user = $cookies.get('user');
22 if( angular.isDefined(user)){
23 return true;
24 }
25 return false;
26 };
27
28 this.logout = function(){
29 var deferred = $q.defer();
30 $cookies.remove('user');
31 deferred.resolve();
32 return deferred.promise;
33 };
Matteo Scandolobc566852016-01-27 12:00:18 -080034 })
Matteo Scandolo680cd922016-01-26 17:21:39 -080035 .service('Subscribers', function($resource, cordConfig){
36 return $resource(cordConfig.url + '/xoslib/rs/subscriber');
37 })
38 .service('SubscriberUsers', function($resource, cordConfig){
Matteo Scandolobc566852016-01-27 12:00:18 -080039 // TODO define an interceptor as res.users should be resources
Matteo Scandolo680cd922016-01-26 17:21:39 -080040 // NOTE SubscriberId should ne retrieved from login information
41 return $resource(cordConfig.url + '/xoslib/rs/subscriber/:subscriberId/users/:id', {}, {
42 query: {
43 method: 'GET',
44 isArray: false
45 }
46 });
Matteo Scandolobc566852016-01-27 12:00:18 -080047 //return $resource(cordConfig.url + '/xoslib/corduser/:id')
48 })
49 .service('SubscriberUsersUrlFilterLevel', function($resource, cordConfig){
50 return $resource(cordConfig.url + '/xoslib/rs/subscriber/:subscriberId/users/:userId/url_filter/');
Matteo Scandolo680cd922016-01-26 17:21:39 -080051 });