@chevre/domain
Version:
Chevre Domain Library for Node.js
43 lines (42 loc) • 1.88 kB
JavaScript
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.confirm = confirm;
/**
* 取引確定
*/
function confirm(params) {
return (repos) => __awaiter(this, void 0, void 0, function* () {
let stateReserveArgs;
let stateReserveResult;
let updReserveArgs;
let updReserveResult;
// 未本予約であれば実行(COA本予約は一度成功すると成功できない)
// リトライ可能な前提でつくる必要があるので、要注意
// すでに本予約済みかどうか確認
stateReserveArgs = {
theaterCode: params.object.theaterCode,
reserveNum: params.object.tmpReserveNum,
telNum: params.object.telNum
};
stateReserveResult = yield repos.reserveService.stateReserve(stateReserveArgs);
if (stateReserveResult === null) {
updReserveArgs = params.object;
updReserveResult = yield repos.reserveService.updReserve(updReserveArgs);
}
return {
stateReserveArgs,
stateReserveResult,
updReserveArgs,
updReserveResult
};
});
}
;