'use strict'; const {default: createStrapi} = require('strapi'); const {parseMultipartData, sanitizeEntity} = require('strapi-utils') /** * Read the documentation (https://strapi.io/documentation/v3.x/concepts/controllers.html#core-controllers) * 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) 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 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}) } }