Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const express = require('express');
- //const app = express();
- //const fileUpload = require('express-fileupload');
- //var fileupload = require('express-fileupload');
- const request = require('request');
- const config = require('config');
- const router = express.Router();
- //const auth = require('../../middleware/hotelauth');
- const { check, validationResult } = require('express-validator');
- //var fileupload=require('express-fileupload')
- // for mult
- //require('dotenv').config();
- const cloudinary = require('cloudinary').v2;
- const HotelProfile = require('../../models/hotelProfile');
- //const hoteluser = require('../../models/hotelUser');
- // registration of hotel with image url and other fields
- router.post(
- '/',
- [
- check('location', 'location is required')
- .not()
- .isEmpty(),
- check('hotelname', 'enter hotel name')
- .not()
- .isEmpty(),
- //check('noofrooms', 'enter total no of rooms')
- // .not()
- // .isEmpty(),
- check('facilities', 'Hotel facilities is needed')
- .not()
- .isEmpty(),
- check('hotelemail', 'Hotel facilities is needed')
- .not()
- .isEmpty()
- //check('imageURL', 'enter image url').isEmpty()
- ],
- async (req, res) => {
- const file = req.files.imageURL;
- let imageURL = ' ';
- await cloudinary.uploader.upload(file.tempFilePath, function(err, result) {
- imageURL = result.secure_url;
- console.log(imageURL);
- });
- // console.log('Error', err);
- // console.log('Results', result);
- // res.send(result.secure_url);
- // const { imageURL } = result.secure_url;
- const errors = validationResult(req);
- if (!errors.isEmpty()) {
- return res.status(400).json({ errors: errors.array() });
- }
- const { location, hotelname,facilities, hotelemail } = req.body;
- //const imageURL = result.secure_url;
- const profileFields = {};
- // profileFields.hoteluser = req.hoteluser.id;
- if (hotelname) profileFields.hotelname = hotelname;
- //if (hotelemail) profileFields.hotelemail = hotelemail;
- if (imageURL) profileFields.imageURL = imageURL;
- if (location) profileFields.location = location;
- // if (noofrooms) profileFields.noofrooms = noofrooms;
- if (hotelemail) profileFields.hotelemail = hotelemail;
- if (facilities) {
- profileFields.facilities = facilities
- .split(',')
- .map(facility => facility.trim());
- }
- console.log(facilities);
- // uploading of hotel information is completely in our hand
- try {
- profile = new HotelProfile(profileFields);
- await profile.save();
- return res.json(profile);
- } catch (err) {
- console.error(err.message);
- res.status(500).send('Server Error');
- }
- }
- );
- // @route GET api/hotelProfile
- // @desc Get all HotelProfiles
- // @access Public
- router.get('/', async (req, res) => {
- try {
- const profiles = await HotelProfile.find().select(
- 'hotelname location imageURL facilities noofrooms hotelemail'
- );
- // .populate('hoteluser', ['name', 'email']);
- res.json(profiles);
- } catch (err) {
- console.error(err.message);
- res.status(500).send('Server Error');
- }
- });
- //get hotel profile by id
- router.get('/:_id', async (req, res) => {
- var id = req.params._id;
- HotelProfile.findById(id).exec(function(err, results) {
- if (err) return console.error(err);
- try {
- console.log(results);
- res.json(results);
- } catch (error) {
- console.log('errror getting results');
- console.log(error);
- }
- });
- });
- router.put('/:_id/viproom',
- [check('no_of_rooms', 'no_of_rooms is required')
- .not()
- .isEmpty(),
- check('price', 'price required')
- .not()
- .isEmpty()
- ],
- async(req,res)=>{
- const errors = validationResult(req);
- if (!errors.isEmpty()) {
- return res.status(400).json({ errors: errors.array() });
- }
- var id = req.params._id;
- const {
- no_of_rooms,
- price
- } =req.body
- const newvip={
- no_of_rooms,
- price
- }
- try{
- const profile=await HotelProfile.findById(id)
- //console.log(profile)
- profile.vip_room.unshift(newvip)
- await profile.save()
- res.json(profile)
- }catch(err){
- console.error(err.message)
- res.status(500).send('Server Error')
- }
- }
- )
- router.put('/:_id/deluxe',
- [check('no_of_rooms', 'no_of_rooms is required')
- .not()
- .isEmpty(),
- check('price', 'price required')
- .not()
- .isEmpty(),
- check('imageURL', 'Please upload a picture')
- .not()
- .isEmpty(),
- check('facilities', 'Please enter deluxe room facilities')
- .not()
- .isEmpty()
- ],
- async(req,res)=>{
- const file = req.files.imageURL1;
- let imageURL1 = ' ';
- await cloudinary.uploader.upload(file.tempFilePath, function(err, result) {
- imageURL1 = result.secure_url;
- console.log(imageURL1);
- });
- const errors = validationResult(req);
- if (!errors.isEmpty()) {
- return res.status(400).json({ errors: errors.array() });
- }
- var id = req.params._id;
- const {
- no_of_rooms,
- price,
- // imageURL1
- } =req.body
- const newvip={
- no_of_rooms,
- price,
- imageURL1
- }
- try{
- const profile=await HotelProfile.findById(id)
- //console.log(profile)
- profile.vip_room.unshift(newvip)
- await profile.save()
- res.json(profile)
- }catch(err){
- console.error(err.message)
- res.status(500).send('Server Error')
- }
- }
- )
- module.exports = router;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement