diff --git a/api/awtis/models/awtis.js b/api/awtis/models/awtis.js index 319ea80..cb39942 100644 --- a/api/awtis/models/awtis.js +++ b/api/awtis/models/awtis.js @@ -5,4 +5,31 @@ * to customize this model */ -module.exports = {}; +const slugify = require('slugify') + +const jwennTeksEpiId = async data => { + const teks = await strapi.query('teks').find({id_in: data}) + return teks +} + +module.exports = { + lifecycles: { + afterUpdate: async (params, data) => { + const {values} = data + if (values.teks && values.teks.length >= 1) { + const teks = await jwennTeksEpiId(values.teks) + Promise.all(teks.map(async t => { + const {_id, tit, slug, awtis} = t + const alias = awtis.map(a => a.alias).join('-') + const slugUpdated = slugify(`${alias}-${tit}`, {lower: true, remove: /[*#+~.()'"!:@]/g}) + if (slug !== slugUpdated) { + await strapi.query('teks').update( + {_id}, + {slug: slugUpdated} + ) + } + })) + } + } + } +}