60 lines
1.5 KiB
JavaScript
60 lines
1.5 KiB
JavaScript
'use strict';
|
|
|
|
angular.module('lemur')
|
|
.service('ELBApi', function (LemurRestangular) {
|
|
LemurRestangular.extendModel('elbs', function (obj) {
|
|
return angular.extend(obj, {
|
|
attachListener: function (listener) {
|
|
if (this.listeners === undefined) {
|
|
this.listeners = [];
|
|
}
|
|
this.listeners.push(listener);
|
|
},
|
|
removeListener: function (index) {
|
|
this.listeners.splice(index, 1);
|
|
}
|
|
});
|
|
});
|
|
return LemurRestangular.all('elbs');
|
|
})
|
|
.service('ELBService', function ($location, ELBApi, toaster) {
|
|
var ELBService = this;
|
|
ELBService.findELBByName = function (filterValue) {
|
|
return ELBApi.getList({'filter[name]': filterValue})
|
|
.then(function (elbs) {
|
|
return elbs;
|
|
});
|
|
};
|
|
|
|
ELBService.getListeners = function (elb) {
|
|
elb.getList('listeners').then(function (listeners) {
|
|
elb.listeners = listeners;
|
|
});
|
|
return elb;
|
|
};
|
|
|
|
ELBService.create = function (elb) {
|
|
ELBApi.post(elb).then(function () {
|
|
toaster.pop({
|
|
type: 'success',
|
|
title: 'ELB ' + elb.name,
|
|
body: 'Has been successfully created!'
|
|
});
|
|
$location.path('elbs');
|
|
});
|
|
};
|
|
|
|
ELBService.update = function (elb) {
|
|
elb.put().then(function () {
|
|
toaster.pop({
|
|
type: 'success',
|
|
title: 'ELB ' + elb.name,
|
|
body: 'Has been successfully updated!'
|
|
});
|
|
$location.path('elbs');
|
|
});
|
|
};
|
|
|
|
return ELBService;
|
|
});
|