按照任务要求审查这个 AI 生成的发票更新处理器,并找出四类不同的问题。
为已认证主体更新发票总额,只允许操作该主体所在租户,并返回更新后的发票。
JavaScript
async function updateInvoice(req, db, audit) {
const principal = req.body.principal;
const invoiceId = req.params.id;
const totalCents = Number(req.body.totalCents);
const lookup = await db.query(
'SELECT id, total_cents FROM invoices WHERE id = $1 AND tenant_id = $2',
[invoiceId, principal.tenantId],
);
if (lookup.rows.length === 0) return { status: 404 };
await db.query(
'UPDATE invoices SET total_cents = $1 WHERE id = $2',
[totalCents, invoiceId],
);
audit.write({ actor: principal.id, invoiceId });
return { status: 200, body: lookup.rows[0] };
}
生成代码仅作示例,不代表任何特定模型