From 2387833e7b0144a82a0e80e7c9c8044839784f3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20FAMIBELLE-PRONZOLA?= Date: Sun, 27 Mar 2022 02:13:58 +0400 Subject: [PATCH] Translate from french teks --- api/teks/models/teks.js | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/api/teks/models/teks.js b/api/teks/models/teks.js index fa058e5..3d5900b 100644 --- a/api/teks/models/teks.js +++ b/api/teks/models/teks.js @@ -13,15 +13,53 @@ const jwennAwtisEpiId = async data => { return awtis.map(a => a.alias).join('-') } +const jwennUserEpiId = async userId => { + const user = await strapi.query('user', 'users-permissions').findOne({id: userId}) + return user +} + +const translateTeks = async teksFR => { + const english = await strapi.services.translator.translate('FR', 'EN', teksFR) + const espagnol = await strapi.services.translator.translate('FR', 'ES', teksFR) + const deutsch = await strapi.services.translator.translate('FR', 'DE', teksFR) + const italiano = await strapi.services.translator.translate('FR', 'IT', teksFR) + + return { + francais: teksFR, + english, + espagnol, + deutsch, + italiano + } +} + module.exports = { lifecycles: { beforeCreate: async data => { + const user = await jwennUserEpiId(data.user.id) + + if(!user) { + throw strapi.errors.badRequest('Not found') + } + 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)) { + const traslate = await translateTeks(data.tradiksyon.francais) + data.tradiksyon = traslate + } + }, beforeUpdate: async (params, data) => { + const user = await jwennUserEpiId(data.user.id) + + if(!user) { + throw strapi.errors.badRequest('Not found') + } + if (data.tit && !data.forceSlug) { const awtis = await jwennAwtisEpiId(data.awtis) data.slug = slugify(`${awtis}-${data.tit}`, {lower: true, remove: /[*#+~.()'"!:@]/g})