From 62361abd536d83c3f0b185e8e45a74a7260b797b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20FAMIBELLE-PRONZOLA?= Date: Sun, 13 Dec 2020 13:38:33 +0100 Subject: [PATCH] Slug management : awtis & mizik to slug --- api/mizik/models/mizik.js | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/api/mizik/models/mizik.js b/api/mizik/models/mizik.js index 319ea80..a1702d4 100644 --- a/api/mizik/models/mizik.js +++ b/api/mizik/models/mizik.js @@ -1,8 +1,25 @@ -'use strict'; +'use strict' -/** - * Read the documentation (https://strapi.io/documentation/v3.x/concepts/models.html#lifecycle-hooks) - * to customize this model - */ +const slugify = require('slugify') -module.exports = {}; +const jwennAwtisEpiId = async data => { + const awtis = await strapi.query('awtis').find({_id: data}) + return awtis.map(a => a.alias).join('-') +} + +module.exports = { + lifecycles: { + beforeCreate: async data => { + if (data.titre) { + const awtis = await jwennAwtisEpiId(data.awtis) + data.slug = slugify(`${awtis}-${data.titre}`, {lower: true, remove: /[*+~.()'"!:@]/g}) + } + }, + beforeUpdate: async (params, data) => { + if (data.titre) { + const awtis = await jwennAwtisEpiId(data.awtis) + data.slug = slugify(`${awtis}-${data.titre}`, {lower: true, remove: /[*+~.()'"!:@]/g}) + } + } + } +}