From c55f5cde80d5f207dfa5e4e9ad1db7318f6065fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20FAMIBELLE-PRONZOLA?= Date: Mon, 24 May 2021 02:41:55 +0200 Subject: [PATCH] Update awtis if exists --- api/awtis/controllers/awtis.js | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) 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})