547 lines
13 KiB
JavaScript
547 lines
13 KiB
JavaScript
import cloudinary from "../../Utils/cloudinary.js";
|
|
import { Panel1 } from "./Panel1Model.js";
|
|
import { Panel2 } from "./Panel2Model.js";
|
|
import { Panel3 } from "./Panel3Model.js";
|
|
import { Panel4 } from "./Panel4Model.js";
|
|
|
|
|
|
export const AddPanel1 = async (req, res) => {
|
|
try {
|
|
if (!req?.user) return res.status(400).json({ message: "please login !" });
|
|
// console.log(req?.user)
|
|
|
|
req.body.user = req.user._id;
|
|
const { content,title,displayPanel} = req.body;
|
|
let image; // To store Cloudinary image details
|
|
|
|
if (req.files && req.files.image) {
|
|
const imageFile = req.files.image;
|
|
const result = await cloudinary.v2.uploader.upload(
|
|
imageFile.tempFilePath,
|
|
{
|
|
folder: "smellica/blog",
|
|
}
|
|
);
|
|
|
|
image = {
|
|
public_id: result.public_id,
|
|
url: result.secure_url,
|
|
};
|
|
}
|
|
|
|
// Create the blog post
|
|
const panel1 = await Panel1.create({
|
|
title,
|
|
image,
|
|
content,
|
|
displayPanel,
|
|
addedBy: req.user._id,
|
|
});
|
|
|
|
|
|
|
|
res.status(201).json({
|
|
success: true,
|
|
panel1,
|
|
message: "Added successfully",
|
|
});
|
|
} catch (error) {
|
|
console.error(error)
|
|
res.status(500).json({
|
|
success: false,
|
|
message: error.message ? error.message : "Something went Wrong",
|
|
});
|
|
}
|
|
};
|
|
|
|
export const getPanel1 = async (req, res) => {
|
|
try {
|
|
// if (!req?.user) return res.status(400).json({ message: "please login !" });
|
|
// console.log(req?.user)
|
|
|
|
const panel1 = await Panel1.find();
|
|
|
|
res.status(200).json({
|
|
success: true,
|
|
panel1,
|
|
message: "Found successfully ",
|
|
});
|
|
} catch (error) {
|
|
res.status(500).json({
|
|
success: false,
|
|
message: error.message ? error.message : "Something went Wrong",
|
|
});
|
|
}
|
|
};
|
|
|
|
export const updatePanel1 = async (req, res) => {
|
|
try {
|
|
if (!req?.user) return res.status(400).json({ message: "please login !" });
|
|
|
|
// Check if the user is authenticated
|
|
if (!req.user) {
|
|
return res.status(400).json({ message: "Please login!" });
|
|
}
|
|
|
|
// Destructure request body
|
|
const { title, content,displayPanel } = req.body;
|
|
|
|
// Prepare an object for the updated testimonial data
|
|
const updatedPanel1Data = {
|
|
title,
|
|
content,
|
|
displayPanel
|
|
};
|
|
|
|
// Check if files are uploaded
|
|
if (req.files && req.files.image) {
|
|
// If image file is uploaded, upload it to cloudinary
|
|
const uploadedImage = req.files.image;
|
|
const result = await cloudinary.v2.uploader.upload(
|
|
uploadedImage.tempFilePath,
|
|
{
|
|
folder: "smellica/blog",
|
|
}
|
|
);
|
|
|
|
// Prepare the image object with public_id and url
|
|
const image = {
|
|
public_id: result.public_id,
|
|
url: result.secure_url,
|
|
};
|
|
|
|
// Assign the uploaded image to the Blog's image field
|
|
updatedPanel1Data.image = image;
|
|
}
|
|
const modifiedPanel = await Panel1.findOneAndUpdate(
|
|
{ _id: req.params.id },
|
|
{ $set: updatedPanel1Data },
|
|
{ new: true }
|
|
);
|
|
|
|
return res.status(200).json({
|
|
success: true,
|
|
ModifyBlog: modifiedPanel,
|
|
});
|
|
|
|
|
|
} catch (error) {
|
|
res.status(500).json({
|
|
success: false,
|
|
message: error.message ? error.message : "Something went Wrong",
|
|
});
|
|
}
|
|
};
|
|
|
|
|
|
|
|
export const AddPanel2 = async (req, res) => {
|
|
try {
|
|
if (!req?.user) return res.status(400).json({ message: "please login !" });
|
|
// console.log(req?.user)
|
|
|
|
req.body.user = req.user._id;
|
|
const { content,title,displayPanel} = req.body;
|
|
let image; // To store Cloudinary image details
|
|
|
|
if (req.files && req.files.image) {
|
|
const imageFile = req.files.image;
|
|
const result = await cloudinary.v2.uploader.upload(
|
|
imageFile.tempFilePath,
|
|
{
|
|
folder: "smellica/blog",
|
|
}
|
|
);
|
|
|
|
image = {
|
|
public_id: result.public_id,
|
|
url: result.secure_url,
|
|
};
|
|
}
|
|
|
|
// Create the blog post
|
|
const panel2 = await Panel2.create({
|
|
title,
|
|
image,
|
|
content,
|
|
displayPanel,
|
|
addedBy: req.user._id,
|
|
});
|
|
|
|
|
|
|
|
res.status(201).json({
|
|
success: true,
|
|
panel2,
|
|
message: "Added successfully",
|
|
});
|
|
} catch (error) {
|
|
console.error(error)
|
|
res.status(500).json({
|
|
success: false,
|
|
message: error.message ? error.message : "Something went Wrong",
|
|
});
|
|
}
|
|
};
|
|
|
|
export const getPanel2 = async (req, res) => {
|
|
try {
|
|
// if (!req?.user) return res.status(400).json({ message: "please login !" });
|
|
// console.log(req?.user)
|
|
|
|
const panel2 = await Panel2.find();
|
|
|
|
res.status(200).json({
|
|
success: true,
|
|
panel2,
|
|
message: "Found successfully ",
|
|
});
|
|
} catch (error) {
|
|
res.status(500).json({
|
|
success: false,
|
|
message: error.message ? error.message : "Something went Wrong",
|
|
});
|
|
}
|
|
};
|
|
|
|
export const updatePanel2 = async (req, res) => {
|
|
try {
|
|
if (!req?.user) return res.status(400).json({ message: "please login !" });
|
|
|
|
// Check if the user is authenticated
|
|
if (!req.user) {
|
|
return res.status(400).json({ message: "Please login!" });
|
|
}
|
|
|
|
// Destructure request body
|
|
const { title, content,displayPanel } = req.body;
|
|
|
|
// Prepare an object for the updated testimonial data
|
|
const updatedPanel2Data = {
|
|
title,
|
|
content,
|
|
displayPanel
|
|
};
|
|
|
|
// Check if files are uploaded
|
|
if (req.files && req.files.image) {
|
|
// If image file is uploaded, upload it to cloudinary
|
|
const uploadedImage = req.files.image;
|
|
const result = await cloudinary.v2.uploader.upload(
|
|
uploadedImage.tempFilePath,
|
|
{
|
|
folder: "smellica/blog",
|
|
}
|
|
);
|
|
|
|
// Prepare the image object with public_id and url
|
|
const image = {
|
|
public_id: result.public_id,
|
|
url: result.secure_url,
|
|
};
|
|
|
|
// Assign the uploaded image to the Blog's image field
|
|
updatedPanel2Data.image = image;
|
|
}
|
|
const modifiedPanel = await Panel2.findOneAndUpdate(
|
|
{ _id: req.params.id },
|
|
{ $set: updatedPanel2Data },
|
|
{ new: true }
|
|
);
|
|
|
|
return res.status(200).json({
|
|
success: true,
|
|
ModifyBlog: modifiedPanel,
|
|
});
|
|
|
|
|
|
} catch (error) {
|
|
res.status(500).json({
|
|
success: false,
|
|
message: error.message ? error.message : "Something went Wrong",
|
|
});
|
|
}
|
|
};
|
|
|
|
|
|
|
|
|
|
export const AddPanel3 = async (req, res) => {
|
|
try {
|
|
if (!req?.user) return res.status(400).json({ message: "please login !" });
|
|
// console.log(req?.user)
|
|
|
|
req.body.user = req.user._id;
|
|
const { content,title,displayPanel} = req.body;
|
|
let image; // To store Cloudinary image details
|
|
|
|
if (req.files && req.files.image) {
|
|
const imageFile = req.files.image;
|
|
const result = await cloudinary.v2.uploader.upload(
|
|
imageFile.tempFilePath,
|
|
{
|
|
folder: "smellica/blog",
|
|
}
|
|
);
|
|
|
|
image = {
|
|
public_id: result.public_id,
|
|
url: result.secure_url,
|
|
};
|
|
}
|
|
|
|
// Create the blog post
|
|
const panel3 = await Panel3.create({
|
|
title,
|
|
image,
|
|
content,
|
|
displayPanel,
|
|
addedBy: req.user._id,
|
|
});
|
|
|
|
|
|
|
|
res.status(201).json({
|
|
success: true,
|
|
panel3,
|
|
message: "Added successfully",
|
|
});
|
|
} catch (error) {
|
|
console.error(error)
|
|
res.status(500).json({
|
|
success: false,
|
|
message: error.message ? error.message : "Something went Wrong",
|
|
});
|
|
}
|
|
};
|
|
|
|
export const getPanel3 = async (req, res) => {
|
|
try {
|
|
// if (!req?.user) return res.status(400).json({ message: "please login !" });
|
|
// console.log(req?.user)
|
|
|
|
const panel3 = await Panel3.find();
|
|
|
|
res.status(200).json({
|
|
success: true,
|
|
panel3,
|
|
message: "Found successfully ",
|
|
});
|
|
} catch (error) {
|
|
res.status(500).json({
|
|
success: false,
|
|
message: error.message ? error.message : "Something went Wrong",
|
|
});
|
|
}
|
|
};
|
|
|
|
export const updatePanel3 = async (req, res) => {
|
|
try {
|
|
if (!req?.user) return res.status(400).json({ message: "please login !" });
|
|
|
|
// Check if the user is authenticated
|
|
if (!req.user) {
|
|
return res.status(400).json({ message: "Please login!" });
|
|
}
|
|
|
|
// Destructure request body
|
|
const { title, content,displayPanel } = req.body;
|
|
|
|
// Prepare an object for the updated testimonial data
|
|
const updatedPanel3Data = {
|
|
title,
|
|
content,
|
|
displayPanel
|
|
};
|
|
|
|
// Check if files are uploaded
|
|
if (req.files && req.files.image) {
|
|
// If image file is uploaded, upload it to cloudinary
|
|
const uploadedImage = req.files.image;
|
|
const result = await cloudinary.v2.uploader.upload(
|
|
uploadedImage.tempFilePath,
|
|
{
|
|
folder: "smellica/blog",
|
|
}
|
|
);
|
|
|
|
// Prepare the image object with public_id and url
|
|
const image = {
|
|
public_id: result.public_id,
|
|
url: result.secure_url,
|
|
};
|
|
|
|
// Assign the uploaded image to the Blog's image field
|
|
updatedPanel3Data.image = image;
|
|
}
|
|
const modifiedPanel = await Panel3.findOneAndUpdate(
|
|
{ _id: req.params.id },
|
|
{ $set: updatedPanel3Data },
|
|
{ new: true }
|
|
);
|
|
|
|
return res.status(200).json({
|
|
success: true,
|
|
ModifyBlog: modifiedPanel,
|
|
});
|
|
|
|
|
|
} catch (error) {
|
|
res.status(500).json({
|
|
success: false,
|
|
message: error.message ? error.message : "Something went Wrong",
|
|
});
|
|
}
|
|
};
|
|
export const AddPanel4 = async (req, res) => {
|
|
try {
|
|
if (!req?.user) return res.status(400).json({ message: "please login !" });
|
|
// console.log(req?.user)
|
|
|
|
req.body.user = req.user._id;
|
|
const { content,title,displayPanel} = req.body;
|
|
let image; // To store Cloudinary image details
|
|
|
|
if (req.files && req.files.image) {
|
|
const imageFile = req.files.image;
|
|
const result = await cloudinary.v2.uploader.upload(
|
|
imageFile.tempFilePath,
|
|
{
|
|
folder: "smellica/blog",
|
|
}
|
|
);
|
|
|
|
image = {
|
|
public_id: result.public_id,
|
|
url: result.secure_url,
|
|
};
|
|
}
|
|
|
|
// Create the blog post
|
|
const panel4 = await Panel4.create({
|
|
title,
|
|
image,
|
|
content,
|
|
displayPanel,
|
|
addedBy: req.user._id,
|
|
});
|
|
|
|
|
|
|
|
res.status(201).json({
|
|
success: true,
|
|
panel4,
|
|
message: "Added successfully",
|
|
});
|
|
} catch (error) {
|
|
console.error(error)
|
|
res.status(500).json({
|
|
success: false,
|
|
message: error.message ? error.message : "Something went Wrong",
|
|
});
|
|
}
|
|
};
|
|
|
|
export const getPanel4 = async (req, res) => {
|
|
try {
|
|
// if (!req?.user) return res.status(400).json({ message: "please login !" });
|
|
// console.log(req?.user)
|
|
|
|
const panel4 = await Panel4.find();
|
|
|
|
res.status(200).json({
|
|
success: true,
|
|
panel4,
|
|
message: "Found successfully ",
|
|
});
|
|
} catch (error) {
|
|
res.status(500).json({
|
|
success: false,
|
|
message: error.message ? error.message : "Something went Wrong",
|
|
});
|
|
}
|
|
};
|
|
|
|
export const updatePanel4 = async (req, res) => {
|
|
try {
|
|
if (!req?.user) return res.status(400).json({ message: "please login !" });
|
|
|
|
// Check if the user is authenticated
|
|
if (!req.user) {
|
|
return res.status(400).json({ message: "Please login!" });
|
|
}
|
|
|
|
// Destructure request body
|
|
const { title, content,displayPanel } = req.body;
|
|
|
|
// Prepare an object for the updated testimonial data
|
|
const updatePanel4Data = {
|
|
title,
|
|
content,
|
|
displayPanel
|
|
};
|
|
|
|
// Check if files are uploaded
|
|
if (req.files && req.files.image) {
|
|
// If image file is uploaded, upload it to cloudinary
|
|
const uploadedImage = req.files.image;
|
|
const result = await cloudinary.v2.uploader.upload(
|
|
uploadedImage.tempFilePath,
|
|
{
|
|
folder: "smellica/blog",
|
|
}
|
|
);
|
|
|
|
// Prepare the image object with public_id and url
|
|
const image = {
|
|
public_id: result.public_id,
|
|
url: result.secure_url,
|
|
};
|
|
|
|
// Assign the uploaded image to the Blog's image field
|
|
updatePanel4Data.image = image;
|
|
}
|
|
const modifiedPanel = await Panel4.findOneAndUpdate(
|
|
{ _id: req.params.id },
|
|
{ $set: updatePanel4Data },
|
|
{ new: true }
|
|
);
|
|
|
|
return res.status(200).json({
|
|
success: true,
|
|
ModifyBlog: modifiedPanel,
|
|
});
|
|
|
|
|
|
} catch (error) {
|
|
res.status(500).json({
|
|
success: false,
|
|
message: error.message ? error.message : "Something went Wrong",
|
|
});
|
|
}
|
|
};
|
|
|
|
export const deleteImageFromCloudinary = async (req, res) => {
|
|
const { public_id } = req.params;
|
|
|
|
try {
|
|
if (!public_id) {
|
|
return res.status(400).json({
|
|
success: false,
|
|
msg: "Please Provide Product ID!",
|
|
});
|
|
}
|
|
const response = await cloudinary.v2.uploader.destroy(public_id);
|
|
if (response) {
|
|
res.status(200).json({
|
|
success: true,
|
|
msg: "Deleted Successfully!!",
|
|
});
|
|
}
|
|
} catch (error) {
|
|
res.status(500).json({
|
|
success: false,
|
|
msg: error.message ? error.message : "Something went wrong!",
|
|
});
|
|
}
|
|
}; |