const express = require('express'); const path = require('path'); const morgan = require('morgan'); const mysql = require('mysql'); const cloud_file = require('express-fileupload'); const myConecction = require('express-myconnection'); const cors_origins = require('cors'); //inicio de sessiones const session = require('express-session'); //const jwt = require('jwt'); //const pool = require('./db.js'); global.config = require('./config.js'); var puerto = global.config.server.port; const app = express(); //importando rutas const clientesRutas = require('./rutas/rt_clientes'); const productosRutas = require('./rutas/rt_items'); const generalesRutas = require('./rutas/rt_Generales'); const cloud_rutas = require('./rutas/rt_cloud'); const app_restaurant = require('./rutas/rt_apps'); const app_arduino = require('./rutas/rt_arduino'); //configuraciones app.set('port',process.env.PORT||puerto); app.set('view engine','ejs'); app.set('views',path.join(__dirname, 'views')); //app.set('vistas',path.join(__dirname, 'vistas')); app.locals = global.config; //app.locals.pretty;//true minificado//false minificado //***** CONTROL DE CORDS ******/ app.use(cors_origins({origin:global.config.origin.any})); //*****inicio de sessiones*****// app.use(session({ secret: global.config.sessionStorage.secretSession,//llave para cifrar resave: false,//no se guarde cada vez que se hace un cambio saveUninitialized: true,//guardar sesion aunque no haya datos cookie: { secure: global.config.sessionStorage.cookie }//true solo se envia por https })); //middlewares app.use(express.static(__dirname+'/public'));//para usar la carpeta public *js*css*img app.use(morgan('dev')); app.use(myConecction(mysql,{//conexion bd host:global.config.db.host, user: global.config.db.user, password:global.config.db.pswd, port:global.config.db.port, database:global.config.db.db_a },'pool')); //cuando reciba dato desde req body app.use(express.json({limit: '25mb'})); app.use(express.urlencoded({limit:'25mb',extended:false})); // //app.use(cloud_file); app.use(cloud_file({ limits: { fileSize: 50000 * 1024 * 1024 }, })); //rutas app.use('/', clientesRutas); app.use('/', productosRutas); app.use('/', generalesRutas); app.use('/', cloud_rutas); app.use('/', app_restaurant); app.use('/', app_arduino); //prueba de json directa app.get('/pruebaJson',function(req,res){ req.session.acount = req.session.acount ? req.session.acount + 1 : 1; res.json([ {nombre:"Tarea1",detalle:"programacion"}, {nombre:"Tarea2",detalle:"Android Json"}, {ejecusion:req.session.acount,"id":req.sessionID}, ]); }); //archivos staticos app.use(express.static(path.join(__dirname, 'public'))); //inicia servidor app.listen(app.get('port'),() =>{ console.log('Servidor Activo: App SIGMA Pedidos -> Puerto: '+puerto +' -> '+new Date().toLocaleString()); });