From 3523b759d49271ddea7c26ff641d1cf6ea887e3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20FAMIBELLE-PRONZOLA?= Date: Sun, 8 May 2022 03:31:15 +0400 Subject: [PATCH] Fix post when no user, add user admin --- api/teks/models/teks.js | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/api/teks/models/teks.js b/api/teks/models/teks.js index e032581..1b78a10 100644 --- a/api/teks/models/teks.js +++ b/api/teks/models/teks.js @@ -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.` + ) + } } } }