Transaction
Perform complex database transactions
Transaction
Create file ./queries/order-new-js.json
{
"type": "javascript",
"id": "order-new",
"file": "order-new.js",
"public": true,
"params": []
}
Create file ./js/order-new.js
let orderId = uuid(),
currentTransaction = transaction("sample-database-connection"),
orderData = null;
try {
orderData = currentTransaction.run("orders-insert", {
"id": orderId,
"amount": totalPrice,
"currentUserId": 1,
}).Data
currentTransaction.run("order-item-insert", {
"orderId": orderData.id,
"productId": 1,
"quantity": 1
})
currentTransaction.run("order-item-insert", {
"orderId": orderData.id,
"productId": 2,
"quantity": 22
})
currentTransaction.commit()
} catch (e) {
currentTransaction.rollback()
throw {"error": e}
}
setStatusCode(200)
setResult({
orderId: orderData.id
})