Advertisement
yudhaez0212

Untitled

Nov 9th, 2020
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.40 KB | None | 0 0
  1. const Banner = require('../../models/banner');
  2.  
  3. module.exports = {
  4. getBanners: async function({}, req) {
  5. const banners = await Banner.find();
  6. return {
  7. result: banners.map(b => {
  8. return {
  9. ...b._doc,
  10. id: b._id.toString()
  11. };
  12. })
  13. };
  14. },
  15.  
  16. getBanner: async function(input, req) {
  17. const id = input.id;
  18.  
  19. // const user = await User.findOne({ name: input.name }); // get single data by name
  20. const banner = await Banner.findById(id).exec();
  21. if (!banner) {
  22. const error = new Error('Banner is not found!');
  23. throw error;
  24. }
  25.  
  26. return {
  27. ...banner._doc,
  28. id: banner._id.toString()
  29. };
  30. },
  31.  
  32. createBanner: async function({ input }, req) {
  33. // const existingBanner = await Banner.findOne({ name: input.name });
  34. // if (existingBanner) {
  35. // const error = new Error('User exists already!');
  36. // throw error;
  37. // }
  38.  
  39. const banner = new Banner(input);
  40. const createdBanner = await banner.save();
  41. return { ...createdBanner._doc, id: createdBanner._id.toString() };
  42. },
  43.  
  44. updateBanner: async function({ input }, req) {
  45. const id = input.id;
  46.  
  47. let selectedBanner = await Banner.findById(id);
  48. if (!selectedBanner) {
  49. const error = new Error('User is not found!');
  50. throw error;
  51. }
  52.  
  53. selectedBanner.name = input.name;
  54. selectedBanner.imageUrl = input.imageUrl;
  55. selectedBanner.description = input.description;
  56.  
  57. if (!input.imageUrl) {
  58. const error = new Error('Image URL is required!');
  59. throw error;
  60. }
  61.  
  62. const updatedBanner = await selectedBanner.save();
  63. const banner = await Banner.findById(id).exec();
  64. return {
  65. ...updatedBanner._doc,
  66. id: banner._id.toString()
  67. };
  68. },
  69.  
  70. deleteBanner: async function(input, req) {
  71. const id = input.id;
  72.  
  73. const banner = await Banner.findById(id).exec();
  74. if (!banner) {
  75. const error = new Error('Banner is not found!');
  76. throw error;
  77. }
  78.  
  79. await Banner.findByIdAndRemove(id);
  80. return true;
  81. },
  82. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement