diff --git a/api/awtis/controllers/awtis.js b/api/awtis/controllers/awtis.js index 17bdd12..87ab7c1 100644 --- a/api/awtis/controllers/awtis.js +++ b/api/awtis/controllers/awtis.js @@ -8,17 +8,32 @@ const {parseMultipartData, sanitizeEntity} = require('strapi-utils') * to customize this controller */ +const searchAwtis = async alias => { + const awtis = await strapi.query('awtis').findOne({alias: alias.trim()}) + return awtis +} + module.exports = { async create(ctx) { let entity if (ctx.is('multipart')) { let {data} = parseMultipartData(ctx) - data.published_at = null - entity = await createStrapi.services.awtis.create(data) + const awtis = await searchAwtis(data.alias) + if (awtis) { + entity = await strapi.services.awtis.update({_id: awtis._id}, awtis) + } else { + data.published_at = null + entity = await createStrapi.services.awtis.create(data) + } } else { let {body} = ctx.request - body.published_at = null - entity = await strapi.services.awtis.create(body) + const awtis = await searchAwtis(body.alias) + if (awtis) { + entity = await strapi.services.awtis.update({_id: awtis._id}, awtis) + } else { + body.published_at = null + entity = await strapi.services.awtis.create(body) + } } return sanitizeEntity(entity, {model: strapi.models.awtis})