Advertisement
Guest User

Untitled

a guest
Sep 18th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.54 KB | None | 0 0
  1. const pool = require('./pool')
  2.  
  3. const getMovies = (request, response) => {
  4. pool.query('SELECT * FROM movies ORDER BY "id" DESC', (error, results) => {
  5. if (error) {
  6. throw error
  7. }
  8. const res = {
  9. success: true,
  10. data: results.rows.sort(item =>item.as)
  11. }
  12. response.status(200).json(res)
  13. });
  14. }
  15.  
  16. const getMoviesById = (request, response) => {
  17. const id = parseInt(request.params.id)
  18.  
  19. pool.query('SELECT * FROM movies WHERE id = $1', [id], (error, results) => {
  20. // if remove return use if else
  21. if (error) {
  22. return response.status(500).json({ errors: { global: "Something went wrong" } });
  23. }
  24. return response.status(200).json(results.rows[0])
  25. });
  26. }
  27.  
  28. const createMovie = (request, response) => {
  29. const { errors, isValid } = validate(request.body);
  30.  
  31. if (isValid){
  32. const { title, cover } = request.body
  33. pool.query('INSERT INTO movies (title, cover) VALUES ($1, $2) RETURNING * ', [title, cover], (error, results) => {
  34. if (error) {
  35. return response.status(500).json({ errors: { global: "Something went wrong" } });
  36. }
  37. return response.status(201).json(results.rows);
  38. })
  39. } else {
  40. response.status(400).json({ errors });
  41. }
  42. }
  43.  
  44. const validate = (data) => {
  45. let errors = {};
  46. if (data.title === '') errors.title = "Can't be empty";
  47. if (data.cover === '') errors.cover = "Can't be empty";
  48. const isValid = Object.keys(errors).length === 0;
  49. return { errors, isValid };
  50. };
  51.  
  52. const updateMovie = (request, response) => {
  53. const id = parseInt(request.params.id)
  54. const { title, cover } = request.body
  55.  
  56. pool.query(
  57. 'UPDATE movies SET title = $1, cover = $2 WHERE id = $3',
  58. [title, cover, id],
  59. (error, results) => {
  60. if (error) {
  61. return response.status(500).json({ errors: { global: "Something went wrong" } });
  62. }
  63. return response.status(200).send(`User modified with ID: ${id}`)
  64. }
  65. )
  66. }
  67.  
  68. const deleteMovie = (request, response) => {
  69. const id = parseInt(request.params.id)
  70.  
  71. pool.query('DELETE FROM movies WHERE id = $1', [id], (error, results) => {
  72. if (error) {
  73. return response.status(500).json({ errors: { global: "Something went wrong" } });
  74. }
  75. return response.status(200).json('OK')
  76. });
  77. }
  78.  
  79. module.exports = {
  80. getMovies,
  81. getMoviesById,
  82. createMovie,
  83. updateMovie,
  84. deleteMovie,
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement