2 * Copyright (c) 2017 highstreet technologies GmbH and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 define(['app/onapSo/onapSo.module', 'app/mwtnCommons/mwtnCommons.services'], function (onapSoApp) {
11 onapSoApp.register.factory('$onapSo', function ($q, $http, Base64, $mwtnCommons, $mwtnDatabase, $mwtnLog, Device) {
15 var functionId = "mwtn";
16 var docType = "device";
20 var deviceLookup = {};
21 $mwtnDatabase.getAllData(functionId, docType, from, size, sort).then(
22 function successCallback(response) {
23 response.data.hits.hits.map(function(device){
24 deviceLookup[device._id] = new Device(device._source);
26 }, function errorCallback(response) {
30 service.checkModules = $mwtnCommons.checkModules;
31 service.getMwtnWebSocketUrl = $mwtnCommons.getMwtnWebSocketUrl;
32 service.gridOptions = $mwtnCommons.gridOptions;
33 service.formatData = $mwtnCommons.formatData;
34 service.formatTimeStamp = $mwtnCommons.formatTimeStamp;
35 service.deleteDocType = $mwtnDatabase.deleteDocType;
38 var transactionId = 1;
39 var getHeaders = function () {
41 'Accept': 'application/json',
42 'Content-Type': 'application/json',
43 'X-TransactionId': transactionId++
47 // create or modify a pnf in aai
48 service.createPnf = function (pnf) {
49 var base = window.location.origin;
52 url: base + '/aai/network/pnfs/pnf/' + pnf['pnf-name'],
53 // withCredentials: true,
54 headers: getHeaders(),
57 var deferred = $q.defer();
58 $http(request).then(function successCallback(response) {
59 deferred.resolve(response);
60 }, function errorCallback(response) {
61 deferred.reject(response);
64 return deferred.promise;
67 service.deletePnf = function (pnf) {
68 // curl -X DELETE http://localhost:8282/aai/network/pnfs/pnf/Ericsson-A1 --insecure -v -u AAI:AAI -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'X-FromAppId: SDNR' -H 'X-TransactionId: 9999'
69 var base = window.location.origin;
72 url: base + '/aai/network/pnfs/pnf/' + pnf['pnf-name'] + '/?resource-version=' + pnf['resource-version'],
73 // withCredentials: true,
76 var deferred = $q.defer();
77 $http(request).then(function successCallback(response) {
78 deferred.resolve(response);
79 }, function errorCallback(response) {
80 deferred.reject(response);
83 return deferred.promise;
86 service.getPnf = function (pnf) {
88 console.log('get', JSON.stringify(pnf));
89 var base = window.location.origin;
92 url: base + '/aai/network/pnfs/pnf/' + pnf['pnf-name'],
93 // withCredentials: true,
96 var deferred = $q.defer();
97 $http(request).then(function successCallback(response) {
98 deferred.resolve(response);
99 }, function errorCallback(response) {
100 deferred.reject(response);
103 return deferred.promise;
106 service.getAaiPnfs = function () {
107 // curl https://10.31.1.55:8443/network/pnfs -k -v -u abc:def -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'X-FromAppId: SDNR' -H 'X-TransactionId: 9999'
109 var base = window.location.origin;
112 url: base + '/aai/network/pnfs', // to es config
113 // withCredentials: true,
114 headers: getHeaders(),
117 var deferred = $q.defer();
118 $http(request).then(function successCallback(response) {
119 deferred.resolve(response);
120 }, function errorCallback(response) {
121 deferred.reject(response);
124 return deferred.promise;
131 onapSoApp.register.factory('Device', function () {
132 var Device = function (data) {
134 data = {id:new Date(), type: 'unknown', name:'unknonw', model: 'unkonwn', vendor:'unknonw', version:'unkonwn'};
137 this.getData = function () {
140 this.getId = function () {
141 return this.getData().id;
143 this.getType = function () {
144 return this.getData().type;
146 this.getName = function () {
147 return this.getData().name;
149 this.getModel = function () {
150 return this.getData().model;
152 this.getVendor = function () {
153 return this.getData().vendor;
155 this.getVersion = function () {
156 return this.getData().version;