234 lines
6.2 KiB
JavaScript
234 lines
6.2 KiB
JavaScript
import directoryModel from "../models/directoryModel.js";
|
|
import cloudinary from "cloudinary";
|
|
export const createDirectory = async (req, res) => {
|
|
|
|
try {
|
|
let images;
|
|
if (req.files) {
|
|
const files = req.files.image;
|
|
const myCloud = await cloudinary.uploader.upload(files.tempFilePath, {
|
|
folder: "cmp/image",
|
|
},
|
|
function (error, result) { (result, error) });
|
|
images = {
|
|
public_id: myCloud.public_id,
|
|
url: myCloud.secure_url,
|
|
}
|
|
}
|
|
const {
|
|
name,
|
|
phone,
|
|
email,
|
|
Bname,
|
|
Sname,
|
|
country,
|
|
city,
|
|
description,
|
|
category,
|
|
status,
|
|
Glocation,
|
|
LinkedinUrl,
|
|
FacebookUrl,
|
|
InstagramUrl,
|
|
} = req.body;
|
|
const data = await directoryModel.create({
|
|
|
|
name,
|
|
phone,
|
|
email,
|
|
Building_Name: Bname,
|
|
Street_Name: Sname,
|
|
country,
|
|
city,
|
|
description,
|
|
category,
|
|
status,
|
|
Glocation,
|
|
LinkedinUrl,
|
|
FacebookUrl,
|
|
InstagramUrl,
|
|
image: images,
|
|
userId: req.user.id
|
|
|
|
});
|
|
res.status(201).json({
|
|
success: true,
|
|
msg: " create Directory Successfully!!",
|
|
data,
|
|
});
|
|
} catch (error) {
|
|
console.log(error)
|
|
res.status(500).json({
|
|
success: false,
|
|
msg: "Failled to create !!"
|
|
});
|
|
}
|
|
|
|
};
|
|
|
|
//get All Product
|
|
export const getAllDirectory = async (req, res) => {
|
|
|
|
try {
|
|
const directory = await directoryModel.find();
|
|
// console.log(category)
|
|
res.status(200).json({
|
|
success: true,
|
|
msg: " fetch Successfully!!",
|
|
directory,
|
|
});
|
|
} catch (error) {
|
|
res.status(500).json({
|
|
success: false,
|
|
msg: "Failled to fetch !!"
|
|
});
|
|
}
|
|
|
|
};
|
|
//get One Directory
|
|
export const getOneDirectory = async (req, res) => {
|
|
|
|
try {
|
|
const directory = await directoryModel.findById(req.params.id);
|
|
// console.log(category)
|
|
res.status(200).json({
|
|
success: true,
|
|
msg: " fetch Successfully!!",
|
|
directory,
|
|
});
|
|
} catch (error) {
|
|
// console.log(error)
|
|
res.status(500).json({
|
|
success: false,
|
|
msg: "Failled to fetch !!"
|
|
});
|
|
}
|
|
|
|
};
|
|
|
|
export const updateDirectory = async (req, res) => {
|
|
try {
|
|
// const newDirectoryData = {
|
|
// name: req.body.name,
|
|
// // email: req.body.email,
|
|
// };
|
|
// console.log(newCategoryData)
|
|
//req.user.id,
|
|
let images;
|
|
if (req.files) {
|
|
const files = req.files.image;
|
|
const myCloud = await cloudinary.uploader.upload(files.tempFilePath, {
|
|
folder: "cmp/image",
|
|
},
|
|
function (error, result) { (result, error) });
|
|
images = {
|
|
public_id: myCloud.public_id,
|
|
url: myCloud.secure_url,
|
|
}
|
|
}
|
|
req.body.image = images;
|
|
const ModifyDirectory = await directoryModel.findByIdAndUpdate(req.params.id, req.body,
|
|
|
|
{ new: true }
|
|
// runValidators: true,
|
|
// useFindAndModify: false,
|
|
);
|
|
|
|
res.status(200).json({
|
|
success: true,
|
|
ModifyDirectory
|
|
});
|
|
|
|
} catch (error) {
|
|
console.log(error)
|
|
res.status(500).json({
|
|
success: false,
|
|
msg: "Failled to UpDate !!"
|
|
|
|
});
|
|
}
|
|
|
|
};
|
|
//delete one category
|
|
export const deleteOneDirectory = async (req, res) => {
|
|
|
|
try {
|
|
//delete image from cloudinary(if image exist)
|
|
const dir = await directoryModel.findById(req.params.id);
|
|
// console.log(categ)
|
|
if (dir.image.public_id) {
|
|
const imageId = dir.image.public_id;
|
|
await cloudinary.uploader.destroy(imageId)
|
|
}
|
|
|
|
const directory = await directoryModel.findByIdAndDelete(req.params.id)
|
|
if (!directory) {
|
|
return res.status(400).json({ message: 'Directory Not Found' });
|
|
}
|
|
await directory.remove();
|
|
res.status(200).json({
|
|
success: true,
|
|
msg: "Directory Deleted Successfully!!",
|
|
// category,
|
|
});
|
|
} catch (error) {
|
|
res.status(500).json({
|
|
success: false,
|
|
msg: "Failled to Delete !!"
|
|
});
|
|
}
|
|
|
|
};
|
|
|
|
//get One Directory from userid
|
|
export const getSelfDirectory = async (req, res) => {
|
|
|
|
try {
|
|
const directory = await directoryModel.find({ userId: req.params.id });
|
|
// console.log(category)
|
|
if (!directory) {
|
|
return res.status(400).json({ message: 'No self directory ' });
|
|
}
|
|
res.status(200).json({
|
|
success: true,
|
|
msg: " fetch Successfully!!",
|
|
directory,
|
|
});
|
|
} catch (error) {
|
|
//console.log(error)
|
|
res.status(500).json({
|
|
success: false,
|
|
msg: "Failled to fetch !!"
|
|
});
|
|
}
|
|
|
|
};
|
|
export const setStatus = async (req, res) => {
|
|
try {
|
|
const id = req.params.id;
|
|
if (!id) return res.status(400).json({ message: 'id is required' });
|
|
|
|
const directory = await directoryModel.findById(req.params.id)
|
|
|
|
if (!directory)
|
|
return res
|
|
.status(404)
|
|
.json({ message: 'Did not find directory by given id' });
|
|
if (directory.status === "true") {
|
|
directory.status = false
|
|
}
|
|
else {
|
|
directory.status = true
|
|
}
|
|
|
|
directory.save();
|
|
// console.log(directory)
|
|
res.status(200).json(directory);
|
|
} catch (error) {
|
|
console.log(error);
|
|
res.status(500).json({
|
|
message: error.message
|
|
});
|
|
}
|
|
};
|