Commit 38ef085d by jaymehta

.

1 parent 51407922
......@@ -58,6 +58,15 @@ module.exports = createCoreController("api::end-user.end-user", () => ({
},
}
);
const sendEmailres = await strapi
.service("api::vendor.vendor")
.sendMail({
email: ctx.request.body.data.email,
oneTimePassword: oneTimePassword,
name: ctx.request.body.data.email,
});
console.log("sendEmailres", sendEmailres);
const date = new Date();
// TODO: Code to send OTP on email
// TODO: Code to send OTP on SMS
......
......@@ -73,6 +73,13 @@ module.exports = createCoreController("api::vendor.vendor", () => ({
},
}
);
const sendEmailres = await strapi.service("api::vendor.vendor").sendMail({
email: ctx.request.body.data.email,
oneTimePassword: oneTimePassword,
name: ctx.request.body.data.email,
});
console.log("sendEmailres", sendEmailres);
const date = new Date();
// TODO: Code to send OTP on email
// TODO: Code to send OTP on SMS
......@@ -84,25 +91,32 @@ module.exports = createCoreController("api::vendor.vendor", () => ({
} else {
console.log("but is here");
let final;
let str = ctx.request.body.data.name
let str = ctx.request.body.data.name;
// console.log()
let newStr = str.replace(/ /g,'').toUpperCase().replace(/[^a-zA-Z ]/g, "")
let newStr = str
.replace(/ /g, "")
.toUpperCase()
.replace(/[^a-zA-Z ]/g, "");
if (newStr.length >= 4) {
final = newStr.slice(0, 4)+String(Math.floor(Math.random() * 90000) + 10000);
final =
newStr.slice(0, 4) +
String(Math.floor(Math.random() * 90000) + 10000);
// console.log(final+String(Math.floor(Math.random() * 90000) + 10000))
} else {1
final = newStr.slice(0, 4)+String(Math.floor(Math.random() * 90000) + 10000)
} else {
1;
final =
newStr.slice(0, 4) +
String(Math.floor(Math.random() * 90000) + 10000);
// console.log(final+String(Math.floor(Math.random() * 90000) + 10000))
}
ctx.request.body.data.user = currentUser.id;
const response = await strapi.entityService.create("api::vendor.vendor", {
data: {
...ctx.request.body.data,
phone: ctx.request.body.data.mobileNo,
publishedAt: date,
uniqueVendorId: final
uniqueVendorId: final,
},
});
console.log("response", response);
......@@ -190,19 +204,19 @@ module.exports = createCoreController("api::vendor.vendor", () => ({
name: "Zango",
link: "https://mailgen.js/",
// Optional product logo
logo: 'https://zangoaws.s3.amazonaws.com/main_logo_e32eeef63e.svg?updated_at=2024-06-26T11:05:28.634Z'
logo: "https://zangoaws.s3.amazonaws.com/main_logo_e32eeef63e.svg?updated_at=2024-06-26T11:05:28.634Z",
},
});
var email = {
body: {
name: "Jay Mehta",
name: ctx.request.body.name,
intro: "Welcome to Zango! We're very excited to have you on board.",
action: {
instructions: "To get started with signup, please confirm the OTP:",
button: {
color: "red", // Optional action button color
text: "8291",
text: ctx.request.body.oneTimePassword,
// link: "https://mailgen.js/confirm?s=d9729feb74992cc3482b350163a1a010",
},
},
......@@ -239,16 +253,13 @@ module.exports = createCoreController("api::vendor.vendor", () => ({
}
main().catch(console.error);
ctx.send({ok: true, message: "Email sent"})
ctx.send({ ok: true, message: "Email sent" });
},
async addVendorId(ctx) {
try {
// console.log(ctx.request.body)
} catch (error) {
}
} catch (error) {}
},
async removedirectory(ctx) {
......
......@@ -262,42 +262,67 @@ module.exports = createCoreService(
}
};
},
async sendMail() {
async sendMail(data) {
// Configure mailgen by setting a theme and your product info
var mailGenerator = new Mailgen({
theme: "default",
product: {
// Appears in header & footer of e-mails
name: "Mailgen",
name: "Zango",
link: "https://mailgen.js/",
// Optional product logo
// logo: 'https://mailgen.js/img/logo.png'
logo: "https://zangoaws.s3.amazonaws.com/main_logo_e32eeef63e.svg?updated_at=2024-06-26T11:05:28.634Z",
},
});
var email = {
body: {
name: "John Appleseed",
intro: "Welcome to Mailgen! We're very excited to have you on board.",
name: data.name,
intro: "Welcome to Zango! We're very excited to have you on board.",
action: {
instructions: "To get started with Mailgen, please click here:",
instructions: "To get started with signup, please confirm the OTP:",
button: {
color: "#22BC66", // Optional action button color
text: "Confirm your account",
link: "https://mailgen.js/confirm?s=d9729feb74992cc3482b350163a1a010",
color: "red", // Optional action button color
text: data.oneTimePassword,
// link: "https://mailgen.js/confirm?s=d9729feb74992cc3482b350163a1a010",
},
},
outro:
"Need help, or have questions? Just reply to this email, we'd love to help.",
"Need help, or have questions? Please mail on graheja@zangoexperiences.com.",
},
};
// Generate an HTML email with the provided contents
var emailBody = mailGenerator.generate(email);
console.log("email", emailBody);
// Generate the plaintext version of the e-mail (for clients that do not support HTML)
var emailText = mailGenerator.generatePlaintext(email);
// console.log("email", emailBody);
var transport = nodemailer.createTransport({
host: process.env.SMTP_HOST,
port: process.env.SMTP_PORT,
auth: {
user: process.env.SMTP_USERNAME,
pass: process.env.SMTP_PASSWORD,
},
});
async function main() {
// send mail with defined transport object
const info = await transport.sendMail({
from: `<no-reply@zangoexperiences.com>`, // sender address
to: data.email, // list of receivers
subject: "OTP Verification", // Subject line
// text: "Hello world?", // plain text body
html: emailBody, // html body
});
console.log("Message sent: %s", info.messageId);
// Message sent: <d786aa62-4e0a-070a-47ed-0b0666549519@ethereal.email>
}
main().catch(console.error);
// ctx.send({ ok: true, message: "Email sent" });
return { ok: true, message: "Email sent" };
},
})
);
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!