Skip to content
Snippets Groups Projects
eventControllers.js 2.44 KiB
Newer Older
import mongoose from 'mongoose'; 
import { EventSchema } from '../models/eventModel';
import { CardDetailSchema } from '../models/cardDetailModel';
import { PurchaseSchema } from '../models/purchaseModel';

// Creating event object
const Event = mongoose.model('Event', EventSchema);

// Creating card details object
const CardDetail = mongoose.model('CardDetail', CardDetailSchema);

// Creating purchase details object 
const Purchase = mongoose.model('Purchase', PurchaseSchema);

Fin Wallis's avatar
Fin Wallis committed
exports.addNewEvent = async (req, res) => {
    console.log("req body", req.body)
    console.log("server request body:", req.body)
    console.log("server request file:", req.file)
    console.log("server request user:", req.user)
    // Destructuring sign up post request body into seperate variables for ref
    const {eventTitle, organiser, venueName, venueAddress, eventGenre, startDate, endDate, startTime, endTime, ticketPrice, ticketQty, eventDescription  } = req.body;
  
    try {
  
      const event = await Event.findOne({ eventTitle });
      if (event) {
        return res.status(400).json({
          errorMessage: "We're already hosting this event. Choose a new title :)",
        });
      }
  
      // Creating new instance of user from model
      const newEvent = new Event();
  
      // Assigning database fields to req fields
      newEvent.eventTitle = eventTitle;
      newEvent.organiser = organiser;
      newEvent.venueName = venueName;
      newEvent.venueAddress = venueAddress;
      newEvent.eventGenre = eventGenre;
      newEvent.startDate = startDate;
      newEvent.endDate = endDate;
      newEvent.startTime = startTime;
      newEvent.endTime = endTime; 
      newEvent.ticketPrice = ticketPrice; 
      newEvent.ticketQty = ticketQty; 
      newEvent.eventDescription = eventDescription;
  
      // Saving user model to database
      await newEvent.save();
  
      res.json({
        successMessage: "Successfully created your event",
      });
    } catch (err) {
      console.log("addEvent controller error", err)
      res.status(500).json({
          errorMessage: "Server error"
      })
    }

    // let newEvent = new Event(req.body);
    // newEvent.save((err, Event) => {
    //     if (err) {
    //         res.send(err);
    //     }
    //     res.json(Event)
    // }); 
};

export const getEvents = (req, res) => {
    Event.find({}, (err, Event) => {
        if (err) {
            res.send(err);
        }
        res.json(Event)
    }); 
};