Guest User

Untitled

a guest
Nov 1st, 2017
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.63 KB | None | 0 0
  1. const express = require('express');
  2. var Pool = require('pg').Pool;
  3. var bodyParser = require('body-parser');
  4.  
  5. const app = express();
  6. var config = {
  7. host: 'localhost',
  8. user: 'armando',
  9. password: 'Chomusuke',
  10. database: 'signup'
  11. };
  12.  
  13. var pool = new Pool(config);
  14.  
  15. app.set('port', (8080));
  16. app.use(bodyParser.json({type: 'application/json'}));
  17. app.use(bodyParser.urlencoded({extended: true}));
  18.  
  19. app.get('/api', async (req, res) => {
  20. try{
  21. var response = await pool.query('select attendee from attendance');
  22. console.log(JSON.stringify(response.rows));
  23. // res.json({workshops: response.rows});
  24. let results = response.rows.map(function(attendance){
  25. return attendance.attendee;
  26. });
  27. res.json({attendees: results});
  28. }
  29. catch(e) {
  30. console.error('Error running query ' + e);
  31. }
  32.  
  33. });
  34.  
  35. app.post('/api', async (req, res) =>{
  36. console.log(req.body);
  37. var workshop = req.body.workshop;
  38. var attendee = req.body.attendee;
  39. var response = await pool.query('select * from attendance where workshop = $1 and attendee = $2', [workshop, attendee]);
  40. var workshopsearch = await pool.query('select * from workshops where workshop = $1', [workshop]);
  41. if(!attendee){
  42. res.json({error: 'parameters not given'});
  43. }
  44. else if(!workshop){
  45. try{
  46. // var table = await pool.query('select * from workshops');
  47. // console.log(JSON.stringify(table.rows));
  48. // res.json(table.rows);
  49. var response = await pool.query('select workshop from workshops');
  50. let results = response.rows.map(function(workshops){
  51. return workshops.workshop;
  52. });
  53. res.json({workshops: results});
  54. }catch(e){
  55. console.error('Error running query: ' + e);
  56. }
  57. }
  58. else if(response.rows.length == 1){
  59. res.json('Attendee already enrolled.');
  60. console.log('attendee already enrolled');
  61. }
  62. else if(workshopsearch.rows.length == 0){
  63. //res.json('Error: Workshop not found');
  64. //console.log('Error: Workshop not found');
  65. try{
  66.  
  67. var newWorkshop = await pool.query('insert into workshops values ($1)', [workshop]);
  68. var insertion = await pool.query('insert into attendance values ($1, $2)', [workshop, attendee]);
  69. res.json('Attendee enrolled');
  70. }
  71. catch(e){
  72. console.log('error creating workshop', e);
  73. }
  74. }
  75. else{
  76. try{
  77. var insertion = await pool.query('insert into attendance values ($1, $2)', [workshop, attendee]);
  78. var response = await pool.query('select * from attendance where workshop = $1 and attendee = $2', [workshop, attendee]);
  79. res.json({status: 'inserted'});
  80. // res.json(response.rows);
  81. }
  82. catch(e){
  83. console.log('Error running insert', e);
  84. }
  85. }
  86. });
  87.  
  88. app.delete('/api', async (req, res) =>{
  89. console.log(req.body);
  90. var workshop = req.body.workshop;
  91. var attendee = req.body.attendee;
  92. if(!workshop && !attendee){
  93. res.json({error: 'parameters not given'});
  94. }
  95. else if(!attendee){
  96. var deletion = await pool.query('delete from attendance where attendee is null');
  97. res.json('non-existant attendee removed');
  98. }
  99. else{
  100. try{
  101. var response = await pool.query('delete from attendance where workshop = $1 and attendee = $2', [workshop, attendee]);
  102. res.json({status: 'deleted'});
  103. }
  104. catch(e){
  105. console.log('Error running delete', e);
  106. }
  107. }
  108. });
  109. app.listen(app.get('port'), () => {
  110. console.log('Running');
  111. });
Add Comment
Please, Sign In to add comment