【发布时间】:2018-11-18 06:20:02
【问题描述】:
我正在查看 Wolkenkit API ...但不是 100% 清楚如何知道哪些命令需要聚合 ID,哪些不需要。
据我所知,客户端 api 提供了类似的功能
app.accounting.invoice().issue({
amount: 1000
});
这对于创建一个新的 invoice 来说很好,但应该不可能运行以下旨在更新现有内容的内容
app.accounting.invoice().update({
amount: 10
});
我假设这个检查应该进入命令函数,但是我该怎么写呢?
const commands = {
update (invoice, command, mark) {
const canInvoiceBeUpdated = // ...
if (!canInvoiceBeUpdated) {
return mark.asRejected('...');
}
// ... update invoice
mark.asDone();
}
};
canInvoiceBeUpdated 检查的内容是什么?
【问题讨论】:
标签: node.js domain-driven-design cqrs event-sourcing wolkenkit