event Register

This commit is contained in:
pawan-dot 2022-07-20 10:59:15 +05:30
parent 4057f8b6a0
commit 00bf9f3d57
10 changed files with 216 additions and 13 deletions

View File

@ -1,5 +1,6 @@
import Events from "../models/EventsModel.js"
import cloudinary from "cloudinary";
import { ResisterUserModel } from "../models/EventsModel.js"
// import cloudinary from "../Utils/cloudinary.js"
//import { v2 as cloudinary } from 'cloudinary'
@ -22,7 +23,8 @@ export const createEvent = async (req, res) => {
url: myCloud.secure_url,
},
location,
description
description,
addedBy: req.user.id
});
res.status(201).json({
@ -38,7 +40,7 @@ export const createEvent = async (req, res) => {
}
};
//get All Product
//get All Event
export const getAllEvent = async (req, res) => {
try {
@ -57,7 +59,7 @@ export const getAllEvent = async (req, res) => {
}
};
//get One Product
//get One Event
export const getOneEvent = async (req, res) => {
try {
@ -132,7 +134,7 @@ export const updateEvent = async (req, res) => {
};
//delete one category
//delete one Event
export const deleteEvent = async (req, res) => {
try {
@ -161,3 +163,76 @@ export const deleteEvent = async (req, res) => {
}
};
//EventRegisterUser
export const RegisterUserInEvent = async (req, res) => {
try {
const totalUserRegister = await ResisterUserModel.findOne({
userId: req.user.id,
eventId: req.params.id,
})
if (totalUserRegister) {
return res.status(500).json({
success: false,
msg: "You Have Already Registered for this Event"
});
}
const Event = await ResisterUserModel.create({
eventId: req.params.id,
userId: req.user.id,
})
res.status(201).json({
success: true,
msg: " Register Successfully!!",
Event,
});
} catch (error) {
// console.log(error)
res.status(500).json({
success: false,
msg: "Failled to Register !!"
});
}
}
//getAllRegisterUser
export const getAllRegisterUser = async (req, res) => {
try {
const totalUserRegister = await ResisterUserModel.find({ eventId: req.params.id }).count()
const user = await ResisterUserModel.find({ eventId: req.params.id }).populate('userId')
res.status(200).json({
success: true,
msg: " get All user Register in Event Successfully!!",
totalUserRegister,
user,
});
} catch (error) {
console.log(error)
res.status(500).json({
success: false,
msg: "Failled to fetch !!"
});
}
}
//getSingleRegisterUser
export const getSingleRegisterUser = async (req, res) => {
try {
const user = await ResisterUserModel.findById(req.params.id).populate('userId').
res.status(200).json({
success: true,
msg: " get Successfully!!",
user,
});
} catch (error) {
// console.log(error)
res.status(500).json({
success: false,
msg: "Failled to fetch !!"
});
}
}

View File

@ -1,5 +1,6 @@
import RequirementModel from "../models/RequirementModel.js"
import cloudinary from "cloudinary";
import { RequirementCommentModel } from "../models/RequirementModel.js";
// import cloudinary from "../Utils/cloudinary.js"
//import { v2 as cloudinary } from 'cloudinary'
@ -230,4 +231,65 @@ export const Approved = async (req, res) => {
});
}
};
};
//comment
export const AddComment = async (req, res) => {
try {
const comment = await RequirementCommentModel.create({
requirementId: req.params.id,
userId: req.user._id,
comment: req.body.comment
})
res.status(201).json({
success: true,
msg: " Create Successfully!!",
comment,
});
} catch (error) {
// console.log(error)
res.status(500).json({
success: false,
msg: "Failled to create !!"
});
}
}
//get All Comment
export const getAllComment = async (req, res) => {
try {
const comment = await RequirementCommentModel.find()
res.status(200).json({
success: true,
msg: " get All Comment Successfully!!",
comment,
});
} catch (error) {
// console.log(error)
res.status(500).json({
success: false,
msg: "Failled to fetch !!"
});
}
}
//get Comment
export const getSingleComment = async (req, res) => {
try {
const comment = await RequirementCommentModel.findById(req.params.id).populate('userId').
res.status(200).json({
success: true,
msg: " get Comment Successfully!!",
comment,
});
} catch (error) {
// console.log(error)
res.status(500).json({
success: false,
msg: "Failled to fetch !!"
});
}
}

View File

@ -24,6 +24,11 @@ const eventSchema = new mongoose.Schema(
type: String,
required: true
},
addedBy: {
type: mongoose.Schema.ObjectId,
ref: "User",
required: true,
},
addedOn: {
type: Date,
default: Date.now
@ -32,4 +37,23 @@ const eventSchema = new mongoose.Schema(
}, { timestamps: true }
);
const eventModel = mongoose.model("event", eventSchema);
export default eventModel
export default eventModel
const ResisterUserSchema = new mongoose.Schema(
{
eventId: {
type: String,
required: true
},
userId: {
type: mongoose.Schema.ObjectId,
ref: "User",
required: true,
},
}, { timestamps: true }
);
const ResisterUserModel = mongoose.model("RegisterUserInEvent", ResisterUserSchema);
export { ResisterUserModel }

View File

@ -41,4 +41,30 @@ const RequirementSchema = new mongoose.Schema(
}, { timestamps: true }
);
const RequirementModel = mongoose.model("Requirement", RequirementSchema);
export default RequirementModel;
export default RequirementModel;
const RequirementCommentSchema = new mongoose.Schema(
{
requirementId: {
type: String,
required: true
},
comment: {
type: String,
required: true
},
userId: {
type: mongoose.Schema.ObjectId,
ref: "User",
required: true,
},
}, { timestamps: true }
);
const RequirementCommentModel = mongoose.model("RequirementComment", RequirementCommentSchema);
export { RequirementCommentModel };

