blob: ed8bf956f92565ba6eda8dbce1ecb3ad24edbd05 [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 args = process.argv.slice(2);
function defineRoutes(router) {
//LICENSE-MODELS
router.get('/v1.0/vendor-license-models', licenseModelsList);
//FEATURE-GROUP
router.get('/v1.0/vendor-license-models/:licenseModelId/feature-groups', featureGroupList);
router.get('/v1.0/vendor-license-models/:licenseModelId/feature-groups/:featureGroupId', featureGroup);
router.post('/v1.0/vendor-license-models/:licenseModelId/feature-groups', addFeatureGroup);
router.delete('/v1.0/vendor-license-models/:licenseModelId/feature-groups/:featureGroupId', deletefeatureGroup);
router.put('/v1.0/vendor-license-models/:licenseModelId/feature-groups/:featureGroupId', updatefeatureGroup);
//LICENSE-AGREEMENT
router.get('/v1.0/vendor-license-models/:licenseModelId/license-agreements', licenseAgreementList);
router.post('/v1.0/vendor-license-models/:licenseModelId/license-agreements/', addLicenseAgreement);
router.delete('/v1.0/vendor-license-models/:licenseModelId/license-agreements/:licenseAgreementId', deleteLicenseAgreement);
router.put('/v1.0/vendor-license-models/:licenseModelId/license-agreements/:licenseAgreementId', updateLicenseAgreement);
//ENTITLEMENT POOLS
router.get('/v1.0/vendor-license-models/:licenseModelId/entitlement-pools', entitlementPoolsList);
router.post('/v1.0/vendor-license-models/:licenseModelId/entitlement-pools', addEntitlementPool);
router.put('/v1.0/vendor-license-models/:licenseModelId/entitlement-pools/:entitlementPoolId', updateEntitlementPool);
router.delete('/v1.0/vendor-license-models/:licenseModelId/entitlement-pools/:entitlementPoolId', deleteEntitlementPool);
//LICENSE KEY GROUPS
router.get('/v1.0/vendor-license-models/:licenseModelId/license-key-groups', licenseKeyGroupsList);
router.post('/v1.0/vendor-license-models/:licenseModelId/license-key-groups', addLicenseKeyGroup);
router.delete('/v1.0/vendor-license-models/:licenseModelId/license-key-groups/:licenseKeyGroupId', deleteLicenseKeyGroup);
router.put('/v1.0/vendor-license-models/:licenseModelId/license-key-groups/:licenseKeyGroupId', updateLicenseKeyGroup);
//VENDOR SOFTWARE PRODUCT
router.post('/v1.0/vendor-software-products/:vspId/upload', softwareProductUpload);
router.get('/v1.0/vendor-software-products/:vspId', getSoftwareProduct);
router.get('/v1.0/vendor-software-products', softwareProductList);
router.put('/v1.0/vendor-software-products/:vspId/processes/:prcId', putSoftwareProductProcess);
router.post('/v1.0/vendor-software-products/:vspId/processes', postSoftwareProductProcess);
}
function licenseModelsList(req, res) {
res.json(require('./data/licenseModels'));
}
function featureGroupList(req, res) {
res.json(require('./data/featureGroups'));
}
function featureGroup(req, res) {
res.json(require('./data/featureGroup'));
}
function deletefeatureGroup(req, res) {
res.json({
returnCode: 'OK'
});
}
function updatefeatureGroup(req, res) {
res.json({
returnCode: 'OK'
});
}
function addFeatureGroup(req,res) {
var id = Math.floor(Math.random() * (100 - 1) + 1).toString();
res.json({
returnCode: 'OK',
value: id
})
}
/** ENTITLEMENT POOLS **/
function entitlementPoolsList(req, res) {
res.json(require('./data/entitlementPools'));
}
function updateEntitlementPool(req, res) {
res.json({
returnCode: 'OK'
});
}
function addEntitlementPool(req,res) {
var id = Math.floor(Math.random() * (100 - 1) + 1).toString();
res.json({
returnCode: 'OK',
value: id
})
}
function deleteEntitlementPool(req, res) {
res.json({
returnCode: 'OK'
});
}
/** LICENSE KEY GROUPS */
function licenseKeyGroupsList(req, res) {
res.json(require('./data/licenseKeyGroups'));
}
function addLicenseKeyGroup(req,res) {
var id = Math.floor(Math.random() * (100 - 1) + 1).toString();
res.json({
returnCode: 'OK',
value: id
})
}
function deleteLicenseKeyGroup(req, res) {
res.json({
returnCode: 'OK'
});
}
function updateLicenseKeyGroup(req, res) {
res.json({
returnCode: 'OK'
});
}
function licenseAgreementList(req, res) {
res.json(require('./data/licenseAgreementList'));
}
function addLicenseAgreement(req,res) {
var id = Math.floor(Math.random() * (100 - 1) + 1).toString();
res.json({
returnCode: 'OK',
value: id
})
}
function deleteLicenseAgreement(req, res) {
res.json({
returnCode: 'OK'
});
}
function updateLicenseAgreement(req, res) {
res.json({
returnCode: 'OK'
});
}
/** VENDOR SOFTWARE PRODUCT */
function softwareProductUpload(req, res) {
res.json({
status: 'SUCCESS'
});
}
function getSoftwareProduct(req, res) {
res.json(require('./data/softwareProduct'));
}
function putSoftwareProductProcess(req, res) {
res.json({
status: 'SUCCESS'
});
}
function postSoftwareProductProcess(req, res) {
var id = Math.floor(Math.random() * (100 - 1) + 1).toString();
res.json({
returnCode: 'OK',
value: id
});
}
function createFixtureServer(port) {
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());
var router = express.Router();
defineRoutes(router);
app.use('/api', router);
app.use('/onboarding-api', router);
app.use('/sdc1/feProxy/onboarding-api', router);
app.listen(port);
console.log('Fixture server is up. port->', port);
//console.log(router.stack);
return app;
}
/** SOFTWARE PRODUCT LIST **/
function softwareProductList(req, res) {
res.json(require('./data/softwareProductList'));
}
createFixtureServer(args[0]);