У меня есть код из предыдущей версии Strapi, который работает, и бета-версия контроллеров сильно отличается. Добавлен шаблон multipart / santification, и что-то изменилось. Не понимаю, как интегрировать мой объект заказа и плату за полосу.
Вот примерный образец:
module.exports = {
async create(ctx) {
// New Boilerplate added with Strapi Beta - how to integrate this with custom stuff below?
let entity;
if (ctx.is('multipart')) {
const { data, files } = parseMultipartData(ctx);
entity = await service.create(data, { files });
} else {
entity = await service.create(ctx.request.body);
}
return sanitizeEntity(entity, { model });
}
}
Вот мой пользовательский код (имя контроллера Order.js)
const { address, amount, products, postalCode, token, city } = ctx.request.body;
// Send charge to Stripe
const charge = await stripe.charges.create({
amount: amount * 100,
currency: 'usd',
description: `Order ${new Date(Date.now())} - User ${ctx.state.user.id}`,
source: token
});
// Create order in database
const order = await strapi.services.order.add({
user: ctx.state.user.id,
address,
amount,
products,
postalCode,
city
});
Похоже, я бы добавил свой код ко второй части оператора if, поскольку он не является составным, а не пользовательским, если "entity" - это реальное имя переменной, в которой нуждается Strapi или переменная-заполнитель, в которую я переименую "order "Код отлично работает в Alpha, но прочтите документы Strapi, и нет никаких объяснений того, как использовать эту структуру с переменными" entity ", {model} и" data ".