View File

@ -4,13 +4,22 @@ import {
getAllEvent,
updateEvent,
deleteEvent,
getOneEvent
getOneEvent,
RegisterUserInEvent,
getAllRegisterUser,
getSingleRegisterUser
} from "../controllers/EventsController.js"
const router = express.Router();
router.route("/event/create/").post(createEvent)
import { isAuthenticatedUser, authorizeRoles } from "../middlewares/auth.js"
router.route("/event/create/").post(isAuthenticatedUser, createEvent)
router.route("/event/getAll/").get(getAllEvent)
router.route("/event/getOne/:id").get(getOneEvent)
router.route("/event/update/:id").put(updateEvent);
router.route("/event/delete/:id").delete(deleteEvent);
router.route("/event/update/:id").put(isAuthenticatedUser, updateEvent);
router.route("/event/delete/:id").delete(isAuthenticatedUser, deleteEvent);
//
//user
router.route("/event/user/register/:id").post(isAuthenticatedUser, RegisterUserInEvent)
router.route("/event/admin/registerUser/getAll/:id").get(isAuthenticatedUser, getAllRegisterUser)
router.route("/event/getOne/registerUser/:id").get(isAuthenticatedUser, getSingleRegisterUser)
export default router;

View File

@ -5,7 +5,10 @@ import {
getOneRequirement,
updateRequirement,
deleteOneRequirement,
Approved
Approved,
AddComment,
getAllComment,
getSingleComment
} from "../controllers/RequirementController.js"
import { isAuthenticatedUser, authorizeRoles } from "../middlewares/auth.js"
const router = express.Router();
@ -15,7 +18,11 @@ router.route("/requirement/getAll/").get(isAuthenticatedUser, getAllRequirement)
router.route("/requirement/getOne/:id").get(isAuthenticatedUser, getOneRequirement)
router.route("/requirement/update/:id").put(isAuthenticatedUser, updateRequirement);
router.route("/requirement/delete/:id").delete(isAuthenticatedUser, deleteOneRequirement);
//user
router.route("/requirement/comment/create/:id").post(isAuthenticatedUser, AddComment);
//admin
router.route("/admin/requirement/approve/:id").get(isAuthenticatedUser, authorizeRoles("admin"), Approved);
router.route("/admin/requirement/comment/getOne/:id").get(isAuthenticatedUser, getSingleComment);
router.route("/admin/requirement/comment/getAll").get(isAuthenticatedUser, getAllComment);
export default router;

BIN
tmp/tmp-1-1657887651230 Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

BIN
tmp/tmp-1-1658144371498 Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

BIN
tmp/tmp-1-1658214653697 Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

BIN
tmp/tmp-1-1658231137073 Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB