Поскольку вы упомянули об этом, почему бы не добавить логический тип is_draft
к вашей модели strapi и использовать его в качестве фильтра shadow crud
при запросе конечной точки rest api или graphql ?
Если вы хотите, чтобы strapi не возвращал черновые записи, вы также можете переопределить функцию поиска контроллера .
// api/article/controllers/article.js
const { sanitizeEntity } = require('strapi-utils');
module.exports = {
/**
* Retrieve records.
*
* @return {Array}
*/
async find(ctx) {
let entities;
ctx.query.is_draft = typeof ctx.query.is_draft === 'boolean' ? ctx.query.is_draft || false; // return published by default, or the explicitly specified is_draft filter.
if (ctx.query._q) {
entities = await strapi.services.article.search(ctx.query);
} else {
entities = await strapi.services.article.find(ctx.query);
}
return entities.map(entity => sanitizeEntity(entity, { model: strapi.models.article }));
},
};