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}) + } + } + } +}