Fix post when no user, add user admin

This commit is contained in:
Cédric FAMIBELLE-PRONZOLA
2022-05-08 03:31:15 +04:00
parent bb0bfdb89d
commit 3523b759d4
+26 -7
View File
@@ -14,6 +14,10 @@ const jwennAwtisEpiId = async data => {
}
const jwennUserEpiId = async userId => {
if (!userId) {
return null
}
const user = await strapi.query('user', 'users-permissions').findOne({id: userId})
return user
}
@@ -36,18 +40,14 @@ const translateTeks = async teksFR => {
module.exports = {
lifecycles: {
beforeCreate: async data => {
const user = await jwennUserEpiId(data.user.id)
if(!user) {
throw strapi.errors.badRequest('Not found')
}
const user = await jwennUserEpiId(data?.user?.id)
if (data.tit && !data.forceSlug) {
const awtis = await jwennAwtisEpiId(data.awtis)
data.slug = slugify(`${awtis}-${data.tit}`, {lower: true, remove: /[*#+~.()'"!:@]/g})
}
if (user.canAutoTranslate && data.tradiksyonOtomatik && data.tradiksyon.francais && (!data.tradiksyon.english || !data.tradiksyon.espagnol || !data.tradiksyon.deutsch || !data.tradiksyon.italiano)) {
if (user && user.canAutoTranslate && data.tradiksyonOtomatik && data.tradiksyon.francais && (!data.tradiksyon.english || !data.tradiksyon.espagnol || !data.tradiksyon.deutsch || !data.tradiksyon.italiano)) {
const traslate = await translateTeks(data.tradiksyon.francais)
data.tradiksyon = traslate
}
@@ -77,6 +77,16 @@ module.exports = {
)
}
if (previousData.created_by) {
strapi.services.email.send(
process.env.SMTP_FROM,
previousData.created_by.email,
`Publication de "${previousData.tit}"`,
`Le titre que vous avez soumis, "${previousData.tit}" a été publié sur le site.
Vous pouvez le trouver à l'adresse ${process.env.WEBSITE_URL}/paroles/${previousData.slug}`
)
}
await axios.post(`${MESSAGE_URL}&text=${message}`)
}
}
@@ -86,10 +96,19 @@ module.exports = {
strapi.services.email.send(
process.env.SMTP_FROM,
process.env.SMTP_SEND_TO,
`Nouveau texte de ${data.user.username} : "${data.tit}"`,
`Nouveau texte de ${data.user.username} : "${data.tit}" (site)`,
`Le titre "${data.tit}" a été soumis depuis le site.`
)
}
if (data.created_by) {
strapi.services.email.send(
process.env.SMTP_FROM,
process.env.SMTP_SEND_TO,
`Nouveau texte de ${data.created_by.username} : "${data.tit}" (dashboard)`,
`Le titre "${data.tit}" a été soumis depuis le dashboard.`
)
}
}
}
}