generated from openBackhaul/ApplicationOwnerRepositoryTemplate
-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathindex.js
More file actions
72 lines (59 loc) · 3 KB
/
index.js
File metadata and controls
72 lines (59 loc) · 3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
'use strict';
var path = require('path');
var http = require('http');
require('console-stamp')(console);
var oas3Tools = require('openbackhaul-oas3-tools');
var serverPort = 4015;
var appCommons = require('onf-core-model-ap/applicationPattern/commons/AppCommons');
var individual = require('./service/IndividualServicesService');
var apiKeyAuth = require('./utils/apiKeyAuth');
const notificationManagement = require('./service/individualServices/NotificationManagement');
appCommons.openApiValidatorOptions.validateSecurity.handlers.apiKeyAuth = apiKeyAuth.validateOperationKey;
const prepareElasticsearch = require('./service/individualServices/ElasticsearchPreparation');
const logger = require('./service/LoggingService.js').getLogger();
// uncomment if you do not want to validate security e.g. operation-key, basic auth, etc
// appCommons.openApiValidatorOptions.validateSecurity = false;
if (process.env.DEBUG && process.env.DEBUG.toLowerCase() === "true") {
logger.warn("Working in debug mode");
logger.warn("Checking validation")
// appCommons.openApiValidatorOptions.validateSecurity = false;
appCommons.openApiValidatorOptions.validateResponses = false;
// appCommons.openApiValidatorOptions.validateRequests = false;
logger.warn("Validate Security: " + appCommons.openApiValidatorOptions.validateSecurity);
logger.warn("Validate Responses: " + appCommons.openApiValidatorOptions.validateResponses);
logger.warn("Validate Requests: " + appCommons.openApiValidatorOptions.validateRequests);
}
// swaggerRouter configuration
var options = {
routing: {
controllers: path.join(__dirname, './controllers')
},
openApiValidator: appCommons.openApiValidatorOptions
};
var expressAppConfig = oas3Tools.expressAppConfig(path.join(__dirname, 'api/openapi.yaml'), options);
var app = expressAppConfig.getApp();
appCommons.setupExpressApp(app);
// Initialize the Swagger middleware
/*http.createServer(app).listen(serverPort, function () {
console.log('Your server is listening on port %d (http://localhost:%d)', serverPort, serverPort);
console.log('Swagger-ui is available on http://localhost:%d/docs', serverPort);
});
*/
global.databasePath = './database/load.json';
(async () => {
global.common = await individual.resolveApplicationNameAndHttpClientLtpUuidFromForwardingName();
global.notify = await individual.NotifiedDeviceAlarmCausesUpdatingTheEntryInCurrentAlarmListOfCache();
global.proxy = await notificationManagement.getAppInformation();
})()
prepareElasticsearch(false).catch(err => {
logger.error(`Error preparing Elasticsearch : ${err}`);
}).finally(() => {
// Initialize the Swagger middleware
http.createServer(app).listen(serverPort, function () {
logger.info('Your server is listening on port %d (http://localhost:%d)', serverPort, serverPort);
logger.info('Swagger-ui is available on http://localhost:%d/docs', serverPort);
});
appCommons.performApplicationRegistration();
}
);
global.applicationDataPath = './application-data/';