server.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. const config = require('./config');
  2. const express = require('express');
  3. const bodyParser = require('body-parser');
  4. const fs = require('fs');
  5. const db = require('sqlite');
  6. const app = express();
  7. const routes = require('./routes');
  8. const Promise = require('bluebird');
  9. Promise.promisifyAll(fs);
  10. /**
  11. * Express app setup
  12. */
  13. app.use(bodyParser.json());
  14. app.use(bodyParser.urlencoded());
  15. app.use(express.static(__dirname + '/public'));
  16. app.set('view engine', 'pug');
  17. /**
  18. * Express routes setup
  19. */
  20. app.get('/', routes.getIndex);
  21. app.get('/stripe-connect', routes.getStripeCallback);
  22. app.post('/stripe-charge', routes.postStripeCharge);
  23. app.post('/stripe-immediate-charge', routes.postStripeImmediateCharge);
  24. app.post('/stripe-transfer', routes.postStripeTransfer);
  25. Promise.resolve()
  26. // First, try connect to the database
  27. .then(() => db.open('./database.sqlite', { Promise }))
  28. .then(() => db.migrate({ force: 'last' }))
  29. .catch(err => console.error(err.stack))
  30. // Finally, launch Node.js app
  31. .finally(() => app.listen(config.port));