diff --git a/resources/Businesses/BusinessController.js b/resources/Businesses/BusinessController.js
index e585c9d..ee74168 100644
--- a/resources/Businesses/BusinessController.js
+++ b/resources/Businesses/BusinessController.js
@@ -4,6 +4,8 @@
import sendEmail from "../../Utils/sendEmail.js"
import cloudinary from "../../Utils/cloudinary.js";
import { Business } from './BusinessModel.js'
+import password from 'secure-random-password'
+
import fs from "fs";
@@ -12,7 +14,8 @@ export const createBusiness = async (req, res) => {
try {
if (!req?.user) return res.status(400).json({ message: "please login !" });
- const { business, purpose, country, language, state, city, address_Line_1, address_Line_2, pincode } =
+ const { business, purpose, country, language, state, city, address_Line_1, address_Line_2, pincode,
+ business_name, email, contact_Number, contact_Person_Name, url, short_url } =
req.body;
//validation
switch (true) {
@@ -34,16 +37,82 @@ export const createBusiness = async (req, res) => {
return res.status(500).send({ error: "city is Required" });
case !country:
return res.status(500).send({ error: "country is Required" });
+ case !business_name:
+ return res.status(500).send({ error: "business_name is Required" });
+ case !email:
+ return res.status(500).send({ error: "email is Required" });
+ case !contact_Number:
+ return res.status(500).send({ error: "contact_Number is Required" });
+ case !contact_Person_Name:
+ return res.status(500).send({ error: "contact_Person_Name is Required" });
+ case !url:
+ return res.status(500).send({ error: " Business url is Required" });
+ case !short_url:
+ return res.status(500).send({ error: "short_url is Required" });
}
+
+ let businesse = await Business.findOne({ email });
+ if (businesse) {
+ return res
+ .status(400)
+ .json({ success: false, message: " THis Email already exists Please try another Email!" });
+ }
+ const businessWithURL = await Business.findOne({
+ short_url: req.body?.short_url,
+ });
+ if (businessWithURL?._id) {
+ if (req?.files?.image?.tempFilePath)
+ fs.unlinkSync(image_file?.tempFilePath);
+ return res.status(400).json({ message: "business URL is not available!" });
+ }
+ if (req?.files?.image?.tempFilePath) {
+ const result = await cloudinary.v2.uploader.upload(
+ image_file?.tempFilePath,
+ {
+ folder: "Bolo/business_Image",
+ }
+ );
+ const image = { url: result?.secure_url, public_id: result?.public_id };
+ req.body.banner = image;
+ fs.unlinkSync(image_file?.tempFilePath);
+ }
+ //generate password
+ const passwords = password.randomPassword({
+ length: 10,
+ characters: [
+ { characters: password.upper, exactly: 1 },
+ { characters: password.symbols, exactly: 1 },
+ password.lower,
+ password.digits]
+ })
+
+ req.body.password = passwords;
+ // req.user.role === 'admin' ? req.body.verify = true : req.body.verify = false
+
+
+
+
req.body.added_by = req.user._id
const businesses = await Business.create(req.body);
+ await sendEmail({
+
+ to: `${req.body.email}`, // Change to your recipient
+
+ from: `${process.env.SEND_EMAIL_FROM}`, // Change to your verified sender
+
+ subject: `Bolo.Ai business Created`,
+ html: `your Business Url is:${req.body.url}
your login email is: ${req.body.email}
and password is: ${passwords}