@1amageek/tradable
Version:
Cloud Firestore model framework for TypeScript - Google
28 lines • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.OrderManager = void 0;
const FirebaseFirestore = require("@google-cloud/firestore");
class OrderManager {
constructor(user, order) {
this._User = user;
this._Order = order;
}
update(order, updateParams, transactionResult, transaction) {
const orderValue = order.value();
orderValue.updatedAt = FirebaseFirestore.FieldValue.serverTimestamp();
if (Object.keys(transactionResult).length > 0) {
orderValue["transactionResults"] = FirebaseFirestore.FieldValue.arrayUnion(transactionResult);
}
for (const key in updateParams) {
orderValue[key] = updateParams[key];
}
const orderReference = new this._Order(order.id, {}).reference;
const seller = new this._User(order.selledBy, {});
const purchaser = new this._User(order.purchasedBy, {});
transaction.set(orderReference, orderValue, { merge: true });
transaction.set(seller.receivedOrders.reference.doc(order.id), orderValue, { merge: true });
transaction.set(purchaser.orders.reference.doc(order.id), orderValue, { merge: true });
}
}
exports.OrderManager = OrderManager;
//# sourceMappingURL=orderManager.js.map