Initial_commit:GWM

This commit is contained in:
sriramv 2021-08-10 22:50:47 +05:30
parent 0fde06ba01
commit 4c3155f685
9 changed files with 3085 additions and 0 deletions

12
app/config/db.config.js Normal file
View File

@ -0,0 +1,12 @@
require('dotenv').config();
module.exports = {
"development": {
"username": process.env.USER_NAME,
"password": process.env.PASSWORD,
"database": process.env.DATABASE,
"port": process.env.PORT,
"host": process.env.HOST,
"dialect": "mssql"
}
};

View File

@ -0,0 +1,28 @@
//const db = require("../models");
//const Entities = db.tutorials;
//const Op = db.Sequelize.Op;
const { sequelize, Entities } = require('../models')
const { logMsg } = require('../services/logger.js');
//const errorLog = require('.../util/logger.js').errorlog;
//const successlog = require('.../util/logger.js').successlog;
// Retrieve all Tutorials from the database.
exports.findAllEntities = (req, res) => {
Entities.findAll()
.then(data => {
res.send({'status':200,'message':"success",'data':data});
logMsg.info("Success :"(data));
})
.catch(err => {
res.status(500).send({
message:
err.message || "Some error occurred while retrieving tutorials."
});
});
};

37
app/models/Entities.js Normal file
View File

@ -0,0 +1,37 @@
'use strict'
const { Model } = require('sequelize')
module.exports = (sequelize, DataTypes) => {
class Entities extends Model {
/**
* Helper method for defining associations.
* This method is not a part of Sequelize lifecycle.
* The `models/index` file will call this method automatically.
*/
// define association here
//static associate({ Model_name }) {
//this.hasMany(Model_name, { foreignKey: 'child_table_prim_key', as: 'child_tbl_name' })
//}
}
Entities.init(
{
losid: { type: DataTypes.STRING },
pan: { type: DataTypes.STRING },
cin: { type: DataTypes.STRING },
bizname: { type: DataTypes.STRING },
entity_type: { type: DataTypes.STRING },
activity_group: { type: DataTypes.STRING },
biz_act_desc: { type: DataTypes.STRING },
createdby: { type: DataTypes.INTEGER },
updatedby: { type: DataTypes.INTEGER },
},
{
sequelize,
tableName: 'entities',
modelName: 'Entities',
}
)
return Entities
}

39
app/models/index.js Normal file
View File

@ -0,0 +1,39 @@
'use strict';
const fs = require('fs');
const path = require('path');
const Sequelize = require('sequelize');
const basename = path.basename(__filename);
const env = process.env.NODE_ENV || 'development';
const config = require(__dirname + '/../config/db.config.js')[env];
//console.log(env);
//console.log(config);
const db = {};
let sequelize;
if (config.use_env_variable) {
sequelize = new Sequelize(process.env[config.use_env_variable], config);
} else {
sequelize = new Sequelize(config.database, config.username, config.password, config);
}
fs
.readdirSync(__dirname)
.filter(file => {
return (file.indexOf('.') !== 0) && (file !== basename) && (file.slice(-3) === '.js');
})
.forEach(file => {
const model = require(path.join(__dirname, file))(sequelize, Sequelize.DataTypes);
db[model.name] = model;
});
Object.keys(db).forEach(modelName => {
if (db[modelName].associate) {
db[modelName].associate(db);
}
});
db.sequelize = sequelize;
db.Sequelize = Sequelize;
module.exports = db;

12
app/routes/routes.js Normal file
View File

@ -0,0 +1,12 @@
module.exports = app => {
const financials = require("../controllers/financial.controller.js");
var router = require("express").Router();
// Retrieve all Tutorials
router.get("/EntitiesList", financials.findAllEntities);
app.use('/api', router);
};

27
app/services/logger.js Normal file
View File

@ -0,0 +1,27 @@
/**
* Configurations of logger.
*/
var winston = require('winston');
require('winston-daily-rotate-file');
var transport = new winston.transports.DailyRotateFile({
filename: '../storage/log/msg.log',
datePattern: 'YYYY-MM-DD-HH',
zippedArchive: true,
maxSize: '20m',
maxFiles: '14d'
});
transport.on('rotate', function(oldFilename, newFilename) {
// do something fun
});
const logger = winston.createLogger({
transports: [
transport
]
});
module.exports = {
'logMsg': logger,
};

2894
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

23
package.json Normal file
View File

@ -0,0 +1,23 @@
{
"name": "smc_cet_financials_backend",
"version": "1.0.0",
"description": "",
"main": "server.js",
"scripts": {
"start": "nodemon server.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"body-parser": "^1.19.0",
"cors": "^2.8.5",
"dotenv": "^10.0.0",
"express": "^4.17.1",
"mssql": "^7.2.0",
"nodemon": "^2.0.12",
"sequelize": "^6.6.5",
"winston": "^3.3.3",
"winston-daily-rotate-file": "^4.5.5"
}
}

13
server.js Normal file
View File

@ -0,0 +1,13 @@
const express = require('express')
const app = express()
app.use(express.json())
app.get("/", (req, res) => {
res.json({ message: "Welcome to the application." });
});
require("./app/routes/routes.js")(app);
app.listen({ port: 3000 }, async () => {
console.log('Server up on http://localhost:3000')
//await sequelize.authenticate()
//console.log('Database Connected!')
})