blob: 93bc88dbde7e1175d9ba189c48d66618b812606d [file] [log] [blame]
(function () {
angular.module('mCord')
.service('Imsi', function($injector, $resource, $q, $http, baseUrl){
const r = $resource(`${baseUrl}onos/progran/imsi/:id`, {id: '@IMSI'}, {
save: {method: 'PUT'},
query: {
array: false,
interceptor: {
response: function(res){
const Imsi = $injector.get('Imsi');
return res.data.ImsiArray.map(i => new Imsi(i));
}
}
},
get: {
array: false,
interceptor: {
response: function(res){
const Imsi = $injector.get('Imsi');
return new Imsi(res.data.ImsiArray[0]);
}
}
}
});
// Override the default save method,
// Name is the key, so the $resource will try to update
r.save = function(data){
const d = $q.defer();
$http.post(`${baseUrl}onos/progran/imsi/`, data)
.then(res => {
d.resolve(res.data);
})
.catch(err => {
d.reject(err)
});
return {$promise: d.promise};
};
r.prototype.getProfiles = function(){
const d = $q.defer();
$http.get(`${baseUrl}onos/progran/imsi/${this.IMSI}/profile`)
.then(res => {
d.resolve(res.data.ProfileArray);
})
.catch(err => {
d.reject(err)
});
return d.promise;
};
// this is under profile
r.prototype.addProfile = function(data){
const d = $q.defer();
let body = {'IMSIRuleArray': [this.IMSI]};
$http.post(`${baseUrl}onos/progran/profile/${data.Name}/imsi`, body)
.then(res => {
d.resolve(res.data);
})
.catch(err => {
d.reject(err)
});
return d.promise;
};
r.prototype.deleteProfile = function(id){
const d = $q.defer();
$http.delete(`${baseUrl}onos/progran/imsi/${this.IMSI}/profile/${id}`)
.then(res => {
d.resolve(res.data);
})
.catch(err => {
d.reject(err)
});
return d.promise;
};
return r;
})
})();