Skip to content
Permalink
Browse files
Add files via upload
  • Loading branch information
warangm committed Nov 4, 2022
1 parent d15d948 commit bf5151a79466fcb0d605fe5f339d5663d51d187c
Show file tree
Hide file tree
Showing 4 changed files with 274 additions and 0 deletions.
@@ -0,0 +1,47 @@
import User from '../models/User.js'
import bcrypt from "bcryptjs"
import jwt from 'jsonwebtoken';

export const register = async (req, res, next) => {

const salt = bcrypt.genSaltSync(10);
const hash = bcrypt.hashSync(req.body.password,salt)


try {
const newUser = new User({
...req.body,
password: hash
});

await newUser.save()
res.status(200).send("done")


}
catch (err) {
next(err)
}
}

export const login = async (req, res, next) => {

try {
const user = await User.findOne({ username: req.body.username });
if (!user)
return res.status(400).send("wrong username");


const isPass = await bcrypt.compare(req.body.password, user.password)
if (!isPass)
return res.status(400).send("wrong password");


const token = jwt.sign({id:user._id,isAdmin:user.isAdmin}, process.env.JWT)

const { password, isAdmin, ...otherDetails } = user._doc;
res.cookie("access_token",token,{httpOnly:true}).status(200).json({...otherDetails,isAdmin});
} catch (err) {
next(err);
}
};
@@ -0,0 +1,112 @@
import Clubs from "../models/Clubs.js";

export const createClub = async (req, res,next) => {
const club = new Clubs(req.body);
try {
const saveClub = await club.save();
res.status(200).json(saveClub);
} catch (err) {
next(err);
}
};

export const updateClub = async (req, res,next) => {
try {
const updatedClub = await Clubs.findByIdAndUpdate(
req.params.id,
{ $set: req.body },
{ new: true }
);
res.status(200).json(updatedClub);
} catch (err) {
next(err);
}
};

export const deleteClubs = async (req, res,next) => {
try {
await Clubs.findByIdAndDelete(req.params.id);
res.status(200).json("Club deleted");
} catch (err) {
next(err);
}
};

export const getClub = async (req, res,next) => {
try {
const getClub = await Clubs.findById(req.params.id);
res.status(200).json(getClub);
} catch (err) {
next(err);
}
};

export const getAllClub = async (req, res,next) => {
try {
const getAllClub = await Clubs.find();
res.status(200).json(getAllClub);
} catch (err) {
next(err);
}
};

export const countByclub = async (req, res,next) => {
try {
const getAllClub = await Clubs.find();
res.status(200).json(getAllClub);
} catch (err) {
next(err);
}
};

export const countByType = async (req, res,next) => {

const type = req.query.types.split(",");
try {
const list = await Promise.all(type.map(data =>
{
return Clubs.countDocuments({type:data})
}))
res.status(200).json(list);
} catch (err) {
next(err);
}
};


// Featured clubs

export const featuredClub = async (req, res, next) => {
try {
const getAllClub = await Clubs.find(res.query).limit(res.query);
res.status(200).json(getAllClub);
} catch (err) {
next(err);
}
};


export const searchQ = async (req, res, next) => {
try {
const getC = await Clubs.find(req.query)
res.status(200).json(getC);
} catch (err) {
next(err);
}
};



export const registerClub = async (req, res, next) => {
try {
const getC = await Clubs.findByIdAndUpdate(
req.params.id,
{ $set: req.body },
{ new: true }
);
res.status(200).json(getC);
} catch (err) {
next(err);
}
};

@@ -0,0 +1,63 @@
import Events from "../models/Events.js";
import Club from "../models/Clubs.js"

export const createEvent = async (req, res, next) => {
const clubId = req.params.clubID;
const newEvent = new Events(req.body);

try {
const savedEvents = await newEvent.save();

try {
await Club.findByIdAndUpdate(clubId, {
$push: { events: savedEvents._id },
});
} catch (err) {
next(err);
}

res.status(200).json(savedEvents);
} catch (err) {
next(err);
}
};

export const updateEvent = async (req, res, next) => {
try {
const updatedEvent = await Events.findByIdAndUpdate(
req.params.id,
{ $set: req.body },
{ new: true }
);
res.status(200).json(updatedEvent);
} catch (err) {
next(err);
}
};

export const deleteEvents = async (req, res, next) => {
try {
await Events.findByIdAndDelete(req.params.id);
res.status(200).json("Event deleted");
} catch (err) {
next(err);
}
};

export const getEvent = async (req, res,next) => {
try {
const getEvent = await Events.findById(req.params.id);
res.status(200).json(getEvent);
} catch (err) {
next(err);
}
};

export const getAllEvents = async (req, res, next) => {
try {
const getAllEvents = await Events.find();
res.status(200).json(getAllEvents);
} catch (err) {
next(err);
}
};
@@ -0,0 +1,52 @@
import Users from "../models/User.js";



export const updateUser = async (req, res) => {
try {
const updatedUser = await Users.findByIdAndUpdate(
req.params.id,
{ $set: req.body },
{ new: true }
);
res.status(200).json(updatedUser);
} catch (err) {
next(err);
}
};

export const deleteUser = async (req, res) => {
try {
await Users.findByIdAndDelete(req.params.id);
res.status(200).json("User deleted");
} catch (err) {
next(err);
}
};

export const getUser = async (req, res) => {
try {
const getUser = await Users.findById(req.params.id);
res.status(200).json(getUser);
} catch (err) {
next(err);
}
};

export const getAllUser = async (req, res) => {
try {
const getAllUser = await Users.find();
res.status(200).json(getAllUser);
} catch (err) {
next(err);
}
};

export const countAllUser = async (req, res,next) => {
try {
const count = await Users.countDocuments()
res.status(200).json(count);
} catch (err) {
next(err);
}
};

0 comments on commit bf5151a

Please sign in to comment.