Transaction

Perform complex database transactions

Transaction

{
  "type": "javascript",
  "id": "order-new",
  "file": "order-new.js",
  "public": true,
  "params": []
}
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
})