Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2019
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.54 KB | None | 0 0
  1. const express = require('express');
  2. //const app = express();
  3. //const fileUpload = require('express-fileupload');
  4. //var fileupload = require('express-fileupload');
  5. const request = require('request');
  6. const config = require('config');
  7. const router = express.Router();
  8. //const auth = require('../../middleware/hotelauth');
  9. const { check, validationResult } = require('express-validator');
  10.  
  11. //var fileupload=require('express-fileupload')
  12.  
  13. // for mult
  14. //require('dotenv').config();
  15. const cloudinary = require('cloudinary').v2;
  16.  
  17. const HotelProfile = require('../../models/hotelProfile');
  18. //const hoteluser = require('../../models/hotelUser');
  19.  
  20. // registration of hotel with image url and other fields
  21.  
  22. router.post(
  23. '/',
  24.  
  25. [
  26. check('location', 'location is required')
  27. .not()
  28. .isEmpty(),
  29. check('hotelname', 'enter hotel name')
  30. .not()
  31. .isEmpty(),
  32. //check('noofrooms', 'enter total no of rooms')
  33. // .not()
  34. // .isEmpty(),
  35. check('facilities', 'Hotel facilities is needed')
  36. .not()
  37. .isEmpty(),
  38. check('hotelemail', 'Hotel facilities is needed')
  39. .not()
  40. .isEmpty()
  41.  
  42. //check('imageURL', 'enter image url').isEmpty()
  43. ],
  44.  
  45. async (req, res) => {
  46. const file = req.files.imageURL;
  47. let imageURL = ' ';
  48.  
  49. await cloudinary.uploader.upload(file.tempFilePath, function(err, result) {
  50. imageURL = result.secure_url;
  51. console.log(imageURL);
  52. });
  53. // console.log('Error', err);
  54. // console.log('Results', result);
  55. // res.send(result.secure_url);
  56. // const { imageURL } = result.secure_url;
  57.  
  58. const errors = validationResult(req);
  59.  
  60. if (!errors.isEmpty()) {
  61. return res.status(400).json({ errors: errors.array() });
  62. }
  63.  
  64. const { location, hotelname,facilities, hotelemail } = req.body;
  65. //const imageURL = result.secure_url;
  66. const profileFields = {};
  67. // profileFields.hoteluser = req.hoteluser.id;
  68. if (hotelname) profileFields.hotelname = hotelname;
  69. //if (hotelemail) profileFields.hotelemail = hotelemail;
  70. if (imageURL) profileFields.imageURL = imageURL;
  71. if (location) profileFields.location = location;
  72. // if (noofrooms) profileFields.noofrooms = noofrooms;
  73. if (hotelemail) profileFields.hotelemail = hotelemail;
  74. if (facilities) {
  75. profileFields.facilities = facilities
  76. .split(',')
  77. .map(facility => facility.trim());
  78. }
  79. console.log(facilities);
  80. // uploading of hotel information is completely in our hand
  81. try {
  82. profile = new HotelProfile(profileFields);
  83. await profile.save();
  84. return res.json(profile);
  85. } catch (err) {
  86. console.error(err.message);
  87. res.status(500).send('Server Error');
  88. }
  89. }
  90. );
  91.  
  92.  
  93.  
  94.  
  95. // @route GET api/hotelProfile
  96. // @desc Get all HotelProfiles
  97. // @access Public
  98. router.get('/', async (req, res) => {
  99. try {
  100. const profiles = await HotelProfile.find().select(
  101. 'hotelname location imageURL facilities noofrooms hotelemail'
  102. );
  103. // .populate('hoteluser', ['name', 'email']);
  104. res.json(profiles);
  105. } catch (err) {
  106. console.error(err.message);
  107. res.status(500).send('Server Error');
  108. }
  109. });
  110.  
  111. //get hotel profile by id
  112. router.get('/:_id', async (req, res) => {
  113. var id = req.params._id;
  114. HotelProfile.findById(id).exec(function(err, results) {
  115. if (err) return console.error(err);
  116. try {
  117. console.log(results);
  118. res.json(results);
  119. } catch (error) {
  120. console.log('errror getting results');
  121. console.log(error);
  122. }
  123. });
  124. });
  125.  
  126. router.put('/:_id/viproom',
  127. [check('no_of_rooms', 'no_of_rooms is required')
  128. .not()
  129. .isEmpty(),
  130. check('price', 'price required')
  131. .not()
  132. .isEmpty()
  133. ],
  134. async(req,res)=>{
  135. const errors = validationResult(req);
  136.  
  137.  
  138. if (!errors.isEmpty()) {
  139. return res.status(400).json({ errors: errors.array() });
  140. }
  141. var id = req.params._id;
  142. const {
  143. no_of_rooms,
  144. price
  145. } =req.body
  146.  
  147. const newvip={
  148. no_of_rooms,
  149. price
  150. }
  151. try{
  152. const profile=await HotelProfile.findById(id)
  153. //console.log(profile)
  154. profile.vip_room.unshift(newvip)
  155. await profile.save()
  156. res.json(profile)
  157. }catch(err){
  158. console.error(err.message)
  159. res.status(500).send('Server Error')
  160. }
  161.  
  162. }
  163. )
  164.  
  165.  
  166. router.put('/:_id/deluxe',
  167. [check('no_of_rooms', 'no_of_rooms is required')
  168. .not()
  169. .isEmpty(),
  170. check('price', 'price required')
  171. .not()
  172. .isEmpty(),
  173. check('imageURL', 'Please upload a picture')
  174. .not()
  175. .isEmpty(),
  176. check('facilities', 'Please enter deluxe room facilities')
  177. .not()
  178. .isEmpty()
  179. ],
  180.  
  181. async(req,res)=>{
  182. const file = req.files.imageURL1;
  183. let imageURL1 = ' ';
  184.  
  185. await cloudinary.uploader.upload(file.tempFilePath, function(err, result) {
  186. imageURL1 = result.secure_url;
  187. console.log(imageURL1);
  188. });
  189. const errors = validationResult(req);
  190.  
  191.  
  192. if (!errors.isEmpty()) {
  193. return res.status(400).json({ errors: errors.array() });
  194. }
  195. var id = req.params._id;
  196. const {
  197. no_of_rooms,
  198. price,
  199. // imageURL1
  200. } =req.body
  201.  
  202. const newvip={
  203. no_of_rooms,
  204. price,
  205. imageURL1
  206. }
  207. try{
  208. const profile=await HotelProfile.findById(id)
  209. //console.log(profile)
  210. profile.vip_room.unshift(newvip)
  211. await profile.save()
  212. res.json(profile)
  213. }catch(err){
  214. console.error(err.message)
  215. res.status(500).send('Server Error')
  216. }
  217.  
  218. }
  219. )
  220. module.exports = router;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement