Advertisement
Guest User

Untitled

a guest
Dec 1st, 2018
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var express = require('express');
  2. var exphbs = require('express-handlebars')
  3. var path = require('path');
  4. var logger = require('morgan');
  5. var request = require('request');
  6. var fs = require('fs');
  7.  
  8.  
  9.  
  10.  
  11. var indexRouter = require('./routes/index');
  12. //var usersRouter = require('./routes/users');
  13. var checkoutRouter = require('./routes/checkout');
  14. var authRouter = require('./routes/authPrimavera');
  15. var productsRouter = require('./routes/products');
  16. var app = express();
  17.  
  18. // view engine setup
  19. app.engine('handlebars', exphbs({defaultLayout: 'main'}));
  20. app.set('view engine', 'handlebars');
  21.  
  22. app.use(logger('dev'));
  23. app.use(express.json());
  24. app.use(express.urlencoded({ extended: false }));
  25. app.use(express.static(path.join(__dirname, 'public')));
  26.  
  27. //URL base da API
  28. global.url = "http://localhost:2018/WebApi/";
  29. global.token = "";
  30.  
  31.  
  32. //A função abaixo corre sempre que é feito um pedido a qualquer rota de forma a definir um token
  33. //a ser usado a nivel global
  34. app.use(async (req, res, next) =>{
  35.     fs.readFile('token.txt', function(err, data) {
  36.         if(err){
  37.             global.token = "";
  38.             return;
  39.         }
  40.         global.token = data;
  41.         return;
  42.       });
  43.  
  44.     if(token == ""){
  45.     let params ={
  46.         username: 'FEUP',
  47.         password: 'qualquer1',
  48.         company: 'BELAFLOR',
  49.         instance: 'DEFAULT',
  50.         grant_type: 'password',
  51.         line: 'professional'
  52.     };
  53.  
  54.     await request.post({url: url+"token", form:params}, (error, response, body) => {
  55.         if (error) {
  56.  
  57.             console.error(error);
  58.             return;
  59.         } else {
  60.            
  61.             jsonArray = JSON.parse(body);
  62.             token = jsonArray["access_token"];
  63.             fs.writeFile('token.txt', token, function (err) {
  64.                 if (err) throw err;
  65.                 console.log('Saved!');
  66.               });
  67.         }
  68.     });
  69. }
  70.     next();
  71.  
  72. });
  73.  
  74. app.use('/', indexRouter);
  75. //app.use('/users', usersRouter);
  76. app.use('/checkout',checkoutRouter);//(my_var);
  77. app.use('/authPrimavera',authRouter);
  78. app.use('/products',productsRouter);
  79.  
  80.  
  81. module.exports = app;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement