Commit 2c2a1bab by Beebuddy Builder

test add api

1 parent 4c4dbd2f
......@@ -24,6 +24,12 @@
"dependencies": {
"dotenv": "^8.2.0",
"moment": "2.29.1",
"mongodb": "3.1.8"
"uuid": "3.3.2",
"mongodb": "3.1.8",
"express": "4.16.4",
"cors": "2.8.4",
"body-parser": "1.18.3",
"response-time": "2.3.2"
}
}
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = startApp;
var _express = _interopRequireDefault(require("express"));
var _cors = _interopRequireDefault(require("cors"));
var _bodyParser = _interopRequireDefault(require("body-parser"));
var _logger = _interopRequireDefault(require("../utils/logger/logger"));
var _app_config = _interopRequireDefault(require("../config/app_config"));
var _v = _interopRequireDefault(require("uuid/v4"));
var _responseTime = _interopRequireDefault(require("response-time"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var app = (0, _express.default)();
var TAG = "[Application] ";
app.use((0, _cors.default)());
app.use(_bodyParser.default.json({
limit: '50mb'
}));
app.use(function (req, res, next) {
req.headers.__reqId = "[" + (0, _v.default)() + "] ";
req.specialType = "request";
req.startTime = new Date().getTime(); // stamp time start inservice
_logger.default.info(req, "".concat(TAG, "Call \"").concat(req.originalUrl, "\""));
_logger.default.info(req, "".concat(TAG, ":: Request Header :: ").concat(JSON.stringify(req.headers)));
_logger.default.info(req, "".concat(TAG, ":: Request Data :: ").concat(JSON.stringify(req.body)));
next();
});
app.use((0, _responseTime.default)(function (req, res, time) {
var totalTimeInService = time;
if (totalTimeInService > 100) {
_logger.default.warning(req, TAG + "Total time in service [over 100ms] : ", Math.round(totalTimeInService), " ms");
} else {
_logger.default.info(req, TAG + "Total time in service : ", Math.round(totalTimeInService), " ms");
}
}));
/**
* Show App Detail
*/
app.all("/app/version", function (req, res) {
res.send({
appName: _app_config.default.appName,
description: _app_config.default.description,
version: _app_config.default.version
});
});
function startApp() {
var server = app.listen(_app_config.default.systemConfig.APP_START_PORT, function () {
_logger.default.info("".concat(TAG, "Starting ").concat(_app_config.default.appName, " (Version ").concat(_app_config.default.version, ") , Listening on port ").concat(_app_config.default.systemConfig.APP_START_PORT, " !"));
}); // Set timeout for server
server.setTimeout(1000 * 60 * 30);
}
\ No newline at end of file
......@@ -21,12 +21,14 @@ var DB_PORT = process.env.DB_PORT;
var DB_USERNAME = process.env.DB_USERNAME;
var DB_PASSWORD = process.env.DB_PASSWORD; // Config System
var APP_START_PORT = process.env.APP_START_PORT;
var systemConfig = {
DB_URL: DB_URL,
DB_NAME: DB_NAME,
DB_PORT: DB_PORT,
DB_USERNAME: DB_USERNAME,
DB_PASSWORD: DB_PASSWORD
DB_PASSWORD: DB_PASSWORD,
APP_START_PORT: APP_START_PORT
};
var _default = systemConfig;
exports.default = _default;
\ No newline at end of file
......@@ -13,3 +13,6 @@ export const ENV = {
DB_USERNAME : "",
DB_PASSWORD : ""
}
export const connectMongo;
export const AppApi;
\ No newline at end of file
......@@ -3,12 +3,14 @@
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.connectMongo = exports.ENV = exports.Utils = void 0;
exports.AppApi = exports.connectMongo = exports.ENV = exports.Utils = void 0;
var _dotenv = _interopRequireDefault(require("dotenv"));
var _connect_db = _interopRequireDefault(require("./utils/mongodb/connect_db"));
var _app = _interopRequireDefault(require("./appapi/app"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
......@@ -50,3 +52,5 @@ var ENV = {
exports.ENV = ENV;
var connectMongo = new _connect_db.default();
exports.connectMongo = connectMongo;
var AppApi = _app.default;
exports.AppApi = AppApi;
\ No newline at end of file
......@@ -24,6 +24,12 @@
"dependencies": {
"dotenv": "^8.2.0",
"moment": "2.29.1",
"mongodb": "3.1.8"
"uuid": "3.3.2",
"mongodb": "3.1.8",
"express": "4.16.4",
"cors": "2.8.4",
"body-parser": "1.18.3",
"response-time": "2.3.2"
}
}
import express from "express";
import cors from "cors";
import bodyParser from "body-parser";
import logger from "../utils/logger/logger";
import appConfig from "../config/app_config";
import uuidv4 from 'uuid/v4';
import responseTime from 'response-time'
const app = express();
const TAG = "[Application] ";
app.use(cors());
app.use(bodyParser.json({
limit: '50mb'
}));
app.use((req, res, next) => {
req.headers.__reqId = "[" + uuidv4() + "] ";
req.specialType = "request";
req.startTime = new Date().getTime(); // stamp time start inservice
logger.info(req, `${TAG}Call "${req.originalUrl}"`);
logger.info(req, `${TAG}:: Request Header :: ${JSON.stringify(req.headers)}`);
logger.info(req, `${TAG}:: Request Data :: ${JSON.stringify(req.body)}`);
next();
});
app.use(responseTime((req, res, time) => {
const totalTimeInService = time;
if(totalTimeInService > 100){
logger.warning(req , TAG+"Total time in service [over 100ms] : " ,Math.round(totalTimeInService) , " ms" )
}else{
logger.info(req , TAG+"Total time in service : " ,Math.round(totalTimeInService) , " ms")
}
}));
/**
* Show App Detail
*/
app.all("/app/version",(req,res) => {
res.send({
appName : appConfig.appName,
description : appConfig.description,
version : appConfig.version
})
});
export default function startApp() {
const server = app.listen(appConfig.systemConfig.APP_START_PORT, () => {
logger.info(`${TAG}Starting ${appConfig.appName} (Version ${appConfig.version}) , Listening on port ${appConfig.systemConfig.APP_START_PORT} !`)
});
// Set timeout for server
server.setTimeout(1000 * 60 * 30);
}
\ No newline at end of file
......@@ -12,12 +12,17 @@ const DB_PORT = process.env.DB_PORT;
const DB_USERNAME = process.env.DB_USERNAME;
const DB_PASSWORD = process.env.DB_PASSWORD; // Config System
const APP_START_PORT = process.env.APP_START_PORT;
const systemConfig = {
DB_URL,
DB_NAME,
DB_PORT,
DB_USERNAME,
DB_PASSWORD
DB_PASSWORD,
APP_START_PORT
};
export default systemConfig;
......@@ -13,3 +13,6 @@ export const ENV = {
DB_USERNAME : "",
DB_PASSWORD : ""
}
export const connectMongo;
export const AppApi;
\ No newline at end of file
import dotenv from 'dotenv'
import ConnectMongo from './utils/mongodb/connect_db';
import _AppApi from './appapi/app'
dotenv.config();
export class Utils {
......@@ -21,3 +22,5 @@ export const ENV = {
}
export const connectMongo = new ConnectMongo();
export const AppApi = _AppApi;
\ No newline at end of file
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!