1 define([], function () {
4 angular.module('app.gbp').service('EndpointService', EndpointService);
6 EndpointService.$inject = ['Restangular'];
8 function EndpointService(Restangular) {
10 this.createObject = createObject;
13 * Endpoint constructor
19 this.data['endpoint-group'] = [];
20 this.data.condition = [];
23 this.setData = setData;
25 this.deleteEndpoint = deleteEndpoint;
26 this.getEndpointContextTypeAcronym = getEndpointContextTypeAcronym;
30 function getEndpointContextTypeAcronym() {
31 switch(this.data['context-type']) {
32 case 'l2-l3-forwarding:l2-bridge-domain':
34 case 'l2-l3-forwarding:l2-flood-domain':
41 * fills Endpoint object with data
45 function setData(data) {
46 this.data['context-type'] = data['context-type'];
47 this.data['context-id'] = data['context-id'];
48 this.data['address-type'] = data['address-type'];
49 this.data.address = data.address;
50 this.data['network-containment'] = data['network-containment'];
51 this.data.tenant = data.tenant;
52 this.data['endpoint-group'] = data['endpoint-group'] ? data['endpoint-group'] : [];
53 this.data.condition = data.condition ? data.condition : [];
54 this.data.timestamp = data.timestamp ? data.timestamp : Date();
55 if (this.data['absolute-location']){
56 this.data['absolute-location']['internal-node'] = data['absolute-location']['internal-node'];
57 this.data['absolute-location']['internal-node-connector'] = data['absolute-location']['internal-node-connector'];
61 * gets one Endpoint object from Restconf
66 function post(successCbk) {
69 restObj = Restangular.one('restconf').one('operations').one('base-endpoint:register-endpoint'),
72 'address-endpoint-reg': [
77 restObj.customPOST(reqData).then(function (data) {
84 function deleteEndpoint(successCallback) {
87 'context-type': self.data['context-type'],
88 'context-id': self.data['context-id'],
89 'address': self.data.address,
90 'address-type': self.data['address-type'],
92 var restObj = Restangular
95 .one('base-endpoint:unregister-endpoint'),
98 'address-endpoint-unreg': [
103 return restObj.customPOST(reqData).then(function () {
104 (successCallback() || angular.noop)();
112 * creates Endpoint object and fills it with data if available
114 * @returns {Endpoint}
116 function createObject(data) {
117 var obj = new Endpoint();
127 return EndpointService;