@chevre/domain 21.2.0-alpha.9 → 21.2.0-alpha.91
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/example/src/chevre/aggregation/aggregateSystem.ts +58 -31
- package/example/src/chevre/createManyEventsIfNotExist.ts +4 -1
- package/example/src/chevre/deleteTasksByName.ts +10 -2
- package/example/src/chevre/importEventsFromCOA.ts +3 -4
- package/example/src/chevre/migrateOrderAdditionalProperties.ts +85 -0
- package/example/src/chevre/processReserve.ts +2 -1
- package/example/src/chevre/saveTasks.ts +13 -10
- package/example/src/chevre/searchAbortedTasks.ts +36 -0
- package/example/src/chevre/searchReservationNumbersByOrderNumbers.ts +37 -1
- package/example/src/chevre/searchSellers.ts +33 -0
- package/example/src/chevre/searchSendEmailActions.ts +44 -0
- package/example/src/chevre/task/executeTasks.ts +26 -0
- package/example/src/chevre/transaction/findCreditCard.ts +1 -1
- package/example/src/chevre/transaction/orderMembershipService.ts +1 -1
- package/example/src/chevre/transaction/processReturnOrder.ts +40 -0
- package/example/src/chevre/transaction/startExportTasks.ts +20 -0
- package/example/src/chevre/updateTransaction.ts +1 -1
- package/example/src/playOnMoment.ts +24 -0
- package/lib/chevre/credentials.d.ts +1 -0
- package/lib/chevre/credentials.js +2 -1
- package/lib/chevre/eventEmitter/assetTransaction.d.ts +21 -0
- package/lib/chevre/eventEmitter/assetTransaction.js +25 -0
- package/lib/chevre/eventEmitter/task.d.ts +18 -0
- package/lib/chevre/eventEmitter/task.js +25 -0
- package/lib/chevre/eventEmitter/transaction.d.ts +21 -0
- package/lib/chevre/eventEmitter/transaction.js +25 -0
- package/lib/chevre/eventEmitter.d.ts +4 -0
- package/lib/chevre/eventEmitter.js +9 -0
- package/lib/chevre/index.d.ts +3 -2
- package/lib/chevre/index.js +5 -3
- package/lib/chevre/repo/accountTransaction.d.ts +3 -11
- package/lib/chevre/repo/accountTransaction.js +1 -54
- package/lib/chevre/repo/action.d.ts +29 -1
- package/lib/chevre/repo/action.js +32 -25
- package/lib/chevre/repo/assetTransaction.d.ts +25 -9
- package/lib/chevre/repo/assetTransaction.js +241 -80
- package/lib/chevre/repo/comment.d.ts +4 -1
- package/lib/chevre/repo/comment.js +20 -5
- package/lib/chevre/repo/confirmationNumber.d.ts +0 -1
- package/lib/chevre/repo/confirmationNumber.js +3 -15
- package/lib/chevre/repo/creativeWork.d.ts +1 -3
- package/lib/chevre/repo/emailMessage.d.ts +1 -27
- package/lib/chevre/repo/event.d.ts +5 -1
- package/lib/chevre/repo/merchantReturnPolicy.d.ts +1 -3
- package/lib/chevre/repo/mongoose/schemas/account.d.ts +5 -2
- package/lib/chevre/repo/mongoose/schemas/account.js +1 -0
- package/lib/chevre/repo/mongoose/schemas/accountTitle.d.ts +30 -3
- package/lib/chevre/repo/mongoose/schemas/accountTitle.js +1 -0
- package/lib/chevre/repo/mongoose/schemas/accountTransaction.d.ts +32 -3
- package/lib/chevre/repo/mongoose/schemas/accountTransaction.js +2 -1
- package/lib/chevre/repo/mongoose/schemas/accountingReport.d.ts +14 -3
- package/lib/chevre/repo/mongoose/schemas/accountingReport.js +1 -0
- package/lib/chevre/repo/mongoose/schemas/action.d.ts +44 -3
- package/lib/chevre/repo/mongoose/schemas/action.js +2 -1
- package/lib/chevre/repo/mongoose/schemas/additionalProperty.d.ts +18 -3
- package/lib/chevre/repo/mongoose/schemas/additionalProperty.js +1 -0
- package/lib/chevre/repo/mongoose/schemas/aggregation.d.ts +5 -2
- package/lib/chevre/repo/mongoose/schemas/aggregation.js +1 -0
- package/lib/chevre/repo/mongoose/schemas/assetTransaction.d.ts +45 -3
- package/lib/chevre/repo/mongoose/schemas/assetTransaction.js +27 -19
- package/lib/chevre/repo/mongoose/schemas/authorization.d.ts +20 -3
- package/lib/chevre/repo/mongoose/schemas/authorization.js +2 -1
- package/lib/chevre/repo/mongoose/schemas/categoryCode.d.ts +26 -3
- package/lib/chevre/repo/mongoose/schemas/categoryCode.js +1 -0
- package/lib/chevre/repo/mongoose/schemas/comments.d.ts +28 -3
- package/lib/chevre/repo/mongoose/schemas/comments.js +2 -1
- package/lib/chevre/repo/mongoose/schemas/creativeWork.d.ts +44 -3
- package/lib/chevre/repo/mongoose/schemas/creativeWork.js +1 -0
- package/lib/chevre/repo/mongoose/schemas/customer.d.ts +26 -3
- package/lib/chevre/repo/mongoose/schemas/customer.js +1 -0
- package/lib/chevre/repo/mongoose/schemas/emailMessages.d.ts +22 -3
- package/lib/chevre/repo/mongoose/schemas/emailMessages.js +1 -0
- package/lib/chevre/repo/mongoose/schemas/event.d.ts +72 -3
- package/lib/chevre/repo/mongoose/schemas/event.js +1 -0
- package/lib/chevre/repo/mongoose/schemas/member.d.ts +14 -3
- package/lib/chevre/repo/mongoose/schemas/member.js +1 -0
- package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.d.ts +22 -3
- package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.js +1 -0
- package/lib/chevre/repo/mongoose/schemas/offer.d.ts +66 -3
- package/lib/chevre/repo/mongoose/schemas/offer.js +1 -0
- package/lib/chevre/repo/mongoose/schemas/offerCatalog.d.ts +28 -3
- package/lib/chevre/repo/mongoose/schemas/offerCatalog.js +1 -0
- package/lib/chevre/repo/mongoose/schemas/offerItemCondition.d.ts +74 -0
- package/lib/chevre/repo/mongoose/schemas/offerItemCondition.js +45 -0
- package/lib/chevre/repo/mongoose/schemas/order.d.ts +52 -3
- package/lib/chevre/repo/mongoose/schemas/order.js +2 -1
- package/lib/chevre/repo/mongoose/schemas/ownershipInfo.d.ts +26 -3
- package/lib/chevre/repo/mongoose/schemas/ownershipInfo.js +2 -1
- package/lib/chevre/repo/mongoose/schemas/place.d.ts +50 -3
- package/lib/chevre/repo/mongoose/schemas/place.js +1 -0
- package/lib/chevre/repo/mongoose/schemas/priceSpecification.d.ts +30 -3
- package/lib/chevre/repo/mongoose/schemas/priceSpecification.js +1 -0
- package/lib/chevre/repo/mongoose/schemas/product.d.ts +32 -3
- package/lib/chevre/repo/mongoose/schemas/product.js +1 -0
- package/lib/chevre/repo/mongoose/schemas/project.d.ts +24 -3
- package/lib/chevre/repo/mongoose/schemas/project.js +1 -0
- package/lib/chevre/repo/mongoose/schemas/reservation.d.ts +63 -4
- package/lib/chevre/repo/mongoose/schemas/reservation.js +2 -1
- package/lib/chevre/repo/mongoose/schemas/role.d.ts +12 -3
- package/lib/chevre/repo/mongoose/schemas/role.js +1 -0
- package/lib/chevre/repo/mongoose/schemas/seller.d.ts +32 -3
- package/lib/chevre/repo/mongoose/schemas/seller.js +7 -0
- package/lib/chevre/repo/mongoose/schemas/serviceOutput.d.ts +12 -3
- package/lib/chevre/repo/mongoose/schemas/serviceOutput.js +2 -1
- package/lib/chevre/repo/mongoose/schemas/task.d.ts +31 -3
- package/lib/chevre/repo/mongoose/schemas/task.js +3 -1
- package/lib/chevre/repo/mongoose/schemas/telemetry.d.ts +22 -3
- package/lib/chevre/repo/mongoose/schemas/telemetry.js +1 -0
- package/lib/chevre/repo/mongoose/schemas/transaction.d.ts +41 -3
- package/lib/chevre/repo/mongoose/schemas/transaction.js +3 -1
- package/lib/chevre/repo/mongoose/schemas/trip.d.ts +12 -3
- package/lib/chevre/repo/mongoose/schemas/trip.js +1 -0
- package/lib/chevre/repo/offerItemCondition.d.ts +22 -0
- package/lib/chevre/repo/offerItemCondition.js +120 -0
- package/lib/chevre/repo/order.d.ts +55 -3
- package/lib/chevre/repo/order.js +56 -5
- package/lib/chevre/repo/reservation.d.ts +8 -4
- package/lib/chevre/repo/reservation.js +12 -42
- package/lib/chevre/repo/seller.js +19 -19
- package/lib/chevre/repo/task.d.ts +42 -2
- package/lib/chevre/repo/task.js +90 -9
- package/lib/chevre/repo/transaction.d.ts +23 -3
- package/lib/chevre/repo/transaction.js +174 -54
- package/lib/chevre/repository.d.ts +5 -2
- package/lib/chevre/repository.js +8 -4
- package/lib/chevre/service/aggregation/system.d.ts +67 -22
- package/lib/chevre/service/aggregation/system.js +101 -89
- package/lib/chevre/service/assetTransaction/cancelReservation.js +1 -28
- package/lib/chevre/service/assetTransaction/moneyTransfer.js +1 -23
- package/lib/chevre/service/assetTransaction/pay/potentialActions.js +17 -1
- package/lib/chevre/service/assetTransaction/pay.js +10 -25
- package/lib/chevre/service/assetTransaction/refund.js +1 -23
- package/lib/chevre/service/assetTransaction/registerService.js +1 -25
- package/lib/chevre/service/assetTransaction/reserve/factory.d.ts +7 -2
- package/lib/chevre/service/assetTransaction/reserve/factory.js +33 -22
- package/lib/chevre/service/assetTransaction/reserve.d.ts +7 -1
- package/lib/chevre/service/assetTransaction/reserve.js +40 -41
- package/lib/chevre/service/assetTransaction.d.ts +6 -2
- package/lib/chevre/service/assetTransaction.js +9 -5
- package/lib/chevre/service/event.js +3 -1
- package/lib/chevre/service/notification/factory.js +2 -2
- package/lib/chevre/service/notification.d.ts +3 -1
- package/lib/chevre/service/notification.js +41 -7
- package/lib/chevre/service/offer/event/authorize.d.ts +1 -0
- package/lib/chevre/service/offer/event/authorize.js +5 -2
- package/lib/chevre/service/offer/event/factory.d.ts +2 -0
- package/lib/chevre/service/offer/event/factory.js +2 -2
- package/lib/chevre/service/offer/event/voidTransaction.d.ts +2 -0
- package/lib/chevre/service/offer/event/voidTransaction.js +17 -1
- package/lib/chevre/service/offer.js +1 -1
- package/lib/chevre/service/order/deleteOrder.d.ts +3 -1
- package/lib/chevre/service/order/deleteOrder.js +8 -8
- package/lib/chevre/service/order/onOrderStatusChanged/factory.d.ts +4 -2
- package/lib/chevre/service/order/onOrderStatusChanged/factory.js +41 -81
- package/lib/chevre/service/order/onOrderStatusChanged.js +1 -3
- package/lib/chevre/service/order/onOrderUpdated.d.ts +15 -0
- package/lib/chevre/service/order/onOrderUpdated.js +22 -0
- package/lib/chevre/service/order/placeOrder.d.ts +1 -0
- package/lib/chevre/service/order/placeOrder.js +41 -24
- package/lib/chevre/service/order/returnOrder.d.ts +1 -0
- package/lib/chevre/service/order/returnOrder.js +7 -12
- package/lib/chevre/service/order/sendOrder.d.ts +1 -0
- package/lib/chevre/service/order/sendOrder.js +7 -10
- package/lib/chevre/service/order.d.ts +2 -1
- package/lib/chevre/service/order.js +3 -1
- package/lib/chevre/service/payment/any/onPaid.js +1 -1
- package/lib/chevre/service/payment/any/onRefund.js +1 -1
- package/lib/chevre/service/payment/any.js +74 -16
- package/lib/chevre/service/payment/movieTicket/validation.d.ts +3 -2
- package/lib/chevre/service/payment/movieTicket/validation.js +12 -25
- package/lib/chevre/service/payment/movieTicket.d.ts +1 -1
- package/lib/chevre/service/payment/movieTicket.js +4 -3
- package/lib/chevre/service/product.js +1 -5
- package/lib/chevre/service/report/telemetry.d.ts +0 -11
- package/lib/chevre/service/report/telemetry.js +21 -24
- package/lib/chevre/service/reserve/cancelReservation.d.ts +4 -2
- package/lib/chevre/service/reserve/cancelReservation.js +2 -4
- package/lib/chevre/service/reserve/checkInReservation.d.ts +9 -4
- package/lib/chevre/service/reserve/checkInReservation.js +77 -3
- package/lib/chevre/service/reserve/confirmReservation.d.ts +7 -4
- package/lib/chevre/service/reserve/confirmReservation.js +121 -58
- package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.d.ts +0 -3
- package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.js +20 -20
- package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.js +2 -3
- package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +2 -31
- package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +2 -3
- package/lib/chevre/service/reserve/useReservation.d.ts +7 -3
- package/lib/chevre/service/reserve/useReservation.js +61 -71
- package/lib/chevre/service/reserve/verifyToken4reservation.d.ts +15 -0
- package/lib/chevre/service/reserve/verifyToken4reservation.js +56 -0
- package/lib/chevre/service/reserve.d.ts +3 -2
- package/lib/chevre/service/reserve.js +4 -2
- package/lib/chevre/service/task/confirmRegisterServiceTransaction.js +1 -1
- package/lib/chevre/service/task/deleteTransaction.js +10 -8
- package/lib/chevre/service/task/importOffersFromCOA.js +4 -0
- package/lib/chevre/service/task/onAuthorizationCreated.d.ts +7 -0
- package/lib/chevre/service/task/onAuthorizationCreated.js +108 -0
- package/lib/chevre/service/task/placeOrder.js +1 -1
- package/lib/chevre/service/task/reserve.js +10 -7
- package/lib/chevre/service/task/returnOrder.js +1 -1
- package/lib/chevre/service/task/returnPayTransaction.js +2 -12
- package/lib/chevre/service/task/sendOrder.js +1 -1
- package/lib/chevre/service/task/useReservation.d.ts +7 -0
- package/lib/chevre/service/task/useReservation.js +36 -0
- package/lib/chevre/service/task/voidReserveTransaction.js +3 -1
- package/lib/chevre/service/task.d.ts +9 -0
- package/lib/chevre/service/task.js +43 -4
- package/lib/chevre/service/transaction/deleteTransaction.d.ts +21 -0
- package/lib/chevre/service/transaction/deleteTransaction.js +232 -0
- package/lib/chevre/service/transaction/moneyTransfer/exportTasks/factory.js +11 -1
- package/lib/chevre/service/transaction/moneyTransfer/factory.js +3 -1
- package/lib/chevre/service/transaction/moneyTransfer/potentialActions.d.ts +1 -0
- package/lib/chevre/service/transaction/moneyTransfer/potentialActions.js +1 -1
- package/lib/chevre/service/transaction/moneyTransfer.js +9 -12
- package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +42 -30
- package/lib/chevre/service/transaction/placeOrder.js +1 -5
- package/lib/chevre/service/transaction/placeOrderInProgress/factory.js +1 -1
- package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.d.ts +1 -0
- package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.js +1 -1
- package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.d.ts +1 -0
- package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.js +1 -1
- package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions.d.ts +1 -0
- package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.d.ts +3 -0
- package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.js +7 -3
- package/lib/chevre/service/transaction/placeOrderInProgress/result.d.ts +1 -0
- package/lib/chevre/service/transaction/placeOrderInProgress/result.js +2 -2
- package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.d.ts +1 -1
- package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.js +2 -2
- package/lib/chevre/service/transaction/placeOrderInProgress/validation.d.ts +2 -1
- package/lib/chevre/service/transaction/placeOrderInProgress/validation.js +23 -17
- package/lib/chevre/service/transaction/placeOrderInProgress.d.ts +0 -3
- package/lib/chevre/service/transaction/placeOrderInProgress.js +22 -11
- package/lib/chevre/service/transaction/returnOrder/exportTasks/factory.js +10 -1
- package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +25 -17
- package/lib/chevre/service/transaction/returnOrder.d.ts +4 -0
- package/lib/chevre/service/transaction/returnOrder.js +225 -35
- package/lib/chevre/service/transaction.d.ts +8 -13
- package/lib/chevre/service/transaction.js +12 -145
- package/lib/chevre/settings.d.ts +4 -1
- package/lib/chevre/settings.js +15 -5
- package/package.json +5 -5
- package/example/src/chevre/migrateMoneyTransferPendingTransactionIdentifier.ts +0 -96
- package/example/src/chevre/migrateMovieAdditionalProperties.ts +0 -98
- package/lib/chevre/service/task/deleteAssetTransaction.d.ts +0 -12
- package/lib/chevre/service/task/deleteAssetTransaction.js +0 -65
- package/lib/chevre/service/task/deleteOrder.d.ts +0 -6
- package/lib/chevre/service/task/deleteOrder.js +0 -35
|
@@ -9,18 +9,43 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
12
|
+
exports.checkInReservation = void 0;
|
|
13
|
+
const createDebug = require("debug");
|
|
14
|
+
const factory = require("../../factory");
|
|
15
|
+
const confirmReservation_1 = require("./confirmReservation");
|
|
13
16
|
const onReservationCheckedIn_1 = require("./potentialActions/onReservationCheckedIn");
|
|
14
|
-
|
|
17
|
+
const debug = createDebug('chevre-domain:service:reserve:checkInReservation');
|
|
18
|
+
function checkInReservation(params) {
|
|
15
19
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
16
20
|
const now = new Date();
|
|
21
|
+
// confirmReservationが間に合わない可能性を考慮する(2023-06-01~)
|
|
22
|
+
debug('reserveIfNotYet?', params.reserveIfNotYet, 'ids:', params.object.ids, 'reservationNumbers:', params.object.reservationNumbers);
|
|
23
|
+
if (params.reserveIfNotYet === true) {
|
|
24
|
+
yield reserveIfNotYet(params)(repos);
|
|
25
|
+
}
|
|
17
26
|
// 発券処理(Array対応)
|
|
18
27
|
let checkedInReservationIds;
|
|
19
28
|
if (Array.isArray(params.object.ids) && params.object.ids.length > 0) {
|
|
29
|
+
const existingReservationCount = yield repos.reservation.count({
|
|
30
|
+
id: { $in: params.object.ids },
|
|
31
|
+
typeOf: factory.reservationType.EventReservation
|
|
32
|
+
});
|
|
33
|
+
if (existingReservationCount !== params.object.ids.length) {
|
|
34
|
+
throw new factory.errors.NotFound(factory.reservationType.EventReservation, `Some reservations dot not exist. ${params.object.ids.join(',')}`);
|
|
35
|
+
}
|
|
20
36
|
yield repos.reservation.checkInIfNot({ id: { $in: params.object.ids }, now });
|
|
21
37
|
checkedInReservationIds = params.object.ids;
|
|
22
38
|
}
|
|
23
39
|
if (Array.isArray(params.object.reservationNumbers) && params.object.reservationNumbers.length > 0) {
|
|
40
|
+
for (const reservationNumber of params.object.reservationNumbers) {
|
|
41
|
+
const existingReservationCount = yield repos.reservation.count({
|
|
42
|
+
reservationNumber: { $eq: reservationNumber },
|
|
43
|
+
typeOf: factory.reservationType.EventReservation
|
|
44
|
+
});
|
|
45
|
+
if (existingReservationCount === 0) {
|
|
46
|
+
throw new factory.errors.NotFound(factory.reservationType.EventReservation, `Some reservations dot not exist. ${params.object.reservationNumbers.join(',')}`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
24
49
|
yield repos.reservation.checkInIfNot({ reservationNumber: { $in: params.object.reservationNumbers }, now });
|
|
25
50
|
// 予約番号リストを予約IDリストに変換
|
|
26
51
|
checkedInReservationIds = yield repos.reservation.searchIdsByReservationNumber({
|
|
@@ -37,4 +62,53 @@ function checkInRerservation(params) {
|
|
|
37
62
|
})({ task: repos.task });
|
|
38
63
|
});
|
|
39
64
|
}
|
|
40
|
-
exports.
|
|
65
|
+
exports.checkInReservation = checkInReservation;
|
|
66
|
+
function reserveIfNotYet(params) {
|
|
67
|
+
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
68
|
+
let reserveTransactions = [];
|
|
69
|
+
if (Array.isArray(params.object.ids) && params.object.ids.length > 0) {
|
|
70
|
+
reserveTransactions = yield repos.assetTransaction.search({
|
|
71
|
+
typeOf: factory.assetTransactionType.Reserve,
|
|
72
|
+
object: {
|
|
73
|
+
reservations: { id: { $in: params.object.ids } }
|
|
74
|
+
},
|
|
75
|
+
statuses: [factory.transactionStatusType.Confirmed]
|
|
76
|
+
}, ['_id', 'transactionNumber', 'object', 'project', 'typeOf']);
|
|
77
|
+
debug(reserveTransactions.length, 'reserveTransactions found in reserveIfNotYet. ids:', params.object.ids);
|
|
78
|
+
}
|
|
79
|
+
if (Array.isArray(params.object.reservationNumbers) && params.object.reservationNumbers.length > 0) {
|
|
80
|
+
reserveTransactions = yield repos.assetTransaction.search({
|
|
81
|
+
typeOf: factory.assetTransactionType.Reserve,
|
|
82
|
+
object: {
|
|
83
|
+
reservationNumber: { $in: params.object.reservationNumbers }
|
|
84
|
+
},
|
|
85
|
+
statuses: [factory.transactionStatusType.Confirmed]
|
|
86
|
+
}, ['_id', 'transactionNumber', 'object', 'project', 'typeOf']);
|
|
87
|
+
debug(reserveTransactions.length, 'reserveTransactions found in reserveIfNotYet. reservationNumbers:', params.object.reservationNumbers);
|
|
88
|
+
}
|
|
89
|
+
yield Promise.all(reserveTransactions.map((reserveTransaction) => __awaiter(this, void 0, void 0, function* () {
|
|
90
|
+
var _a;
|
|
91
|
+
if (typeof ((_a = reserveTransaction.object.reservationFor) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string') {
|
|
92
|
+
yield (0, confirmReservation_1.confirmReservation)({
|
|
93
|
+
actionAttributesList: [{
|
|
94
|
+
project: reserveTransaction.project,
|
|
95
|
+
typeOf: factory.actionType.ReserveAction,
|
|
96
|
+
object: {
|
|
97
|
+
typeOf: reserveTransaction.object.typeOf,
|
|
98
|
+
reservationNumber: reserveTransaction.object.reservationNumber,
|
|
99
|
+
reservationStatus: (typeof reserveTransaction.object.reservationStatus === 'string')
|
|
100
|
+
? reserveTransaction.object.reservationStatus
|
|
101
|
+
: factory.reservationStatusType.ReservationPending,
|
|
102
|
+
reservationFor: reserveTransaction.object.reservationFor
|
|
103
|
+
},
|
|
104
|
+
agent: reserveTransaction.project,
|
|
105
|
+
purpose: { typeOf: reserveTransaction.typeOf, id: reserveTransaction.id }
|
|
106
|
+
}],
|
|
107
|
+
useOnReservationConfirmed: false,
|
|
108
|
+
byTask: false
|
|
109
|
+
})(repos);
|
|
110
|
+
debug('confirmReservation processed in reserveIfNotYet. reservationNumber:', reserveTransaction.object.reservationNumber);
|
|
111
|
+
}
|
|
112
|
+
})));
|
|
113
|
+
});
|
|
114
|
+
}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 予約サービス
|
|
3
|
-
*/
|
|
4
1
|
import * as factory from '../../factory';
|
|
5
2
|
import { MongoRepository as ActionRepo } from '../../repo/action';
|
|
3
|
+
import { MongoRepository as AssetTrasactionRepo } from '../../repo/assetTransaction';
|
|
6
4
|
import { MongoRepository as ReservationRepo } from '../../repo/reservation';
|
|
7
5
|
import { MongoRepository as TaskRepo } from '../../repo/task';
|
|
8
6
|
/**
|
|
9
7
|
* 予約を確定する
|
|
10
8
|
*/
|
|
11
|
-
export declare function confirmReservation(
|
|
9
|
+
export declare function confirmReservation(params: {
|
|
10
|
+
actionAttributesList: factory.action.reserve.IAttributes[];
|
|
11
|
+
useOnReservationConfirmed: boolean;
|
|
12
|
+
byTask: boolean;
|
|
13
|
+
}): (repos: {
|
|
12
14
|
action: ActionRepo;
|
|
15
|
+
assetTransaction: AssetTrasactionRepo;
|
|
13
16
|
reservation: ReservationRepo;
|
|
14
17
|
task: TaskRepo;
|
|
15
18
|
}) => Promise<void>;
|
|
@@ -10,78 +10,141 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.confirmReservation = void 0;
|
|
13
|
-
|
|
14
|
-
* 予約サービス
|
|
15
|
-
*/
|
|
13
|
+
const createDebug = require("debug");
|
|
16
14
|
const factory = require("../../factory");
|
|
17
15
|
const onReservationConfirmed_1 = require("./potentialActions/onReservationConfirmed");
|
|
16
|
+
const debug = createDebug('chevre-domain:service:reserve:confirmReservation');
|
|
18
17
|
/**
|
|
19
18
|
* 予約を確定する
|
|
20
19
|
*/
|
|
21
|
-
function confirmReservation(
|
|
20
|
+
function confirmReservation(params) {
|
|
21
|
+
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
22
|
+
if (params.actionAttributesList.length > 0) {
|
|
23
|
+
yield Promise.all(params.actionAttributesList.map((actionAttributes) => __awaiter(this, void 0, void 0, function* () {
|
|
24
|
+
yield reserveIfNotYet(actionAttributes, { byTask: params.byTask })(repos);
|
|
25
|
+
if (params.useOnReservationConfirmed) {
|
|
26
|
+
yield (0, onReservationConfirmed_1.onReservationConfirmedByAction)(actionAttributes)({ task: repos.task });
|
|
27
|
+
}
|
|
28
|
+
})));
|
|
29
|
+
if (params.useOnReservationConfirmed) {
|
|
30
|
+
let confirmedReservations = [];
|
|
31
|
+
// 確定予約通知タスクを予約番号単位で作成する(2022-12-21~)
|
|
32
|
+
const reservationNumber = params.actionAttributesList[0].object.reservationNumber;
|
|
33
|
+
if (typeof reservationNumber === 'string' && reservationNumber.length > 0) {
|
|
34
|
+
// 最新のconfirmedReservationsを検索
|
|
35
|
+
confirmedReservations = yield repos.reservation.search({
|
|
36
|
+
reservationNumber: { $eq: reservationNumber },
|
|
37
|
+
typeOf: factory.reservationType.EventReservation
|
|
38
|
+
});
|
|
39
|
+
confirmedReservations = confirmedReservations.map((r) => {
|
|
40
|
+
// _idは不要であり、存在すると予期せぬ影響を及ぼす可能性がある
|
|
41
|
+
delete r._id;
|
|
42
|
+
return r;
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
yield (0, onReservationConfirmed_1.onReservationConfirmed)(confirmedReservations)({ task: repos.task });
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
exports.confirmReservation = confirmReservation;
|
|
51
|
+
function reserveIfNotYet(params, options) {
|
|
22
52
|
// tslint:disable-next-line:max-func-body-length
|
|
23
53
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
54
|
+
var _a;
|
|
55
|
+
const reservationPackage = params.object;
|
|
56
|
+
// 冪等性を担保(2023-05-31~)
|
|
57
|
+
debug('searching completed reserveAction... byTask:', options === null || options === void 0 ? void 0 : options.byTask, 'reservationNumber:', reservationPackage.reservationNumber);
|
|
58
|
+
const completedActions = yield repos.action.search({
|
|
59
|
+
limit: 1,
|
|
60
|
+
page: 1,
|
|
61
|
+
actionStatus: { $in: [factory.actionStatusType.CompletedActionStatus] },
|
|
62
|
+
typeOf: { $eq: params.typeOf },
|
|
63
|
+
object: {
|
|
64
|
+
typeOf: { $eq: params.object.typeOf }
|
|
65
|
+
// reservationNumber: { $eq: params.object.reservationNumber }
|
|
66
|
+
},
|
|
67
|
+
purpose: {
|
|
68
|
+
id: { $in: [params.purpose.id] },
|
|
69
|
+
typeOf: { $in: [params.purpose.typeOf] }
|
|
70
|
+
}
|
|
71
|
+
}, ['_id'], []);
|
|
72
|
+
debug(completedActions.length, 'completed reserveAction found. byTask:', options === null || options === void 0 ? void 0 : options.byTask, 'reservationNumber:', reservationPackage.reservationNumber);
|
|
73
|
+
if (completedActions.length === 0) {
|
|
74
|
+
const action = yield repos.action.start(params);
|
|
75
|
+
try {
|
|
76
|
+
const reserveTransactions = yield repos.assetTransaction.search({
|
|
77
|
+
limit: 1,
|
|
78
|
+
page: 1,
|
|
79
|
+
typeOf: factory.assetTransactionType.Reserve,
|
|
80
|
+
transactionNumber: { $eq: reservationPackage.reservationNumber }
|
|
81
|
+
});
|
|
82
|
+
const reserveTransaction = reserveTransactions.shift();
|
|
83
|
+
if (reserveTransaction === undefined) {
|
|
84
|
+
throw new factory.errors.NotFound(factory.assetTransactionType.Reserve);
|
|
85
|
+
}
|
|
86
|
+
let underName;
|
|
87
|
+
// 予約取引に保管されたunderNameを使用する(2023-05-30~)
|
|
88
|
+
if (typeof ((_a = reserveTransaction.object.underName) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string') {
|
|
89
|
+
underName = reserveTransaction.object.underName;
|
|
90
|
+
// 廃止(2023-05-31~)→予約取引から取得に変更
|
|
91
|
+
// } else if (typeof reservationPackage.underName?.typeOf === 'string') {
|
|
92
|
+
// underName = reservationPackage.underName;
|
|
93
|
+
}
|
|
94
|
+
// ReservationPackageに対応(2022-12-22~)
|
|
95
|
+
if (reservationPackage.typeOf === factory.reservationType.ReservationPackage) {
|
|
96
|
+
// Pendingの予約が存在しないバージョンに対応する(2023-05-29~)
|
|
97
|
+
if (reserveTransaction.object.disablePendingReservations === true) {
|
|
98
|
+
const reservationFor = reserveTransaction.object.reservationFor;
|
|
99
|
+
const subReservations = reserveTransaction.object.subReservation;
|
|
100
|
+
if (Array.isArray(subReservations)
|
|
101
|
+
&& typeof (reservationFor === null || reservationFor === void 0 ? void 0 : reservationFor.typeOf) === 'string') {
|
|
102
|
+
yield Promise.all(subReservations.map((subReservation) => __awaiter(this, void 0, void 0, function* () {
|
|
103
|
+
yield repos.reservation.confirmByIdIfNotExist({
|
|
104
|
+
reservation: subReservation,
|
|
105
|
+
reservationFor,
|
|
106
|
+
underName
|
|
107
|
+
});
|
|
108
|
+
})));
|
|
109
|
+
}
|
|
38
110
|
}
|
|
39
111
|
else {
|
|
40
|
-
// 廃止(2023-01-18)
|
|
41
|
-
throw new factory.errors.Forbidden(`${reservation.typeOf} not acceptable`);
|
|
42
112
|
// 予約を確定状態に変更する
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
// _idは不要であり、存在すると予期せぬ影響を及ぼす可能性がある
|
|
49
|
-
// delete (<any>reservation)._id;
|
|
50
|
-
// confirmedReservations.push(reservation);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
catch (error) {
|
|
54
|
-
// actionにエラー結果を追加
|
|
55
|
-
try {
|
|
56
|
-
const actionError = Object.assign(Object.assign({}, error), { message: error.message, name: error.name });
|
|
57
|
-
yield repos.action.giveUp({ typeOf: action.typeOf, id: action.id, error: actionError });
|
|
58
|
-
}
|
|
59
|
-
catch (__) {
|
|
60
|
-
// 失敗したら仕方ない
|
|
113
|
+
yield repos.reservation.confirmByReservationNumber({
|
|
114
|
+
reservationNumber: reservationPackage.reservationNumber,
|
|
115
|
+
previousReservationStatus: reservationPackage.reservationStatus,
|
|
116
|
+
underName
|
|
117
|
+
});
|
|
61
118
|
}
|
|
62
|
-
throw error;
|
|
63
119
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
confirmedReservations = yield repos.reservation.search({
|
|
74
|
-
reservationNumber: { $eq: reservationNumber },
|
|
75
|
-
typeOf: factory.reservationType.EventReservation
|
|
76
|
-
});
|
|
77
|
-
confirmedReservations = confirmedReservations.map((r) => {
|
|
120
|
+
else {
|
|
121
|
+
// 廃止(2023-01-18)
|
|
122
|
+
throw new factory.errors.Forbidden(`${reservationPackage.typeOf} not acceptable`);
|
|
123
|
+
// 予約を確定状態に変更する
|
|
124
|
+
// await repos.reservation.confirm<factory.reservationType.EventReservation>({
|
|
125
|
+
// id: reservation.id,
|
|
126
|
+
// previousReservationStatus: reservation.reservationStatus,
|
|
127
|
+
// underName: reservation.underName
|
|
128
|
+
// });
|
|
78
129
|
// _idは不要であり、存在すると予期せぬ影響を及ぼす可能性がある
|
|
79
|
-
delete
|
|
80
|
-
|
|
81
|
-
}
|
|
130
|
+
// delete (<any>reservation)._id;
|
|
131
|
+
// confirmedReservations.push(reservation);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
catch (error) {
|
|
135
|
+
// actionにエラー結果を追加
|
|
136
|
+
try {
|
|
137
|
+
const actionError = Object.assign(Object.assign({}, error), { message: error.message, name: error.name });
|
|
138
|
+
yield repos.action.giveUp({ typeOf: action.typeOf, id: action.id, error: actionError });
|
|
139
|
+
}
|
|
140
|
+
catch (__) {
|
|
141
|
+
// 失敗したら仕方ない
|
|
142
|
+
}
|
|
143
|
+
throw error;
|
|
82
144
|
}
|
|
83
|
-
|
|
145
|
+
// アクション完了
|
|
146
|
+
const actionResult = {};
|
|
147
|
+
yield repos.action.complete({ typeOf: action.typeOf, id: action.id, result: actionResult });
|
|
84
148
|
}
|
|
85
149
|
});
|
|
86
150
|
}
|
|
87
|
-
exports.confirmReservation = confirmReservation;
|
|
@@ -4,9 +4,6 @@ type IEventReservation = factory.reservation.IReservation<factory.reservationTyp
|
|
|
4
4
|
/**
|
|
5
5
|
* 予約取消後のアクション
|
|
6
6
|
*/
|
|
7
|
-
export declare function onReservationCanceledByAction(actionAttributes: factory.action.cancel.reservation.IAttributes): (repos: {
|
|
8
|
-
task: TaskRepo;
|
|
9
|
-
}) => Promise<void>;
|
|
10
7
|
export declare function onReservationCanceled(canceledReservations: IEventReservation[], useInformReservation: boolean): (repos: {
|
|
11
8
|
task: TaskRepo;
|
|
12
9
|
}) => Promise<void>;
|
|
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.onReservationCanceled =
|
|
12
|
+
exports.onReservationCanceled = void 0;
|
|
13
13
|
/**
|
|
14
14
|
* 予約取消時アクション
|
|
15
15
|
*/
|
|
@@ -19,26 +19,26 @@ const settings_1 = require("../../../settings");
|
|
|
19
19
|
const offer_1 = require("../../offer");
|
|
20
20
|
const factory_1 = require("../factory");
|
|
21
21
|
const informReservations = settings_1.settings.onReservationStatusChanged.informReservation;
|
|
22
|
-
const INFORM_TASK_DELAY_IN_SECONDS = 30;
|
|
23
22
|
/**
|
|
24
23
|
* 予約取消後のアクション
|
|
25
24
|
*/
|
|
26
|
-
function onReservationCanceledByAction(
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
|
|
25
|
+
// export function onReservationCanceledByAction(
|
|
26
|
+
// actionAttributes: factory.action.cancel.reservation.IAttributes
|
|
27
|
+
// ) {
|
|
28
|
+
// return async (repos: {
|
|
29
|
+
// task: TaskRepo;
|
|
30
|
+
// }) => {
|
|
31
|
+
// const potentialActions = actionAttributes.potentialActions;
|
|
32
|
+
// const taskAttributes: factory.task.IAttributes<factory.taskName>[] = [];
|
|
33
|
+
// if (potentialActions !== undefined) {
|
|
34
|
+
// // no op
|
|
35
|
+
// }
|
|
36
|
+
// // タスク保管
|
|
37
|
+
// if (taskAttributes.length > 0) {
|
|
38
|
+
// await repos.task.saveMany(taskAttributes, { emitImmediately: true });
|
|
39
|
+
// }
|
|
40
|
+
// };
|
|
41
|
+
// }
|
|
42
42
|
function onReservationCanceled(canceledReservations, useInformReservation) {
|
|
43
43
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
44
44
|
if (Array.isArray(canceledReservations) && canceledReservations.length > 0) {
|
|
@@ -50,7 +50,7 @@ function onReservationCanceled(canceledReservations, useInformReservation) {
|
|
|
50
50
|
if (Array.isArray(informReservations)) {
|
|
51
51
|
// やや遅延させる(確定通知が未達の可能性を考慮して)
|
|
52
52
|
const informTaskRunsAt = moment(now)
|
|
53
|
-
.add(
|
|
53
|
+
.add(settings_1.INFORM_RESERVATION_TASK_DELAY_IN_SECONDS, 'seconds')
|
|
54
54
|
.toDate();
|
|
55
55
|
const reservations4inform = canceledReservations.map((r) => {
|
|
56
56
|
return {
|
|
@@ -91,7 +91,7 @@ function onReservationCanceled(canceledReservations, useInformReservation) {
|
|
|
91
91
|
}
|
|
92
92
|
// タスク保管
|
|
93
93
|
if (taskAttributes.length > 0) {
|
|
94
|
-
yield repos.task.saveMany(taskAttributes);
|
|
94
|
+
yield repos.task.saveMany(taskAttributes, { emitImmediately: true });
|
|
95
95
|
}
|
|
96
96
|
// 冗長な作成を避ける
|
|
97
97
|
yield (0, offer_1.createAggregateScreeningEventIfNotExist)({
|
|
@@ -19,7 +19,6 @@ const settings_1 = require("../../../settings");
|
|
|
19
19
|
const offer_1 = require("../../offer");
|
|
20
20
|
const factory_1 = require("../factory");
|
|
21
21
|
const informReservations = settings_1.settings.onReservationStatusChanged.informReservation;
|
|
22
|
-
const INFORM_TASK_DELAY_IN_SECONDS = 30;
|
|
23
22
|
// tslint:disable-next-line:max-func-body-length
|
|
24
23
|
function onReservationCheckedIn(params) {
|
|
25
24
|
// tslint:disable-next-line:max-func-body-length
|
|
@@ -31,7 +30,7 @@ function onReservationCheckedIn(params) {
|
|
|
31
30
|
if (Array.isArray(informReservations)) {
|
|
32
31
|
// やや遅延させる(確定通知が未達の可能性を考慮して)
|
|
33
32
|
const informTaskRunsAt = moment(params.now)
|
|
34
|
-
.add(
|
|
33
|
+
.add(settings_1.INFORM_RESERVATION_TASK_DELAY_IN_SECONDS, 'seconds')
|
|
35
34
|
.toDate();
|
|
36
35
|
informReservations.forEach((informReservation) => {
|
|
37
36
|
var _a;
|
|
@@ -107,7 +106,7 @@ function onReservationCheckedIn(params) {
|
|
|
107
106
|
});
|
|
108
107
|
}
|
|
109
108
|
if (tasks.length > 0) {
|
|
110
|
-
yield repos.task.saveMany(tasks);
|
|
109
|
+
yield repos.task.saveMany(tasks, { emitImmediately: true });
|
|
111
110
|
}
|
|
112
111
|
// 冗長な作成を避ける
|
|
113
112
|
const reservationForIds = (_a = params.object.reservationFor) === null || _a === void 0 ? void 0 : _a.ids;
|
|
@@ -57,38 +57,9 @@ function onReservationConfirmedByAction(actionAttributes
|
|
|
57
57
|
}));
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
// inform galobally
|
|
61
|
-
// if (Array.isArray(informReservations)) {
|
|
62
|
-
// const reservation4inform: IReservation4informConfirmed = maskUnderName(confirmedReservation);
|
|
63
|
-
// taskAttributes.push(...informReservations.map<ITriggerWebhookTaskAttributes>((informReservation) => {
|
|
64
|
-
// const informUrl: string = String(informReservation.recipient?.url);
|
|
65
|
-
// const informReservationAttributes: InformReservationActionattributes = {
|
|
66
|
-
// agent: confirmedReservation.project,
|
|
67
|
-
// object: [reservation4inform],
|
|
68
|
-
// project: confirmedReservation.project,
|
|
69
|
-
// recipient: {
|
|
70
|
-
// id: '',
|
|
71
|
-
// name: informUrl,
|
|
72
|
-
// typeOf: factory.creativeWorkType.WebApplication,
|
|
73
|
-
// url: informUrl
|
|
74
|
-
// },
|
|
75
|
-
// typeOf: factory.actionType.InformAction
|
|
76
|
-
// };
|
|
77
|
-
// return {
|
|
78
|
-
// project: actionAttributes.project,
|
|
79
|
-
// name: factory.taskName.TriggerWebhook,
|
|
80
|
-
// status: factory.taskStatus.Ready,
|
|
81
|
-
// runsAt: now,
|
|
82
|
-
// remainingNumberOfTries: NUM_TRY_INFORM_RESERVATION,
|
|
83
|
-
// numberOfTried: 0,
|
|
84
|
-
// executionResults: [],
|
|
85
|
-
// data: informReservationAttributes
|
|
86
|
-
// };
|
|
87
|
-
// }));
|
|
88
|
-
// }
|
|
89
60
|
// タスク保管
|
|
90
61
|
if (taskAttributes.length > 0) {
|
|
91
|
-
yield repos.task.saveMany(taskAttributes);
|
|
62
|
+
yield repos.task.saveMany(taskAttributes, { emitImmediately: true });
|
|
92
63
|
}
|
|
93
64
|
});
|
|
94
65
|
}
|
|
@@ -142,7 +113,7 @@ function onReservationConfirmed(confirmedReservations) {
|
|
|
142
113
|
}
|
|
143
114
|
// タスク保管
|
|
144
115
|
if (taskAttributes.length > 0) {
|
|
145
|
-
yield repos.task.saveMany(taskAttributes);
|
|
116
|
+
yield repos.task.saveMany(taskAttributes, { emitImmediately: true });
|
|
146
117
|
}
|
|
147
118
|
}
|
|
148
119
|
});
|
|
@@ -19,7 +19,6 @@ const settings_1 = require("../../../settings");
|
|
|
19
19
|
const offer_1 = require("../../offer");
|
|
20
20
|
const factory_1 = require("../factory");
|
|
21
21
|
const informReservations = settings_1.settings.onReservationStatusChanged.informReservation;
|
|
22
|
-
const INFORM_TASK_DELAY_IN_SECONDS = 30;
|
|
23
22
|
/**
|
|
24
23
|
* 予約使用
|
|
25
24
|
*/
|
|
@@ -32,7 +31,7 @@ function onReservationUsed(action, attendedReservation) {
|
|
|
32
31
|
if (Array.isArray(informReservations)) {
|
|
33
32
|
// やや遅延させる(確定通知が未達の可能性を考慮して)
|
|
34
33
|
const informTaskRunsAt = moment(now)
|
|
35
|
-
.add(
|
|
34
|
+
.add(settings_1.INFORM_RESERVATION_TASK_DELAY_IN_SECONDS, 'seconds')
|
|
36
35
|
.toDate();
|
|
37
36
|
const reservation4inform = {
|
|
38
37
|
typeOf: attendedReservation.typeOf,
|
|
@@ -97,7 +96,7 @@ function onReservationUsed(action, attendedReservation) {
|
|
|
97
96
|
}
|
|
98
97
|
}
|
|
99
98
|
if (tasks.length > 0) {
|
|
100
|
-
yield repos.task.saveMany(tasks);
|
|
99
|
+
yield repos.task.saveMany(tasks, { emitImmediately: true });
|
|
101
100
|
}
|
|
102
101
|
// 冗長な作成を避ける
|
|
103
102
|
yield (0, offer_1.createAggregateScreeningEventIfNotExist)({
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 予約サービス
|
|
3
|
-
*/
|
|
4
1
|
import * as factory from '../../factory';
|
|
5
2
|
import { MongoRepository as ActionRepo } from '../../repo/action';
|
|
3
|
+
import { MongoRepository as AssetTransactionRepo } from '../../repo/assetTransaction';
|
|
6
4
|
import { MongoRepository as OrderRepo } from '../../repo/order';
|
|
7
5
|
import { MongoRepository as ReservationRepo } from '../../repo/reservation';
|
|
8
6
|
import { MongoRepository as TaskRepo } from '../../repo/task';
|
|
@@ -11,6 +9,9 @@ import { IUseReservationAction } from './potentialActions/onReservationUsed';
|
|
|
11
9
|
* 予約使用
|
|
12
10
|
*/
|
|
13
11
|
export declare function useReservation(params: {
|
|
12
|
+
project: {
|
|
13
|
+
id: string;
|
|
14
|
+
};
|
|
14
15
|
agent: factory.action.consume.use.reservation.IAgent;
|
|
15
16
|
object: {
|
|
16
17
|
/**
|
|
@@ -24,8 +25,11 @@ export declare function useReservation(params: {
|
|
|
24
25
|
location?: {
|
|
25
26
|
identifier?: string;
|
|
26
27
|
};
|
|
28
|
+
verifyToken: boolean;
|
|
29
|
+
reserveIfNotYet: boolean;
|
|
27
30
|
}): (repos: {
|
|
28
31
|
action: ActionRepo;
|
|
32
|
+
assetTransaction: AssetTransactionRepo;
|
|
29
33
|
order: OrderRepo;
|
|
30
34
|
reservation: ReservationRepo;
|
|
31
35
|
task: TaskRepo;
|