summaryrefslogtreecommitdiffstats
path: root/usecaseui-lcm/src/main/webapp/app/uui/fusion/scripts/controller/ServiceTemplateService.js
diff options
context:
space:
mode:
authorLuji7 <lu.ji3@zte.com.cn>2017-10-12 18:27:16 +0800
committerLuji7 <lu.ji3@zte.com.cn>2017-10-12 18:27:27 +0800
commit30d5cfc7bd4108c23896d449206ab271d16edba2 (patch)
tree4be475000c9d0702ffcacad9e9e6a03e4a220611 /usecaseui-lcm/src/main/webapp/app/uui/fusion/scripts/controller/ServiceTemplateService.js
parent0fb8edd56b99f8e2a1a34d4a46eadf1862177c0a (diff)
Fix create dialog open failed.
Change-Id: I85fa9396ef3ccd6b9a3e9601f188721ba39da8c8 Issue-id: USECASEUI-36 Signed-off-by: Luji7 <lu.ji3@zte.com.cn>
Diffstat (limited to 'usecaseui-lcm/src/main/webapp/app/uui/fusion/scripts/controller/ServiceTemplateService.js')
-rw-r--r--usecaseui-lcm/src/main/webapp/app/uui/fusion/scripts/controller/ServiceTemplateService.js241
1 files changed, 240 insertions, 1 deletions
diff --git a/usecaseui-lcm/src/main/webapp/app/uui/fusion/scripts/controller/ServiceTemplateService.js b/usecaseui-lcm/src/main/webapp/app/uui/fusion/scripts/controller/ServiceTemplateService.js
index 328e1bbb..e329e947 100644
--- a/usecaseui-lcm/src/main/webapp/app/uui/fusion/scripts/controller/ServiceTemplateService.js
+++ b/usecaseui-lcm/src/main/webapp/app/uui/fusion/scripts/controller/ServiceTemplateService.js
@@ -14,6 +14,245 @@
* limitations under the License.
*/
app.factory("ServiceTemplateService", function($http, $log) {
+ var url = '';
+ return {
+ getAllCustomers: function (processFun) {
+ return $http({
+ url: url+'/onapapi/uui-lcm/v1/customers',
+ method: 'GET',
+ data: null,
+ headers: {'Content-Type': 'application/json'}
+ }).then(function(response){
+ var customers = response.data;
+ var result = customers.map(function (customer) {
+ return {
+ name: customer['subscriber-name'],
+ id: customer['global-customer-id'],
+ };
+ });
+ processFun(result);
+ });
+ },
- return {};
+ getAllServiceTypes: function (customerId, processFun) {
+ return $http({
+ url: url+'/onapapi/uui-lcm/v1/customers/' + customerId + '/service-subscriptions',
+ method: 'GET',
+ data: null,
+ headers: {'Content-Type': 'application/json'}
+ }).then(function(response){
+ var serviceSubscriptions = response.data;
+ var result = serviceSubscriptions.map(function (serviceSubscription) {
+ return {
+ name: serviceSubscription['service-type'],
+ value: serviceSubscription['service-type']
+ };
+ });
+ processFun(result);
+ });
+ },
+
+ getServiceInstances: function (customerId, serviceType, processFun) {
+ return $http({
+ url: url+'/onapapi/uui-lcm/v1/service-instances?customerId='+customerId+'&&serviceType='+serviceType,
+ method: 'GET',
+ data: null,
+ headers: {'Content-Type': 'application/json'}
+ }).then(function(response){
+ var serviceInstances = response.data;
+ var result = serviceInstances.map(function (serviceInstance) {
+ return {
+ serviceInstanceId: serviceInstance['service-instance-id'],
+ serviceInstanceName: serviceInstance['service-instance-name'],
+ serviceType: serviceInstance['service-type'],
+ };
+ });
+ processFun(result);
+ });
+ },
+
+ getAllServiceTemplates: function (processFun) {
+ return $http({
+ url: url+'/onapapi/uui-lcm/v1/service-templates',
+ method: 'GET',
+ data: null,
+ headers: {'Content-Type': 'application/json'}
+ }).then(function(response){
+ var templates = response.data;
+ var result = templates.map(function (template) {
+ return {
+ name: template.name,
+ id: template.uuid,
+ invariantUUID: template.invariantUUID,
+ version: template.version,
+ toscaModelURL: template.toscaModelURL
+ };
+ });
+ processFun(result);
+ });
+ },
+
+ getTemplateParameters: function (template, processFun) {
+ return $http({
+ url: url+'/onapapi/uui-lcm/v1/service-templates/' + template.id,
+ method: 'GET',
+ data: null,
+ headers: {'Content-Type': 'application/json'}
+ }).then(function(response){
+ var inputRsp = response.data;
+ processFun(inputRsp);
+ });
+ },
+
+ getAllVimInfo: function (processFun) {
+ return $http({
+ url: url+'/onapapi/uui-lcm/v1/locations/',
+ method: 'GET',
+ data: null,
+ headers: {'Content-Type': 'application/json'}
+ }).then(function(response){
+ var vimInfos = response.data;
+ var result = vimInfos.map(function (vim) {
+ return {
+ name: vim['cloud-owner'] + '-' + vim['cloud-region-id'],
+ value: vim['cloud-owner'] + '-' + vim['cloud-region-id']
+ };
+ });
+ processFun(result);
+ });
+ },
+
+ createService: function (customer, serviceType, service, template) {
+
+ function translateInputs(t, customer,serviceType, c) {
+ var reqParas = {
+ subscriptionServiceType: serviceType.value
+ };
+ c[t.name].parameters.forEach(function (parameter) {
+ reqParas[parameter.name] = parameter.value;// todo
+ });
+ var nestedSegments = t.nestedTemplates.map(function (nestedTemplate) {
+ return translateInputs(nestedTemplate,customer,serviceType, c);
+ });
+ return {
+ domainHost: c[t.name].location.value,// ???
+ nodeTemplateName: t.name+':'+t.version,
+ nodeType: 'service',
+ 'GLOBALSUBSCIBERID': customer.id,
+ 'SUBSCIBERNAME': customer.name,
+ requestParameters: reqParas,
+ segments: nestedSegments
+ };
+ }
+
+ var cache = {};
+ cache[template.name] = {
+ location: service.location.value,
+ parameters: service.parameters
+ };
+ service.segments.forEach(function (segment) {
+ cache[segment.nodeTemplateName] = {
+ location: segment.location.value,
+ parameters: segment.parameters
+ }
+ });
+ console.log('cache ----');
+ console.log(cache);
+
+ var reqPara = translateInputs(template,customer, serviceType, cache);
+ var requestBody = {
+ service: {
+ name: service.serviceName,
+ description: service.serviceDescription,
+ serviceDefId: template.invariantUUID,
+ templateId: template.uuid, // uuid ??
+ parameters: reqPara
+ }
+ };
+
+ console.log('request body: ');
+ console.log(requestBody);
+
+ return $http({
+ url: url+'/onapapi/uui-lcm/v1/services',
+ method: 'POST',
+ data: JSON.stringify(requestBody),
+ headers: {'Content-Type': 'application/json'}
+ }).then(function(response){
+ console.log('create response...');
+ console.log(response.data);
+ });
+ },
+
+ deleteService: function (serviceId) {
+ return $http({
+ url: url+'/onapapi/uui-lcm/v1/services/' + serviceId,
+ method: 'DELETE',
+ data: null,
+ headers: {'Content-Type': 'application/json'}
+ }).then(function(response){
+ console.log('delete response...');
+ console.log(response.data);
+ });
+ },
+
+ getPackages: function (processFun) {
+ return $http({
+ url: url+'/onapapi/uui-lcm/v1/vf-ns-packages',
+ method: 'GET',
+ data: null,
+ headers: {'Content-Type': 'application/json'}
+ }).then(function(response){
+ var packageRsp = response.data;
+ var packages = [];
+ packageRsp.nsPackage.forEach(function (ns) {
+ packages.push({
+ uuid: ns.uuid,
+ invariantUUID: ns.invariantUUID,
+ name: ns.name,
+ type: 'NS'
+ })
+ });
+ packageRsp.vnfPackages.forEach(function (vnf) {
+ packages.push({
+ uuid: vnf.uuid,
+ invariantUUID: vnf.invariantUUID,
+ name: vnf.name,
+ type: 'VF'
+ })
+ });
+ processFun(packages);
+ });
+ },
+
+ packageOnboard: function (onboardPackage, vims) {
+ console.log('onboard...');
+ console.log(onboardPackage);
+ console.log(vims);
+ var requestBody = {
+ csarId: onboardPackage.uuid
+ }
+ if(onboardPackage.type === 'NS') {
+ return $http({
+ url: url+'/onapapi/uui-lcm/v1/ns-packages',
+ method: 'POST',
+ data: JSON.stringify(requestBody),
+ headers: {'Content-Type': 'application/json'}
+ }).then(function(response){
+ console.log('onboard ns package response...');
+ console.log(response.data);
+ });
+ } else {
+ return $http({
+ url: url+'/onapapi/uui-lcm/v1/vf-packages',
+ method: 'POST',
+ data: JSON.stringify(requestBody),
+ headers: {'Content-Type': 'application/json'}
+ }).then(function(response){
+ console.log('onboard vf package response...');
+ console.log(response.data);
+ });
+ }
+ }
+ };
});