请在发布前审查这段生成的 Elysia 订单路由。
为已认证主体所属账户创建一份数量为正整数的订单,并在失败重试时保持订单与事件发布一致。
TypeScript
import { Elysia, t } from 'elysia'
import { db, events } from './services'
export const app = new Elysia().post(
'/accounts/:accountId/orders',
async ({ params, body, headers, status }) => {
const actorId = headers['x-user-id']
const account = await db.accounts.find(params.accountId)
const product = await db.products.find(body.sku)
if (!product || !account) {
return status(404, { error: 'Not found' })
}
const order = {
id: crypto.randomUUID(),
accountId: params.accountId,
actorId, sku: body.sku, quantity: body.quantity
}
await db.orders.insert(order)
await events.publish('order.created', order)
return status(201, order)
},
{ body: t.Object({
sku: t.String({ minLength: 1 }),
quantity: t.Number()
}) }
)
生成代码仅作示例,不代表任何特定模型