blob: 6f4c88a62d119658a4c65716dbdde16fcfe06b43 [file] [log] [blame]
/*-
* ============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);
});