@chevre/domain 21.2.0-alpha.13 → 21.2.0-alpha.131
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/aggregateEventReservation.ts +1 -1
- package/example/src/chevre/aggregation/aggregateSystem.ts +85 -27
- package/example/src/chevre/countDelayedTasks.ts +7 -2
- package/example/src/chevre/deleteTasksByName.ts +10 -2
- package/example/src/chevre/findMovieTheaterById.ts +40 -0
- package/example/src/chevre/importEventsFromCOA.ts +3 -4
- package/example/src/chevre/lockStockHolder.ts +5 -2
- package/example/src/chevre/migrateOrderAdditionalProperties.ts +85 -0
- package/example/src/chevre/migrateScreeningEventSeriesVersion.ts +79 -0
- package/example/src/chevre/processPay.ts +5 -1
- package/example/src/chevre/processRegisterMembership.ts +8 -4
- package/example/src/chevre/processRegisterPaymentCard.ts +8 -4
- package/example/src/chevre/processReserve.ts +5 -2
- package/example/src/chevre/saveTasks.ts +13 -10
- package/example/src/chevre/searchAbortedTasks.ts +34 -0
- package/example/src/chevre/searchActions.ts +33 -0
- package/example/src/chevre/searchEventSeats.ts +5 -2
- package/example/src/chevre/searchHoldReservations.ts +38 -0
- package/example/src/chevre/searchReservationNumbersByOrderNumbers.ts +37 -1
- package/example/src/chevre/searchScreeningRooms.ts +23 -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 +2 -1
- package/example/src/chevre/updateScreeningRoom.ts +41 -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/account.js +3 -2
- package/lib/chevre/repo/accountTransaction.d.ts +3 -1
- package/lib/chevre/repo/accountTransaction.js +3 -2
- package/lib/chevre/repo/action.d.ts +42 -2
- package/lib/chevre/repo/action.js +130 -57
- package/lib/chevre/repo/additionalProperty.js +2 -1
- package/lib/chevre/repo/aggregation.d.ts +3 -0
- package/lib/chevre/repo/aggregation.js +3 -0
- package/lib/chevre/repo/assetTransaction.d.ts +23 -8
- package/lib/chevre/repo/assetTransaction.js +253 -80
- package/lib/chevre/repo/categoryCode.d.ts +1 -1
- package/lib/chevre/repo/categoryCode.js +37 -25
- package/lib/chevre/repo/code.js +3 -2
- package/lib/chevre/repo/comment.d.ts +4 -1
- package/lib/chevre/repo/comment.js +22 -6
- package/lib/chevre/repo/confirmationNumber.d.ts +0 -1
- package/lib/chevre/repo/confirmationNumber.js +3 -15
- package/lib/chevre/repo/creativeWork.d.ts +2 -4
- package/lib/chevre/repo/creativeWork.js +35 -12
- package/lib/chevre/repo/customer.js +2 -1
- package/lib/chevre/repo/emailMessage.d.ts +1 -27
- package/lib/chevre/repo/emailMessage.js +2 -1
- package/lib/chevre/repo/event.d.ts +27 -1
- package/lib/chevre/repo/event.js +67 -33
- package/lib/chevre/repo/member.js +4 -3
- package/lib/chevre/repo/merchantReturnPolicy.d.ts +1 -3
- package/lib/chevre/repo/merchantReturnPolicy.js +2 -1
- package/lib/chevre/repo/mongoose/schemas/account.d.ts +4 -2
- package/lib/chevre/repo/mongoose/schemas/accountTitle.d.ts +29 -3
- package/lib/chevre/repo/mongoose/schemas/accountTransaction.d.ts +31 -3
- package/lib/chevre/repo/mongoose/schemas/accountTransaction.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/accountingReport.d.ts +13 -3
- package/lib/chevre/repo/mongoose/schemas/action.d.ts +43 -3
- package/lib/chevre/repo/mongoose/schemas/action.js +19 -1
- package/lib/chevre/repo/mongoose/schemas/additionalProperty.d.ts +17 -3
- package/lib/chevre/repo/mongoose/schemas/aggregation.d.ts +4 -2
- package/lib/chevre/repo/mongoose/schemas/assetTransaction.d.ts +44 -3
- package/lib/chevre/repo/mongoose/schemas/assetTransaction.js +32 -19
- package/lib/chevre/repo/mongoose/schemas/authorization.d.ts +19 -3
- package/lib/chevre/repo/mongoose/schemas/authorization.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/categoryCode.d.ts +25 -3
- package/lib/chevre/repo/mongoose/schemas/comments.d.ts +27 -3
- package/lib/chevre/repo/mongoose/schemas/comments.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/creativeWork.d.ts +43 -3
- package/lib/chevre/repo/mongoose/schemas/customer.d.ts +25 -3
- package/lib/chevre/repo/mongoose/schemas/emailMessages.d.ts +21 -3
- package/lib/chevre/repo/mongoose/schemas/event.d.ts +71 -3
- package/lib/chevre/repo/mongoose/schemas/holdReservation.d.ts +75 -0
- package/lib/chevre/repo/mongoose/schemas/holdReservation.js +92 -0
- package/lib/chevre/repo/mongoose/schemas/member.d.ts +13 -3
- package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.d.ts +21 -3
- package/lib/chevre/repo/mongoose/schemas/offer.d.ts +65 -3
- package/lib/chevre/repo/mongoose/schemas/offerCatalog.d.ts +27 -3
- 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 +51 -3
- package/lib/chevre/repo/mongoose/schemas/order.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/ownershipInfo.d.ts +25 -3
- package/lib/chevre/repo/mongoose/schemas/ownershipInfo.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/place.d.ts +49 -3
- package/lib/chevre/repo/mongoose/schemas/priceSpecification.d.ts +29 -3
- package/lib/chevre/repo/mongoose/schemas/product.d.ts +31 -3
- package/lib/chevre/repo/mongoose/schemas/project.d.ts +23 -3
- package/lib/chevre/repo/mongoose/schemas/reservation.d.ts +63 -5
- package/lib/chevre/repo/mongoose/schemas/reservation.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/role.d.ts +11 -3
- package/lib/chevre/repo/mongoose/schemas/seller.d.ts +31 -3
- package/lib/chevre/repo/mongoose/schemas/seller.js +6 -0
- package/lib/chevre/repo/mongoose/schemas/serviceOutput.d.ts +11 -3
- package/lib/chevre/repo/mongoose/schemas/serviceOutput.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/task.d.ts +30 -3
- package/lib/chevre/repo/mongoose/schemas/task.js +2 -1
- package/lib/chevre/repo/mongoose/schemas/telemetry.d.ts +21 -3
- package/lib/chevre/repo/mongoose/schemas/transaction.d.ts +40 -3
- package/lib/chevre/repo/mongoose/schemas/transaction.js +2 -1
- package/lib/chevre/repo/mongoose/schemas/trip.d.ts +11 -3
- package/lib/chevre/repo/offer.js +3 -2
- package/lib/chevre/repo/offerCatalog.js +0 -27
- package/lib/chevre/repo/offerItemCondition.d.ts +22 -0
- package/lib/chevre/repo/offerItemCondition.js +121 -0
- package/lib/chevre/repo/order.d.ts +55 -3
- package/lib/chevre/repo/order.js +62 -10
- package/lib/chevre/repo/ownershipInfo.js +2 -7
- package/lib/chevre/repo/place.d.ts +20 -5
- package/lib/chevre/repo/place.js +63 -23
- package/lib/chevre/repo/priceSpecification.js +3 -2
- package/lib/chevre/repo/product.d.ts +1 -3
- package/lib/chevre/repo/product.js +25 -4
- package/lib/chevre/repo/project.js +2 -1
- package/lib/chevre/repo/reservation.d.ts +20 -4
- package/lib/chevre/repo/reservation.js +40 -59
- package/lib/chevre/repo/role.js +3 -2
- package/lib/chevre/repo/seller.d.ts +1 -1
- package/lib/chevre/repo/seller.js +44 -23
- package/lib/chevre/repo/serviceOutput.js +2 -1
- package/lib/chevre/repo/stockHolder.d.ts +139 -7
- package/lib/chevre/repo/stockHolder.js +569 -102
- package/lib/chevre/repo/task.d.ts +45 -2
- package/lib/chevre/repo/task.js +94 -15
- package/lib/chevre/repo/transaction.d.ts +21 -2
- package/lib/chevre/repo/transaction.js +171 -50
- package/lib/chevre/repo/trip.js +2 -1
- package/lib/chevre/repository.d.ts +5 -2
- package/lib/chevre/repository.js +8 -4
- package/lib/chevre/service/aggregation/event/aggregateScreeningEvent.js +6 -2
- package/lib/chevre/service/aggregation/event/aggregateUseActionsOnEvent.js +8 -6
- package/lib/chevre/service/aggregation/system.d.ts +110 -23
- package/lib/chevre/service/aggregation/system.js +213 -91
- package/lib/chevre/service/assetTransaction/cancelReservation.js +1 -28
- package/lib/chevre/service/assetTransaction/moneyTransfer.js +2 -24
- package/lib/chevre/service/assetTransaction/pay/account/validation.js +1 -1
- package/lib/chevre/service/assetTransaction/pay/potentialActions.js +17 -1
- package/lib/chevre/service/assetTransaction/pay.d.ts +5 -1
- package/lib/chevre/service/assetTransaction/pay.js +20 -34
- package/lib/chevre/service/assetTransaction/refund.js +2 -24
- package/lib/chevre/service/assetTransaction/registerService.js +1 -25
- package/lib/chevre/service/assetTransaction/reserve/factory.d.ts +15 -5
- package/lib/chevre/service/assetTransaction/reserve/factory.js +122 -58
- package/lib/chevre/service/assetTransaction/reserve.d.ts +10 -1
- package/lib/chevre/service/assetTransaction/reserve.js +92 -69
- package/lib/chevre/service/assetTransaction.d.ts +6 -0
- package/lib/chevre/service/assetTransaction.js +9 -4
- package/lib/chevre/service/event.js +25 -6
- 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 +3 -0
- package/lib/chevre/service/offer/event/authorize.js +8 -2
- package/lib/chevre/service/offer/event/factory.d.ts +3 -0
- package/lib/chevre/service/offer/event/factory.js +16 -5
- package/lib/chevre/service/offer/event/importFromCOA.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/eventServiceByCOA.js +7 -9
- package/lib/chevre/service/offer/product.js +2 -2
- package/lib/chevre/service/offer.d.ts +16 -8
- package/lib/chevre/service/offer.js +71 -8
- 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 +5 -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 +16 -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.d.ts +9 -5
- package/lib/chevre/service/payment/any.js +80 -18
- package/lib/chevre/service/payment/creditCard.d.ts +1 -1
- package/lib/chevre/service/payment/creditCard.js +23 -17
- package/lib/chevre/service/payment/movieTicket/checkByIdentifier.d.ts +8 -7
- package/lib/chevre/service/payment/movieTicket/factory.d.ts +1 -1
- package/lib/chevre/service/payment/movieTicket/getCredentials.d.ts +1 -1
- package/lib/chevre/service/payment/movieTicket/getCredentials.js +1 -1
- package/lib/chevre/service/payment/movieTicket/validation.d.ts +6 -6
- package/lib/chevre/service/payment/movieTicket/validation.js +55 -32
- package/lib/chevre/service/payment/movieTicket.d.ts +2 -2
- package/lib/chevre/service/payment/movieTicket.js +7 -6
- 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 +5 -3
- package/lib/chevre/service/reserve/cancelReservation.js +162 -142
- 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 +133 -58
- package/lib/chevre/service/reserve/factory.d.ts +1 -1
- package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.d.ts +17 -5
- package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.js +26 -24
- 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/aggregateScreeningEvent.js +1 -1
- package/lib/chevre/service/task/cancelPendingReservation.js +6 -2
- package/lib/chevre/service/task/cancelReservation.js +1 -1
- 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/onEventChanged.d.ts +7 -0
- package/lib/chevre/service/task/{deleteOrder.js → onEventChanged.js} +8 -14
- package/lib/chevre/service/task/onResourceUpdated.d.ts +7 -0
- package/lib/chevre/service/task/onResourceUpdated.js +352 -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 +4 -2
- 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.d.ts +1 -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 +10 -13
- package/lib/chevre/service/transaction/orderProgramMembership/findCreditCard.js +1 -1
- package/lib/chevre/service/transaction/orderProgramMembership/findPaymentCardPermit.js +1 -1
- package/lib/chevre/service/transaction/orderProgramMembership.js +7 -3
- 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 +28 -15
- 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 +228 -36
- package/lib/chevre/service/transaction.d.ts +7 -13
- package/lib/chevre/service/transaction.js +12 -139
- package/lib/chevre/settings.d.ts +13 -1
- package/lib/chevre/settings.js +56 -6
- package/package.json +5 -5
- package/example/src/chevre/createManyEventsIfNotExist.ts +0 -205
- package/example/src/chevre/eventCatalog2eventService.ts +0 -123
- package/example/src/chevre/migrateMoneyTransferPendingTransactionIdentifier.ts +0 -96
- package/example/src/chevre/migrateMovieAdditionalProperties.ts +0 -98
- package/example/src/chevre/migrateStockHolderKeys.ts +0 -89
- 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
|
@@ -28,7 +28,7 @@ function validateAccount(params) {
|
|
|
28
28
|
if (typeof sellerId !== 'string') {
|
|
29
29
|
throw new factory.errors.ArgumentNull('recipient.id');
|
|
30
30
|
}
|
|
31
|
-
const seller = yield repos.seller.findById({ id: sellerId });
|
|
31
|
+
const seller = yield repos.seller.findById({ id: sellerId }, ['paymentAccepted'], []);
|
|
32
32
|
const paymentAccepted = (_d = seller.paymentAccepted) === null || _d === void 0 ? void 0 : _d.some((a) => a.paymentMethodType === paymentMethodType);
|
|
33
33
|
if (paymentAccepted !== true) {
|
|
34
34
|
throw new factory.errors.Argument('recipient', `payment not accepted`);
|
|
@@ -126,8 +126,9 @@ function createPayObjectServiceOutput(params) {
|
|
|
126
126
|
if (Array.isArray(movieTickets)) {
|
|
127
127
|
paymentServiceOutput = movieTickets.map((movieTicket) => {
|
|
128
128
|
var _a;
|
|
129
|
+
const amount = movieTicket2amount(transaction, movieTicket);
|
|
129
130
|
const reservation4invoice = movieTicket2reservation4invoice(movieTicket, order, String(paymentMethodType));
|
|
130
|
-
return Object.assign({ identifier: movieTicket.identifier }, (typeof ((_a = reservation4invoice.priceSpecification) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string')
|
|
131
|
+
return Object.assign(Object.assign({ identifier: movieTicket.identifier }, (typeof (amount === null || amount === void 0 ? void 0 : amount.value) === 'number') ? { amount } : undefined), (typeof ((_a = reservation4invoice.priceSpecification) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string')
|
|
131
132
|
? {
|
|
132
133
|
serviceOutput: reservation4invoice
|
|
133
134
|
}
|
|
@@ -140,6 +141,21 @@ function createPayObjectServiceOutput(params) {
|
|
|
140
141
|
}
|
|
141
142
|
return paymentServiceOutput;
|
|
142
143
|
}
|
|
144
|
+
function movieTicket2amount(transaction, movieTicket) {
|
|
145
|
+
var _a;
|
|
146
|
+
let amount;
|
|
147
|
+
const accountsReceivables = transaction.object.accountsReceivablesByServiceType;
|
|
148
|
+
if (Array.isArray(accountsReceivables)) {
|
|
149
|
+
const accountsReceivable = (_a = accountsReceivables.find((a) => a.serviceType === movieTicket.serviceType)) === null || _a === void 0 ? void 0 : _a.accountsReceivable;
|
|
150
|
+
if (typeof accountsReceivable === 'number') {
|
|
151
|
+
amount = {
|
|
152
|
+
typeOf: 'MonetaryAmount',
|
|
153
|
+
value: accountsReceivable
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return amount;
|
|
158
|
+
}
|
|
143
159
|
function reservationPriceComponent2invoicePriceComponent(component) {
|
|
144
160
|
var _a;
|
|
145
161
|
const accounting = (typeof ((_a = component.accounting) === null || _a === void 0 ? void 0 : _a.accountsReceivable) === 'number')
|
|
@@ -96,7 +96,11 @@ export declare function check(params: factory.action.check.paymentMethod.movieTi
|
|
|
96
96
|
/**
|
|
97
97
|
* 取引開始
|
|
98
98
|
*/
|
|
99
|
-
export declare function start(params: factory.assetTransaction.pay.IStartParamsWithoutDetail,
|
|
99
|
+
export declare function start(params: factory.assetTransaction.pay.IStartParamsWithoutDetail, options: {
|
|
100
|
+
useCheckMovieTicketBeforePay: boolean;
|
|
101
|
+
useCheckByIdentifierIfNotYet: boolean;
|
|
102
|
+
searchTrade4accountId: boolean;
|
|
103
|
+
}): IStartOperation<factory.assetTransaction.pay.ITransaction>;
|
|
100
104
|
/**
|
|
101
105
|
* 取引確定
|
|
102
106
|
*/
|
|
@@ -42,7 +42,7 @@ function publishPaymentUrl(params) {
|
|
|
42
42
|
let result;
|
|
43
43
|
switch (paymentServiceType) {
|
|
44
44
|
case factory.service.paymentService.PaymentServiceType.CreditCard:
|
|
45
|
-
const authorizeResult = yield CreditCardPayment.authorize(params, paymentServiceId)(repos);
|
|
45
|
+
const authorizeResult = yield CreditCardPayment.authorize(params, paymentServiceId, false)(repos);
|
|
46
46
|
const acsUrl = authorizeResult.execTranResult.acsUrl;
|
|
47
47
|
if (typeof acsUrl !== 'string' || acsUrl.length === 0) {
|
|
48
48
|
throw new factory.errors.ServiceUnavailable('Payment URL unable to publish');
|
|
@@ -106,7 +106,7 @@ exports.check = check;
|
|
|
106
106
|
/**
|
|
107
107
|
* 取引開始
|
|
108
108
|
*/
|
|
109
|
-
function start(params,
|
|
109
|
+
function start(params, options) {
|
|
110
110
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
111
111
|
var _a, _b;
|
|
112
112
|
// 金額をfix
|
|
@@ -137,11 +137,12 @@ function start(params, useCheckMovieTicketBeforePay) {
|
|
|
137
137
|
transaction = yield processAuthorizeAccount(params, transaction, String(paymentService === null || paymentService === void 0 ? void 0 : paymentService.id))(repos);
|
|
138
138
|
break;
|
|
139
139
|
case factory.service.paymentService.PaymentServiceType.CreditCard:
|
|
140
|
-
transaction =
|
|
140
|
+
transaction =
|
|
141
|
+
yield processAuthorizeCreditCard(params, transaction, String(paymentService === null || paymentService === void 0 ? void 0 : paymentService.id), options.searchTrade4accountId)(repos);
|
|
141
142
|
break;
|
|
142
143
|
case factory.service.paymentService.PaymentServiceType.MovieTicket:
|
|
143
144
|
transaction =
|
|
144
|
-
yield processAuthorizeMovieTicket(params, transaction, String(paymentService === null || paymentService === void 0 ? void 0 : paymentService.id), useCheckMovieTicketBeforePay)(repos);
|
|
145
|
+
yield processAuthorizeMovieTicket(params, transaction, String(paymentService === null || paymentService === void 0 ? void 0 : paymentService.id), options.useCheckMovieTicketBeforePay, options.useCheckByIdentifierIfNotYet)(repos);
|
|
145
146
|
break;
|
|
146
147
|
default:
|
|
147
148
|
throw new factory.errors.NotImplemented(`Payment service '${paymentServiceType}' not implemented`);
|
|
@@ -193,7 +194,7 @@ function fixPaymentService(params) {
|
|
|
193
194
|
project: { id: { $eq: params.project.id } },
|
|
194
195
|
typeOf: { $eq: paymentServiceType },
|
|
195
196
|
id: { $eq: paymentServiceId }
|
|
196
|
-
});
|
|
197
|
+
}, [], []);
|
|
197
198
|
paymentService = paymentServices.shift();
|
|
198
199
|
if (paymentService === undefined) {
|
|
199
200
|
throw new factory.errors.NotFound('PaymentService');
|
|
@@ -209,7 +210,7 @@ function validateSeller(params) {
|
|
|
209
210
|
if (typeof sellerId !== 'string') {
|
|
210
211
|
throw new factory.errors.ArgumentNull('recipient.id');
|
|
211
212
|
}
|
|
212
|
-
const seller = yield repos.seller.findById({ id: sellerId });
|
|
213
|
+
const seller = yield repos.seller.findById({ id: sellerId }, ['paymentAccepted'], []);
|
|
213
214
|
const paymentMethodType = (_b = params.object.paymentMethod) === null || _b === void 0 ? void 0 : _b.typeOf;
|
|
214
215
|
if (typeof paymentMethodType !== 'string') {
|
|
215
216
|
throw new factory.errors.ArgumentNull('object.paymentMethod.typeOf');
|
|
@@ -253,9 +254,9 @@ function processAuthorizeAccount(params, transaction, paymentServiceId) {
|
|
|
253
254
|
})(repos);
|
|
254
255
|
});
|
|
255
256
|
}
|
|
256
|
-
function processAuthorizeCreditCard(params, transaction, paymentServiceId) {
|
|
257
|
+
function processAuthorizeCreditCard(params, transaction, paymentServiceId, searchTrade4accountId) {
|
|
257
258
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
258
|
-
const authorizeResult = yield CreditCardPayment.authorize(params, paymentServiceId)(repos);
|
|
259
|
+
const authorizeResult = yield CreditCardPayment.authorize(params, paymentServiceId, searchTrade4accountId)(repos);
|
|
259
260
|
return saveAuthorizeResult({
|
|
260
261
|
id: transaction.id,
|
|
261
262
|
update: {
|
|
@@ -270,18 +271,24 @@ function processAuthorizeCreditCard(params, transaction, paymentServiceId) {
|
|
|
270
271
|
})(repos);
|
|
271
272
|
});
|
|
272
273
|
}
|
|
273
|
-
function processAuthorizeMovieTicket(params, transaction, paymentServiceId, useCheckMovieTicketBeforePay) {
|
|
274
|
+
function processAuthorizeMovieTicket(params, transaction, paymentServiceId, useCheckMovieTicketBeforePay, useCheckByIdentifierIfNotYet) {
|
|
274
275
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
275
|
-
const { accountId,
|
|
276
|
+
const { accountId, payAction, accountsReceivablesByServiceType } = yield MovieTicketPayment.authorize(params, transaction, paymentServiceId, useCheckMovieTicketBeforePay, useCheckByIdentifierIfNotYet)(repos);
|
|
276
277
|
return saveAuthorizeResult({
|
|
277
278
|
id: transaction.id,
|
|
278
|
-
update:
|
|
279
|
+
update: {
|
|
280
|
+
'object.accountId': accountId,
|
|
281
|
+
'object.paymentMethod.accountId': accountId,
|
|
282
|
+
'object.payAction': payAction,
|
|
283
|
+
// 認証レスポンスより計上金額を保管(2023-05-15~)
|
|
284
|
+
'object.accountsReceivablesByServiceType': accountsReceivablesByServiceType
|
|
285
|
+
}
|
|
279
286
|
})(repos);
|
|
280
287
|
});
|
|
281
288
|
}
|
|
282
289
|
function saveAuthorizeResult(params) {
|
|
283
290
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
284
|
-
return repos.assetTransaction.
|
|
291
|
+
return repos.assetTransaction.findByIdAndUpdateInProgress(params);
|
|
285
292
|
});
|
|
286
293
|
}
|
|
287
294
|
/**
|
|
@@ -393,27 +400,6 @@ function exportTasksById(params) {
|
|
|
393
400
|
});
|
|
394
401
|
const potentialActions = transaction.potentialActions;
|
|
395
402
|
const taskAttributes = [];
|
|
396
|
-
// 資産取引削除タスクを作成
|
|
397
|
-
const deleteTransactionTask = {
|
|
398
|
-
project: transaction.project,
|
|
399
|
-
name: factory.taskName.DeleteAssetTransaction,
|
|
400
|
-
status: factory.taskStatus.Ready,
|
|
401
|
-
runsAt: moment(transaction.endDate)
|
|
402
|
-
.add(settings_1.ASSET_TRANSACTION_STORAGE_PERIOD_IN_DAYS, 'days')
|
|
403
|
-
.toDate(),
|
|
404
|
-
remainingNumberOfTries: 3,
|
|
405
|
-
numberOfTried: 0,
|
|
406
|
-
executionResults: [],
|
|
407
|
-
data: {
|
|
408
|
-
object: {
|
|
409
|
-
project: transaction.project,
|
|
410
|
-
id: transaction.id,
|
|
411
|
-
transactionNumber: transaction.transactionNumber,
|
|
412
|
-
typeOf: transaction.typeOf
|
|
413
|
-
}
|
|
414
|
-
}
|
|
415
|
-
};
|
|
416
|
-
taskAttributes.push(deleteTransactionTask);
|
|
417
403
|
// タスク実行日時バッファの指定があれば調整
|
|
418
404
|
let taskRunsAt = new Date();
|
|
419
405
|
if (typeof params.runsTasksAfterInSeconds === 'number') {
|
|
@@ -470,7 +456,7 @@ function exportTasksById(params) {
|
|
|
470
456
|
default:
|
|
471
457
|
throw new factory.errors.NotImplemented(`Transaction status "${transaction.status}" not implemented.`);
|
|
472
458
|
}
|
|
473
|
-
return repos.task.saveMany(taskAttributes);
|
|
459
|
+
return repos.task.saveMany(taskAttributes, { emitImmediately: true });
|
|
474
460
|
});
|
|
475
461
|
}
|
|
476
462
|
exports.exportTasksById = exportTasksById;
|
|
@@ -15,7 +15,6 @@ exports.exportTasksById = exports.cancel = exports.confirm = exports.start = voi
|
|
|
15
15
|
*/
|
|
16
16
|
const moment = require("moment");
|
|
17
17
|
const factory = require("../../factory");
|
|
18
|
-
const settings_1 = require("../../settings");
|
|
19
18
|
const factory_1 = require("./refund/factory");
|
|
20
19
|
const potentialActions_1 = require("./refund/potentialActions");
|
|
21
20
|
/**
|
|
@@ -92,7 +91,7 @@ function fixPaymentService(params) {
|
|
|
92
91
|
project: { id: { $eq: params.payAction.project.id } },
|
|
93
92
|
typeOf: { $eq: params.paymentServiceType },
|
|
94
93
|
id: { $eq: paymentServiceId }
|
|
95
|
-
});
|
|
94
|
+
}, [], []);
|
|
96
95
|
paymentService = paymentServices.shift();
|
|
97
96
|
if (paymentService === undefined) {
|
|
98
97
|
throw new factory.errors.NotFound('PaymentService');
|
|
@@ -160,27 +159,6 @@ function exportTasksById(params) {
|
|
|
160
159
|
});
|
|
161
160
|
const potentialActions = transaction.potentialActions;
|
|
162
161
|
const taskAttributes = [];
|
|
163
|
-
// 資産取引削除タスクを作成
|
|
164
|
-
const deleteTransactionTask = {
|
|
165
|
-
project: transaction.project,
|
|
166
|
-
name: factory.taskName.DeleteAssetTransaction,
|
|
167
|
-
status: factory.taskStatus.Ready,
|
|
168
|
-
runsAt: moment(transaction.endDate)
|
|
169
|
-
.add(settings_1.ASSET_TRANSACTION_STORAGE_PERIOD_IN_DAYS, 'days')
|
|
170
|
-
.toDate(),
|
|
171
|
-
remainingNumberOfTries: 3,
|
|
172
|
-
numberOfTried: 0,
|
|
173
|
-
executionResults: [],
|
|
174
|
-
data: {
|
|
175
|
-
object: {
|
|
176
|
-
project: transaction.project,
|
|
177
|
-
id: transaction.id,
|
|
178
|
-
transactionNumber: transaction.transactionNumber,
|
|
179
|
-
typeOf: transaction.typeOf
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
};
|
|
183
|
-
taskAttributes.push(deleteTransactionTask);
|
|
184
162
|
// タスク実行日時バッファの指定があれば調整
|
|
185
163
|
let taskRunsAt = new Date();
|
|
186
164
|
if (typeof params.runsTasksAfterInSeconds === 'number') {
|
|
@@ -218,7 +196,7 @@ function exportTasksById(params) {
|
|
|
218
196
|
default:
|
|
219
197
|
throw new factory.errors.NotImplemented(`Transaction status "${transaction.status}" not implemented.`);
|
|
220
198
|
}
|
|
221
|
-
return repos.task.saveMany(taskAttributes);
|
|
199
|
+
return repos.task.saveMany(taskAttributes, { emitImmediately: true });
|
|
222
200
|
});
|
|
223
201
|
}
|
|
224
202
|
exports.exportTasksById = exportTasksById;
|
|
@@ -13,10 +13,8 @@ exports.exportTasksById = exports.cancel = exports.confirm = exports.start = voi
|
|
|
13
13
|
/**
|
|
14
14
|
* サービス登録取引サービス
|
|
15
15
|
*/
|
|
16
|
-
const moment = require("moment");
|
|
17
16
|
const pecorinoapi = require("../../pecorinoapi");
|
|
18
17
|
const factory = require("../../factory");
|
|
19
|
-
const settings_1 = require("../../settings");
|
|
20
18
|
const searchProductOffers_1 = require("../offer/product/searchProductOffers");
|
|
21
19
|
const factory_1 = require("./registerService/factory");
|
|
22
20
|
const potentialActions_1 = require("./registerService/potentialActions");
|
|
@@ -230,27 +228,6 @@ function exportTasksById(params) {
|
|
|
230
228
|
});
|
|
231
229
|
const potentialActions = transaction.potentialActions;
|
|
232
230
|
const taskAttributes = [];
|
|
233
|
-
// 資産取引削除タスクを作成
|
|
234
|
-
const deleteTransactionTask = {
|
|
235
|
-
project: transaction.project,
|
|
236
|
-
name: factory.taskName.DeleteAssetTransaction,
|
|
237
|
-
status: factory.taskStatus.Ready,
|
|
238
|
-
runsAt: moment(transaction.endDate)
|
|
239
|
-
.add(settings_1.ASSET_TRANSACTION_STORAGE_PERIOD_IN_DAYS, 'days')
|
|
240
|
-
.toDate(),
|
|
241
|
-
remainingNumberOfTries: 3,
|
|
242
|
-
numberOfTried: 0,
|
|
243
|
-
executionResults: [],
|
|
244
|
-
data: {
|
|
245
|
-
object: {
|
|
246
|
-
project: transaction.project,
|
|
247
|
-
id: transaction.id,
|
|
248
|
-
transactionNumber: transaction.transactionNumber,
|
|
249
|
-
typeOf: transaction.typeOf
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
};
|
|
253
|
-
taskAttributes.push(deleteTransactionTask);
|
|
254
231
|
const taskRunsAt = new Date();
|
|
255
232
|
switch (transaction.status) {
|
|
256
233
|
case factory.transactionStatusType.Confirmed:
|
|
@@ -301,8 +278,7 @@ function exportTasksById(params) {
|
|
|
301
278
|
default:
|
|
302
279
|
throw new factory.errors.NotImplemented(`Transaction status "${transaction.status}" not implemented.`);
|
|
303
280
|
}
|
|
304
|
-
return repos.task.saveMany(taskAttributes);
|
|
305
|
-
// return Promise.all(taskAttributes.map(async (a) => repos.task.save(a)));
|
|
281
|
+
return repos.task.saveMany(taskAttributes, { emitImmediately: true });
|
|
306
282
|
});
|
|
307
283
|
}
|
|
308
284
|
exports.exportTasksById = exportTasksById;
|
|
@@ -4,6 +4,8 @@ type IObjectSubReservation = factory.assetTransaction.reserve.IObjectSubReservat
|
|
|
4
4
|
export { IAcceptedAddOn };
|
|
5
5
|
export declare function createStartParams(params: factory.assetTransaction.reserve.IStartParamsWithoutDetail & {
|
|
6
6
|
reservationNumber: string;
|
|
7
|
+
disablePendingReservations: boolean;
|
|
8
|
+
useHoldStockByTransactionNumber: boolean;
|
|
7
9
|
}): factory.assetTransaction.IStartParams<factory.assetTransactionType.Reserve>;
|
|
8
10
|
/**
|
|
9
11
|
* ポイント特典を作成する
|
|
@@ -45,6 +47,11 @@ export declare function createAdditionalTicketText(params: {
|
|
|
45
47
|
}): string | undefined;
|
|
46
48
|
export type IUnitPriceSpecification = factory.priceSpecification.IPriceSpecification<factory.priceSpecificationType.UnitPriceSpecification>;
|
|
47
49
|
export declare function createReservationFor(params: factory.event.screeningEvent.IEvent | factory.event.event.IEvent): factory.assetTransaction.reserve.IReservationFor;
|
|
50
|
+
export declare function createIssuedThrough(params: {
|
|
51
|
+
reservationFor: factory.event.screeningEvent.IEvent | factory.event.event.IEvent;
|
|
52
|
+
}): {
|
|
53
|
+
issuedThrough: factory.assetTransaction.reserve.IIssuedThrough;
|
|
54
|
+
};
|
|
48
55
|
export declare function createReservation(params: {
|
|
49
56
|
project: {
|
|
50
57
|
id: string;
|
|
@@ -53,7 +60,6 @@ export declare function createReservation(params: {
|
|
|
53
60
|
id: string;
|
|
54
61
|
reserveDate: Date;
|
|
55
62
|
agent: factory.assetTransaction.reserve.IAgent;
|
|
56
|
-
broker?: factory.reservation.IBroker<factory.reservationType.EventReservation>;
|
|
57
63
|
reservationNumber: string;
|
|
58
64
|
reservationFor: factory.event.screeningEvent.IEvent | factory.event.event.IEvent;
|
|
59
65
|
reservedTicket: factory.reservation.ITicket;
|
|
@@ -70,8 +76,12 @@ export declare function createReservation(params: {
|
|
|
70
76
|
}): IObjectSubReservation;
|
|
71
77
|
export declare function createPotentialActions(params: factory.assetTransaction.reserve.IConfirmParams & {
|
|
72
78
|
transaction: factory.assetTransaction.ITransaction<factory.assetTransactionType.Reserve>;
|
|
73
|
-
order?: factory.order.IOrder
|
|
74
|
-
}):
|
|
75
|
-
|
|
79
|
+
order?: Pick<factory.order.IOrder, 'orderNumber' | 'customer' | 'typeOf'>;
|
|
80
|
+
}): {
|
|
81
|
+
potentialActions: factory.assetTransaction.reserve.IPotentialActions;
|
|
82
|
+
reservationPackage?: factory.action.reserve.IReservationPackageAsObject;
|
|
83
|
+
underName?: factory.reservation.IUnderName<factory.reservationType.EventReservation>;
|
|
84
|
+
};
|
|
85
|
+
export declare function createCancelPendingReservationAction(params: {
|
|
76
86
|
transaction: factory.assetTransaction.ITransaction<factory.assetTransactionType.Reserve>;
|
|
77
|
-
}): factory.action.cancel.reservation.IAttributes
|
|
87
|
+
}): factory.action.cancel.reservation.IAttributes | undefined;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.createCancelPendingReservationAction = exports.createPotentialActions = exports.createReservation = exports.createIssuedThrough = exports.createReservationFor = exports.createAdditionalTicketText = exports.createAdditionalProperty = exports.validateAppliesToMovieTicket = exports.createReservedTicket = exports.createPointAward = exports.createStartParams = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* 予約取引ファクトリー
|
|
6
6
|
*/
|
|
@@ -12,8 +12,8 @@ function createStartParams(params) {
|
|
|
12
12
|
var _a;
|
|
13
13
|
const reservationNumber = params.reservationNumber;
|
|
14
14
|
const reservationPackage = Object.assign({
|
|
15
|
-
//
|
|
16
|
-
|
|
15
|
+
// project: params.project,
|
|
16
|
+
reservationNumber: reservationNumber, reservationStatus: factory.reservationStatusType.ReservationPending, disablePendingReservations: params.disablePendingReservations, useHoldStockByTransactionNumber: params.useHoldStockByTransactionNumber, typeOf: factory.reservationType.ReservationPackage }, (typeof ((_a = params.object.broker) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string') ? { broker: params.object.broker } : undefined);
|
|
17
17
|
return {
|
|
18
18
|
project: { id: params.project.id, typeOf: factory.organizationType.Project },
|
|
19
19
|
typeOf: factory.assetTransactionType.Reserve,
|
|
@@ -356,23 +356,8 @@ function optimizeReservationSuperEvent(params) {
|
|
|
356
356
|
? { headline: superEvent.headline }
|
|
357
357
|
: undefined);
|
|
358
358
|
}
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
var _a, _b, _c, _d, _e;
|
|
362
|
-
// 適用メンバーシップ確認
|
|
363
|
-
validateEligibleMembershipType({
|
|
364
|
-
availableOffer: params.availableOffer,
|
|
365
|
-
programMembershipUsed: params.programMembershipUsed
|
|
366
|
-
});
|
|
367
|
-
// 適用MovieTicketのidentifier指定を必須化(2022-06-02~)
|
|
368
|
-
if (params.validateAppliesToMovieTicket) {
|
|
369
|
-
validateAppliesToMovieTicket({
|
|
370
|
-
availableOffer: params.availableOffer,
|
|
371
|
-
appliesToMovieTicket: params.appliesToMovieTicket
|
|
372
|
-
});
|
|
373
|
-
}
|
|
374
|
-
// priceを最適化
|
|
375
|
-
const price4reservation = (0, price_1.createPrice)(params);
|
|
359
|
+
function createIssuedThrough(params) {
|
|
360
|
+
var _a;
|
|
376
361
|
const eventOffers = params.reservationFor.offers;
|
|
377
362
|
// offersは必ず存在するはず
|
|
378
363
|
if (eventOffers === undefined) {
|
|
@@ -393,7 +378,67 @@ function createReservation(params) {
|
|
|
393
378
|
const issuedThrough = Object.assign({ typeOf: factory.product.ProductType.EventService,
|
|
394
379
|
// 興行IDを追加(2022-09-08~)
|
|
395
380
|
id: eventOffers.itemOffered.id, availableChannel }, (typeof (serviceTypeOfIssuedThrough === null || serviceTypeOfIssuedThrough === void 0 ? void 0 : serviceTypeOfIssuedThrough.typeOf) === 'string') ? { serviceType: serviceTypeOfIssuedThrough } : undefined);
|
|
396
|
-
return
|
|
381
|
+
return {
|
|
382
|
+
issuedThrough
|
|
383
|
+
};
|
|
384
|
+
}
|
|
385
|
+
else {
|
|
386
|
+
const issuedThrough = Object.assign({ typeOf: factory.product.ProductType.Transportation,
|
|
387
|
+
// 興行IDを追加(2022-09-08~)
|
|
388
|
+
id: eventOffers.itemOffered.id, availableChannel }, (typeof (serviceTypeOfIssuedThrough === null || serviceTypeOfIssuedThrough === void 0 ? void 0 : serviceTypeOfIssuedThrough.typeOf) === 'string') ? { serviceType: serviceTypeOfIssuedThrough } : undefined);
|
|
389
|
+
return {
|
|
390
|
+
issuedThrough
|
|
391
|
+
};
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
exports.createIssuedThrough = createIssuedThrough;
|
|
395
|
+
// tslint:disable-next-line:cyclomatic-complexity max-func-body-length
|
|
396
|
+
function createReservation(params) {
|
|
397
|
+
var _a, _b;
|
|
398
|
+
// 適用メンバーシップ確認
|
|
399
|
+
validateEligibleMembershipType({
|
|
400
|
+
availableOffer: params.availableOffer,
|
|
401
|
+
programMembershipUsed: params.programMembershipUsed
|
|
402
|
+
});
|
|
403
|
+
// 適用MovieTicketのidentifier指定を必須化(2022-06-02~)
|
|
404
|
+
if (params.validateAppliesToMovieTicket) {
|
|
405
|
+
validateAppliesToMovieTicket({
|
|
406
|
+
availableOffer: params.availableOffer,
|
|
407
|
+
appliesToMovieTicket: params.appliesToMovieTicket
|
|
408
|
+
});
|
|
409
|
+
}
|
|
410
|
+
// priceを最適化
|
|
411
|
+
const price4reservation = (0, price_1.createPrice)(params);
|
|
412
|
+
// const eventOffers = <factory.event.screeningEvent.IOffer | undefined>params.reservationFor.offers;
|
|
413
|
+
// // offersは必ず存在するはず
|
|
414
|
+
// if (eventOffers === undefined) {
|
|
415
|
+
// throw new factory.errors.NotFound('reservationFor.offers');
|
|
416
|
+
// }
|
|
417
|
+
// const serviceTypeOfIssuedThrough: factory.reservation.eventReservation.IServiceTypeOfIssuedThrough | undefined
|
|
418
|
+
// = (typeof eventOffers.itemOffered.serviceType?.codeValue === 'string')
|
|
419
|
+
// ? {
|
|
420
|
+
// codeValue: eventOffers.itemOffered.serviceType.codeValue,
|
|
421
|
+
// inCodeSet: {
|
|
422
|
+
// typeOf: 'CategoryCodeSet',
|
|
423
|
+
// identifier: factory.categoryCode.CategorySetIdentifier.ServiceType
|
|
424
|
+
// },
|
|
425
|
+
// typeOf: 'CategoryCode'
|
|
426
|
+
// }
|
|
427
|
+
// : undefined;
|
|
428
|
+
// const availableChannel: factory.reservation.IServiceChannel = eventOffers.itemOffered.availableChannel;
|
|
429
|
+
if (params.reservationFor.typeOf === factory.eventType.ScreeningEvent) {
|
|
430
|
+
// const issuedThrough: factory.reservation.eventReservation.IIssuedThrough = {
|
|
431
|
+
// typeOf: factory.product.ProductType.EventService,
|
|
432
|
+
// // 興行IDを追加(2022-09-08~)
|
|
433
|
+
// id: eventOffers.itemOffered.id,
|
|
434
|
+
// availableChannel,
|
|
435
|
+
// // issuedThrough.serviceTypeを連携
|
|
436
|
+
// ...(typeof serviceTypeOfIssuedThrough?.typeOf === 'string') ? { serviceType: serviceTypeOfIssuedThrough } : undefined
|
|
437
|
+
// };
|
|
438
|
+
return Object.assign(Object.assign(Object.assign({ project: params.project, typeOf: factory.reservationType.EventReservation, id: params.id,
|
|
439
|
+
// reservationPackage保管に移行(2023-06-06~)
|
|
440
|
+
// issuedThrough,
|
|
441
|
+
additionalProperty: params.additionalProperty, bookingTime: params.reserveDate, modifiedTime: params.reserveDate, numSeats: 1, price: price4reservation, priceCurrency: factory.priceCurrency.JPY, reservationNumber: params.reservationNumber, reservationStatus: factory.reservationStatusType.ReservationPending, reservedTicket: params.reservedTicket,
|
|
397
442
|
// 最適化(2022-12-19~)
|
|
398
443
|
underName: {
|
|
399
444
|
typeOf: params.agent.typeOf,
|
|
@@ -409,15 +454,23 @@ function createReservation(params) {
|
|
|
409
454
|
};
|
|
410
455
|
})
|
|
411
456
|
}
|
|
412
|
-
: undefined), (typeof ((
|
|
457
|
+
: undefined), (typeof ((_a = params.programMembershipUsed) === null || _a === void 0 ? void 0 : _a.identifier) === 'string')
|
|
413
458
|
? { programMembershipUsed: params.programMembershipUsed }
|
|
414
459
|
: undefined);
|
|
415
460
|
}
|
|
416
461
|
else {
|
|
417
|
-
const issuedThrough
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
462
|
+
// const issuedThrough: factory.reservation.busReservation.IIssuedThrough = {
|
|
463
|
+
// typeOf: factory.product.ProductType.Transportation,
|
|
464
|
+
// // 興行IDを追加(2022-09-08~)
|
|
465
|
+
// id: eventOffers.itemOffered.id,
|
|
466
|
+
// availableChannel,
|
|
467
|
+
// // issuedThrough.serviceTypeを連携
|
|
468
|
+
// ...(typeof serviceTypeOfIssuedThrough?.typeOf === 'string') ? { serviceType: serviceTypeOfIssuedThrough } : undefined
|
|
469
|
+
// };
|
|
470
|
+
return Object.assign(Object.assign(Object.assign({ project: params.project, typeOf: factory.reservationType.BusReservation, id: params.id,
|
|
471
|
+
// reservationPackage保管に移行(2023-06-06~)
|
|
472
|
+
// issuedThrough,
|
|
473
|
+
additionalProperty: params.additionalProperty, bookingTime: params.reserveDate, modifiedTime: params.reserveDate, numSeats: 1, price: price4reservation, priceCurrency: factory.priceCurrency.JPY, reservationNumber: params.reservationNumber, reservationStatus: factory.reservationStatusType.ReservationPending, reservedTicket: params.reservedTicket, underName: {
|
|
421
474
|
typeOf: params.agent.typeOf,
|
|
422
475
|
name: params.agent.name
|
|
423
476
|
}, checkedIn: false, attended: false }, (typeof params.additionalTicketText === 'string') ? { additionalTicketText: params.additionalTicketText } : undefined), (Array.isArray(params.subReservation))
|
|
@@ -431,7 +484,7 @@ function createReservation(params) {
|
|
|
431
484
|
};
|
|
432
485
|
})
|
|
433
486
|
}
|
|
434
|
-
: undefined), (typeof ((
|
|
487
|
+
: undefined), (typeof ((_b = params.programMembershipUsed) === null || _b === void 0 ? void 0 : _b.identifier) === 'string')
|
|
435
488
|
? { programMembershipUsed: params.programMembershipUsed }
|
|
436
489
|
: undefined);
|
|
437
490
|
}
|
|
@@ -448,9 +501,10 @@ function createPotentialActions(params) {
|
|
|
448
501
|
// 予約アクション属性作成
|
|
449
502
|
const pendingReservations = (Array.isArray(transaction.object.subReservation)) ? transaction.object.subReservation : [];
|
|
450
503
|
let reserveActionAttributes = [];
|
|
504
|
+
let reservationPackage;
|
|
505
|
+
let underName;
|
|
451
506
|
if (pendingReservations.length > 0) {
|
|
452
507
|
// ReservationPackageに対応(2022-12-22~)
|
|
453
|
-
let underName;
|
|
454
508
|
// purpose:Orderの指定があれば、underName,issuedByを調整(2022-05-23~)
|
|
455
509
|
if (typeof ((_a = params.order) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string') {
|
|
456
510
|
const ordre2reservationUnderNameResult = ordre2reservationUnderName({ order: params.order });
|
|
@@ -467,10 +521,18 @@ function createPotentialActions(params) {
|
|
|
467
521
|
underName
|
|
468
522
|
}));
|
|
469
523
|
});
|
|
470
|
-
|
|
524
|
+
reservationPackage = {
|
|
525
|
+
reservationFor,
|
|
526
|
+
reservationNumber: transaction.object.reservationNumber,
|
|
527
|
+
reservationStatus: (typeof params.transaction.object.reservationStatus === 'string')
|
|
528
|
+
? params.transaction.object.reservationStatus
|
|
529
|
+
: factory.reservationStatusType.ReservationPending,
|
|
471
530
|
// 不要なので廃止(2023-01-19~)
|
|
472
531
|
// subReservation: pendingReservations,
|
|
473
|
-
typeOf: factory.reservationType.ReservationPackage
|
|
532
|
+
typeOf: factory.reservationType.ReservationPackage
|
|
533
|
+
// 廃止(2023-05-31~)→予約取引から取得に変更
|
|
534
|
+
// ...(typeof underName?.typeOf === 'string') ? { underName } : undefined
|
|
535
|
+
};
|
|
474
536
|
reserveActionAttributes = [{
|
|
475
537
|
project: transaction.project,
|
|
476
538
|
typeOf: factory.actionType.ReserveAction,
|
|
@@ -484,7 +546,11 @@ function createPotentialActions(params) {
|
|
|
484
546
|
}];
|
|
485
547
|
}
|
|
486
548
|
return {
|
|
487
|
-
|
|
549
|
+
potentialActions: {
|
|
550
|
+
reserve: reserveActionAttributes
|
|
551
|
+
},
|
|
552
|
+
reservationPackage,
|
|
553
|
+
underName
|
|
488
554
|
};
|
|
489
555
|
}
|
|
490
556
|
exports.createPotentialActions = createPotentialActions;
|
|
@@ -503,15 +569,11 @@ function createReservationUnderName(params) {
|
|
|
503
569
|
*/
|
|
504
570
|
function ordre2reservationUnderName(params) {
|
|
505
571
|
return {
|
|
506
|
-
// issuedBy: {
|
|
507
|
-
// typeOf: params.order.seller.typeOf,
|
|
508
|
-
// name: params.order.seller.name
|
|
509
|
-
// },
|
|
510
572
|
underName: createReservationUnderName({ order: params.order })
|
|
511
573
|
};
|
|
512
574
|
}
|
|
513
575
|
function createMoneyTransferActions(params) {
|
|
514
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s
|
|
576
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
|
|
515
577
|
const pointAward = (_b = (_a = params.acceptedOffer) === null || _a === void 0 ? void 0 : _a.itemOffered) === null || _b === void 0 ? void 0 : _b.pointAward;
|
|
516
578
|
const moneyTransfer = [];
|
|
517
579
|
// ポイント特典があれば適用
|
|
@@ -524,38 +586,38 @@ function createMoneyTransferActions(params) {
|
|
|
524
586
|
typeOf: (typeof ((_f = params.reservation.reservedTicket.issuedBy) === null || _f === void 0 ? void 0 : _f.typeOf) === 'string')
|
|
525
587
|
? params.reservation.reservedTicket.issuedBy.typeOf
|
|
526
588
|
: params.transaction.typeOf,
|
|
527
|
-
name: (typeof ((
|
|
589
|
+
name: (typeof ((_g = params.reservation.reservedTicket.issuedBy) === null || _g === void 0 ? void 0 : _g.name) === 'string')
|
|
528
590
|
? params.reservation.reservedTicket.issuedBy.name
|
|
529
591
|
: params.transaction.id
|
|
530
592
|
};
|
|
531
593
|
const toLocation = {
|
|
532
594
|
identifier: pointAwardToLocationIdentifier,
|
|
533
595
|
typeOf: factory.permit.PermitType.Permit,
|
|
534
|
-
issuedThrough: { id: String((
|
|
596
|
+
issuedThrough: { id: String((_j = (_h = pointAward.toLocation) === null || _h === void 0 ? void 0 : _h.issuedThrough) === null || _j === void 0 ? void 0 : _j.id) }
|
|
535
597
|
};
|
|
536
598
|
const recipient = {
|
|
537
|
-
typeOf: (typeof ((
|
|
538
|
-
? (
|
|
599
|
+
typeOf: (typeof ((_k = params.underName) === null || _k === void 0 ? void 0 : _k.typeOf) === 'string')
|
|
600
|
+
? (_l = params.underName) === null || _l === void 0 ? void 0 : _l.typeOf
|
|
539
601
|
: factory.personType.Person,
|
|
540
|
-
id: (typeof ((
|
|
541
|
-
? (
|
|
602
|
+
id: (typeof ((_m = params.underName) === null || _m === void 0 ? void 0 : _m.id) === 'string')
|
|
603
|
+
? (_o = params.underName) === null || _o === void 0 ? void 0 : _o.id
|
|
542
604
|
: '',
|
|
543
|
-
name: String((
|
|
605
|
+
name: String((_p = params.underName) === null || _p === void 0 ? void 0 : _p.name)
|
|
544
606
|
};
|
|
545
607
|
moneyTransfer.push(Object.assign(Object.assign({ project: params.transaction.project, typeOf: factory.actionType.MoneyTransfer, agent: params.transaction.project, recipient, object: {
|
|
546
608
|
typeOf: factory.account.transactionType.Deposit
|
|
547
|
-
}, purpose: Object.assign({ typeOf: params.transaction.typeOf, id: params.transaction.id }, (typeof ((
|
|
609
|
+
}, purpose: Object.assign({ typeOf: params.transaction.typeOf, id: params.transaction.id }, (typeof ((_q = pointAward.purpose) === null || _q === void 0 ? void 0 : _q.identifier) === 'string') ? { identifier: pointAward.purpose.identifier } : undefined), amount: {
|
|
548
610
|
typeOf: 'MonetaryAmount',
|
|
549
|
-
value: (
|
|
550
|
-
currency: (
|
|
611
|
+
value: (_r = pointAward.amount) === null || _r === void 0 ? void 0 : _r.value,
|
|
612
|
+
currency: (_s = pointAward.amount) === null || _s === void 0 ? void 0 : _s.currency
|
|
551
613
|
}, fromLocation: fromLocation, toLocation: toLocation }, (typeof pointAward.description === 'string') ? { description: pointAward.description } : undefined), (pointAward.recipient !== undefined) ? { recipient: pointAward.recipient } : undefined));
|
|
552
614
|
}
|
|
553
615
|
return moneyTransfer;
|
|
554
616
|
}
|
|
555
|
-
function
|
|
617
|
+
function createCancelPendingReservationAction(params) {
|
|
556
618
|
const transaction = params.transaction;
|
|
557
619
|
const pendingReservations = (Array.isArray(transaction.object.subReservation)) ? transaction.object.subReservation : [];
|
|
558
|
-
let cancelActionAttributes
|
|
620
|
+
let cancelActionAttributes;
|
|
559
621
|
if (pendingReservations.length > 0) {
|
|
560
622
|
const reservationFor = transaction.object.reservationFor;
|
|
561
623
|
if (reservationFor === undefined) {
|
|
@@ -566,17 +628,19 @@ function createPendingReservationAction(params) {
|
|
|
566
628
|
typeOf: factory.reservationType.ReservationPackage,
|
|
567
629
|
reservationNumber: transaction.transactionNumber,
|
|
568
630
|
reservationFor: { typeOf: reservationFor.typeOf, id: String(reservationFor.id) },
|
|
569
|
-
reservationStatus:
|
|
631
|
+
reservationStatus: (typeof params.transaction.object.reservationStatus === 'string')
|
|
632
|
+
? params.transaction.object.reservationStatus
|
|
633
|
+
: factory.reservationStatusType.ReservationPending
|
|
634
|
+
};
|
|
635
|
+
cancelActionAttributes = {
|
|
636
|
+
project: transaction.project,
|
|
637
|
+
typeOf: factory.actionType.CancelAction,
|
|
638
|
+
purpose: { typeOf: transaction.typeOf, id: transaction.id },
|
|
639
|
+
agent: transaction.project,
|
|
640
|
+
object: reservationPackage,
|
|
641
|
+
potentialActions: {}
|
|
570
642
|
};
|
|
571
|
-
cancelActionAttributes = [{
|
|
572
|
-
project: transaction.project,
|
|
573
|
-
typeOf: factory.actionType.CancelAction,
|
|
574
|
-
purpose: { typeOf: transaction.typeOf, id: transaction.id },
|
|
575
|
-
agent: transaction.project,
|
|
576
|
-
object: reservationPackage,
|
|
577
|
-
potentialActions: {}
|
|
578
|
-
}];
|
|
579
643
|
}
|
|
580
644
|
return cancelActionAttributes;
|
|
581
645
|
}
|
|
582
|
-
exports.
|
|
646
|
+
exports.createCancelPendingReservationAction = createCancelPendingReservationAction;
|