| /*- |
| * ============LICENSE_START======================================================= |
| * SDC |
| * ================================================================================ |
| * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. |
| * ================================================================================ |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * ============LICENSE_END========================================================= |
| */ |
| |
| var express = require('express'); |
| var mockApis = require('../configurations/mock.json').sdcConfig; |
| //var mockUris = require('../configurations/mock.json'); |
| var cors = require('cors'); |
| var multer = require('multer') |
| var basePathToMockData = './mock-data/'; |
| var app = express(); |
| |
| var allowedHeaders = 'Content-Type,Authorization,If-Modified-Since,'; |
| allowedHeaders += mockApis.cookie.userIdSuffix; |
| allowedHeaders += ','+mockApis.cookie.userEmail; |
| allowedHeaders += ','+mockApis.cookie.userFirstName; |
| allowedHeaders += ','+mockApis.cookie.userLastName; |
| allowedHeaders += ','+mockApis.cookie.xEcompRequestId; |
| |
| |
| |
| app.use(cors({ |
| // origin: '*', |
| origin: function(origin, callback) { |
| callback(null, true); |
| }, |
| methods: 'GET, POST, PUT, DELETE', |
| allowedHeaders: allowedHeaders, |
| credentials: true |
| })); |
| |
| //set cookie middleware |
| app.use(function(req, res, next) { |
| |
| res.cookie(mockApis.cookie.userIdSuffix, req.headers[mockApis.cookie.userIdSuffix] || mockApis.userTypes.designer.userId ); |
| res.cookie(mockApis.cookie.userEmail, req.headers[mockApis.cookie.userEmail] || mockApis.userTypes.designer.email); |
| res.cookie(mockApis.cookie.userFirstName, req.headers[mockApis.cookie.userFirstName] || mockApis.userTypes.designer.firstName); |
| res.cookie(mockApis.cookie.userLastName, req.headers[mockApis.cookie.userLastName] || mockApis.userTypes.designer.lastName); |
| res.cookie(mockApis.cookie.xEcompRequestId, req.headers[mockApis.cookie.xEcompRequestId] || mockApis.userTypes.designer.lastName); |
| next(); |
| }); |
| |
| var userRoutes = require('./routes/user'); |
| app.use('/v1/user', userRoutes); |
| var resourceRoutes = require('./routes/resource'); |
| app.use('/v1/resource', resourceRoutes); |
| var templateRoutes = require('./routes/template'); |
| app.use('/v1/template', templateRoutes); |
| var propertyRoutes = require('./routes/property'); |
| app.use('/v1/resource/:resourceId/property', propertyRoutes); |
| var resourcesRoutes = require('./routes/resources'); |
| app.use('/v1/catalog/resources', resourcesRoutes); |
| |
| /******************************************* MOCKS ENPOINTS *************************************************/ |
| /* get user details */ |
| // app.get(mockApis.api.GET_user, function (req, res) { |
| // var user = require(basePathToMockData+'user/user.json'); |
| // res.send(user); |
| // }); |
| |
| /* get elements */ |
| app.get(mockApis.api.GET_element, function (req, res) { |
| |
| var element = require(basePathToMockData+'element/element.json'); |
| res.send(element); |
| }); |
| |
| /* get elements */ |
| app.get(mockApis.api.GET_catalog, function (req, res) { |
| |
| var element = require(basePathToMockData+'element/element.json'); |
| res.send(element); |
| }); |
| |
| /* get categories */ |
| app.get(mockApis.api.GET_category, function (req, res) { |
| |
| var categories = require(basePathToMockData+'category/category.json'); |
| res.send(categories); |
| }); |
| |
| |
| /* get categories */ |
| app.get(mockApis.api.GET_configuration_ui, function (req, res) { |
| |
| var categories = require(basePathToMockData+'artifact/artifact-types.json'); |
| res.send(categories); |
| }); |
| |
| |
| |
| |
| |
| |
| |
| |
| //upload artifact file |
| app.use(multer({ dest: './uploads/', |
| rename: function (fieldname, filename) { |
| return filename+Date.now(); |
| }, |
| onFileUploadStart: function (file) { |
| console.log(file.originalname + ' is starting ...') |
| }, |
| onFileUploadComplete: function (file) { |
| console.log(file.fieldname + ' uploaded to ' + file.path) |
| done=true; |
| } |
| })); |
| |
| var done=false; |
| app.post(mockApis.api.GET_resource_artifact,function(req,res){ |
| if(done==true){ |
| console.log(req.files); |
| res.end("File uploaded."); |
| } |
| }); |
| |
| |
| /**************************************************** *******************************************************/ |
| |
| var server = app.listen(9999, function () { |
| console.log('mock server listening on port %d', server.address().port); |
| }); |