Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Jay Mehta
/
zango-strapi
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Registry
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
Commit 38ef085d
authored
2024-07-15 19:30:35 +0530
by
jaymehta
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
.
1 parent
51407922
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
73 additions
and
28 deletions
src/api/end-user/controllers/end-user.js
src/api/vendor/controllers/vendor.js
src/api/vendor/services/vendor.js
src/api/end-user/controllers/end-user.js
View file @
38ef085
...
...
@@ -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
...
...
src/api/vendor/controllers/vendor.js
View file @
38ef085
...
...
@@ -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
)
{
...
...
src/api/vendor/services/vendor.js
View file @
38ef085
...
...
@@ -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"
};
},
})
);
Write
Preview
Styling with
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment