blob: c8927867219f385911c5a688e433f1fd5d18c58e [file] [log] [blame]
Matteo Scandolod2044a42017-08-07 16:08:28 -07001
2/*
3 * Copyright 2017-present Open Networking Foundation
4
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8
9 * http://www.apache.org/licenses/LICENSE-2.0
10
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18
Matteo Scandoloba678a92016-06-20 17:16:15 -070019/**
20 * © OpenCORD
21 *
22 * Visit http://guide.xosproject.org/devguide/addview/ for more information
23 *
24 * Created by teone on 6/22/16.
25 */
26
27(function () {
28 'use strict';
29
30 /**
31 * @ngdoc service
32 * @name xos.NetworkTemplateEncoder.serviceGrid
33 **/
34
35 // TODO write tests
36 angular.module('xos.serviceGrid')
37 .service('NetworkTemplateEncoder', function($q, Networkstemplates){
38
39 this.buildTosca = (templateId, toscaSpec) => {
40 const d = $q.defer();
41 Networkstemplates.get({id: templateId}).$promise
42 .then(template => {
43 const toscaObj = {};
44 toscaObj[`network_template#${template.name}`] = {
45 type: 'tosca.nodes.NetworkTemplate'
46 };
47 angular.extend(toscaSpec.topology_template.node_templates, toscaObj);
48 d.resolve([toscaSpec, template]);
49 })
50 .catch(e => {
51 d.reject(e);
52 });
53
54 return d.promise;
55 };
56 });
57})();
58