@chevre/domain 23.2.0-alpha.61 → 23.2.0-alpha.63
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/lib/chevre/credentials/customSearch.js +2 -0
- package/lib/chevre/credentials/lineNotify.js +4 -0
- package/lib/chevre/credentials/sendGrid.js +2 -0
- package/lib/chevre/credentials.js +15 -30
- package/lib/chevre/emailMessageBuilder.js +225 -250
- package/lib/chevre/errorHandler.js +38 -59
- package/lib/chevre/eventEmitter/assetTransaction.js +0 -1
- package/lib/chevre/eventEmitter/task.js +0 -1
- package/lib/chevre/eventEmitter/transaction.js +0 -1
- package/lib/chevre/factory/event.js +69 -42
- package/lib/chevre/factory/transactionNumber.js +2 -2
- package/lib/chevre/index.js +15 -30
- package/lib/chevre/repo/acceptedOffer.js +177 -197
- package/lib/chevre/repo/acceptedPaymentMethod.js +131 -144
- package/lib/chevre/repo/account.js +194 -238
- package/lib/chevre/repo/accountTitle.js +9 -21
- package/lib/chevre/repo/accountTransaction.js +186 -193
- package/lib/chevre/repo/accountingReport.js +88 -107
- package/lib/chevre/repo/action.js +849 -883
- package/lib/chevre/repo/additionalProperty.js +64 -92
- package/lib/chevre/repo/advanceBookingRequirement.js +69 -91
- package/lib/chevre/repo/aggregateOffer.js +392 -430
- package/lib/chevre/repo/aggregateOrder.js +50 -62
- package/lib/chevre/repo/aggregateReservation.js +76 -89
- package/lib/chevre/repo/aggregation.js +42 -63
- package/lib/chevre/repo/assetTransaction.js +692 -729
- package/lib/chevre/repo/authorization.js +115 -134
- package/lib/chevre/repo/categoryCode.js +114 -147
- package/lib/chevre/repo/comment.js +73 -82
- package/lib/chevre/repo/concurrentLock.js +17 -29
- package/lib/chevre/repo/confirmationNumber.js +19 -35
- package/lib/chevre/repo/creativeWork.js +152 -180
- package/lib/chevre/repo/credentials.js +39 -51
- package/lib/chevre/repo/customer.js +64 -88
- package/lib/chevre/repo/customerType.js +52 -62
- package/lib/chevre/repo/emailMessage.js +51 -80
- package/lib/chevre/repo/event.js +640 -684
- package/lib/chevre/repo/eventOffer.js +122 -125
- package/lib/chevre/repo/eventSellerMakesOffer.js +64 -76
- package/lib/chevre/repo/eventSeries.js +207 -244
- package/lib/chevre/repo/identity.js +94 -107
- package/lib/chevre/repo/identityProvider.js +72 -96
- package/lib/chevre/repo/issuer.js +102 -135
- package/lib/chevre/repo/member.js +238 -259
- package/lib/chevre/repo/memberProgram.js +157 -177
- package/lib/chevre/repo/merchantReturnPolicy.js +61 -94
- package/lib/chevre/repo/message.js +122 -135
- package/lib/chevre/repo/mongoose/onIndexCreated.js +0 -1
- package/lib/chevre/repo/mongoose/schemas/acceptedPaymentMethod.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/account.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/accountTitle.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/accountTransaction.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/accountingReport.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/action.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/actionRecipe.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/additionalProperty.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/advanceBookingRequirement.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/aggregateOffer.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/aggregateOrder.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/aggregateReservation.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/aggregation.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/assetTransaction.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/authorization.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/categoryCode.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/civicStructure.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/creativeWork.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/customer.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/customerType.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/event.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/eventOffer.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/eventSeries.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/identity.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/identityProvider.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/issuer.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/member/global.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/member.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/message.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/movieTicketTypes.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/note.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/offerCatalog.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/offerCatalogItem.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/offerItemCondition.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/order.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/paymentService.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/paymentServiceChannel.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/pendingReservation.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/pendingReservationAggregate.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/place.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/potentialAction.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/product.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/productModel.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/productOffer.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/reservation.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/reserveInterface.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/role.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/schedule.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/seller.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/sellerReturnPolicy.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/service/availableHour.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/setting.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/task.js +1 -2
- package/lib/chevre/repo/mongoose/schemas/ticket.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/transaction.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/transactionNumber.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/trip.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/webSite.js +1 -1
- package/lib/chevre/repo/movieTicketType.js +67 -94
- package/lib/chevre/repo/note.js +143 -147
- package/lib/chevre/repo/noteAboutOrder.js +112 -113
- package/lib/chevre/repo/offer/unitPriceInCatalog.js +330 -314
- package/lib/chevre/repo/offerCatalog.js +302 -334
- package/lib/chevre/repo/offerCatalogItem.js +289 -317
- package/lib/chevre/repo/offerItemCondition.js +60 -85
- package/lib/chevre/repo/order.js +559 -607
- package/lib/chevre/repo/orderInTransaction.js +113 -136
- package/lib/chevre/repo/orderNumber.js +95 -112
- package/lib/chevre/repo/ownershipInfo.js +212 -240
- package/lib/chevre/repo/passport.js +93 -102
- package/lib/chevre/repo/paymentMethod/creditCard.js +151 -169
- package/lib/chevre/repo/paymentService.js +179 -200
- package/lib/chevre/repo/paymentServiceChannel.js +76 -100
- package/lib/chevre/repo/paymentServiceProvider.js +186 -201
- package/lib/chevre/repo/pendingReservation.js +272 -305
- package/lib/chevre/repo/permit.js +47 -42
- package/lib/chevre/repo/person.js +217 -256
- package/lib/chevre/repo/place/busStop.js +76 -106
- package/lib/chevre/repo/place/entranceGate.js +123 -128
- package/lib/chevre/repo/place/hasPOS.js +108 -120
- package/lib/chevre/repo/place/movieTheater.js +185 -220
- package/lib/chevre/repo/place/screeningRoom.js +339 -325
- package/lib/chevre/repo/place/seat.js +538 -481
- package/lib/chevre/repo/place/section.js +328 -296
- package/lib/chevre/repo/potentialAction.js +67 -87
- package/lib/chevre/repo/priceSpecification.js +102 -146
- package/lib/chevre/repo/product.js +203 -239
- package/lib/chevre/repo/productHasOfferCatalog.js +39 -50
- package/lib/chevre/repo/productModel.js +94 -127
- package/lib/chevre/repo/productOffer.js +119 -118
- package/lib/chevre/repo/project.js +123 -141
- package/lib/chevre/repo/projectMakesOffer.js +96 -108
- package/lib/chevre/repo/rateLimit/offer.js +43 -57
- package/lib/chevre/repo/reservation.js +369 -398
- package/lib/chevre/repo/reserveInterface.js +31 -42
- package/lib/chevre/repo/role.js +93 -112
- package/lib/chevre/repo/schedule.js +25 -36
- package/lib/chevre/repo/seller.js +114 -147
- package/lib/chevre/repo/sellerMakesOffer.js +95 -110
- package/lib/chevre/repo/sellerPaymentAccepted.js +92 -109
- package/lib/chevre/repo/sellerReturnPolicy.js +74 -97
- package/lib/chevre/repo/service/availableHour.js +27 -38
- package/lib/chevre/repo/serviceOutput.js +54 -67
- package/lib/chevre/repo/serviceOutputIdentifier.js +46 -58
- package/lib/chevre/repo/setting/jwt.js +40 -50
- package/lib/chevre/repo/setting.js +48 -48
- package/lib/chevre/repo/stockHolder.js +179 -199
- package/lib/chevre/repo/task.js +610 -619
- package/lib/chevre/repo/telemetry.js +1 -0
- package/lib/chevre/repo/ticket.js +52 -65
- package/lib/chevre/repo/transaction.js +754 -815
- package/lib/chevre/repo/transactionNumber.js +67 -80
- package/lib/chevre/repo/transactionNumberCounter.js +68 -79
- package/lib/chevre/repo/transactionProcess.js +36 -47
- package/lib/chevre/repo/trip.js +144 -164
- package/lib/chevre/repo/webSite.js +90 -106
- package/lib/chevre/repository.js +455 -647
- package/lib/chevre/service/account.js +9 -21
- package/lib/chevre/service/accountTransaction/deposit.js +16 -17
- package/lib/chevre/service/accountTransaction/transfer.js +18 -22
- package/lib/chevre/service/accountTransaction/withdraw.js +16 -17
- package/lib/chevre/service/accountTransaction.js +4 -16
- package/lib/chevre/service/aggregation/event/aggregateOffers.js +63 -60
- package/lib/chevre/service/aggregation/event/aggregateScreeningEvent.js +52 -55
- package/lib/chevre/service/aggregation/event/findEventOffers.js +7 -17
- package/lib/chevre/service/aggregation/event/importFromCOA.js +4 -14
- package/lib/chevre/service/aggregation/project.js +10 -19
- package/lib/chevre/service/aggregation/system.js +182 -99
- package/lib/chevre/service/assetTransaction/cancelReservation/factory.js +31 -17
- package/lib/chevre/service/assetTransaction/cancelReservation/start.js +17 -24
- package/lib/chevre/service/assetTransaction/cancelReservation/startAndConfirm.js +17 -15
- package/lib/chevre/service/assetTransaction/cancelReservation.js +7 -18
- package/lib/chevre/service/assetTransaction/cancelReservationCOA/factory.js +11 -4
- package/lib/chevre/service/assetTransaction/cancelReservationCOA.js +4 -13
- package/lib/chevre/service/assetTransaction/fixInformAction.js +6 -16
- package/lib/chevre/service/assetTransaction/moneyTransfer/potentialActions.js +13 -25
- package/lib/chevre/service/assetTransaction/moneyTransfer.js +101 -90
- package/lib/chevre/service/assetTransaction/pay/cancel.js +3 -12
- package/lib/chevre/service/assetTransaction/pay/check.js +4 -14
- package/lib/chevre/service/assetTransaction/pay/confirm.js +18 -21
- package/lib/chevre/service/assetTransaction/pay/exportTasksById.js +4 -14
- package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.js +33 -34
- package/lib/chevre/service/assetTransaction/pay/searchGMOTrade.js +7 -17
- package/lib/chevre/service/assetTransaction/pay/start/account/validation.js +6 -16
- package/lib/chevre/service/assetTransaction/pay/start/factory.js +64 -37
- package/lib/chevre/service/assetTransaction/pay/start/preStart/validateAcceptedPaymentMethodIfNeeded.js +7 -19
- package/lib/chevre/service/assetTransaction/pay/start/preStart/validateSeller.js +6 -16
- package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeAccount.js +7 -17
- package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeCreditCard.js +9 -15
- package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.js +3 -12
- package/lib/chevre/service/assetTransaction/pay/start.js +29 -35
- package/lib/chevre/service/assetTransaction/refund/factory.js +36 -16
- package/lib/chevre/service/assetTransaction/refund/potentialActions.js +12 -21
- package/lib/chevre/service/assetTransaction/refund.js +35 -41
- package/lib/chevre/service/assetTransaction/registerService/factory.js +65 -28
- package/lib/chevre/service/assetTransaction/registerService/potentialActions.js +50 -43
- package/lib/chevre/service/assetTransaction/registerService.js +45 -56
- package/lib/chevre/service/assetTransaction/reserve/cancel.js +5 -14
- package/lib/chevre/service/assetTransaction/reserve/confirm/factory.js +15 -4
- package/lib/chevre/service/assetTransaction/reserve/confirm.js +21 -26
- package/lib/chevre/service/assetTransaction/reserve/exportTasksById.js +3 -13
- package/lib/chevre/service/assetTransaction/reserve/start/createSubReservations.js +99 -83
- package/lib/chevre/service/assetTransaction/reserve/start/factory/createPointAward.js +17 -12
- package/lib/chevre/service/assetTransaction/reserve/start/factory/createReservation.js +108 -72
- package/lib/chevre/service/assetTransaction/reserve/start/factory/createStartParams.js +69 -30
- package/lib/chevre/service/assetTransaction/reserve/start/factory/price.js +29 -20
- package/lib/chevre/service/assetTransaction/reserve/start.js +91 -108
- package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/fixExtendedEventOffer.js +5 -15
- package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/validateIssuedOfferIfExists.js +41 -54
- package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/validateMemberTierIfExists.js +42 -56
- package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/verifyTicketTokenAsNeeded.js +7 -19
- package/lib/chevre/service/assetTransaction/reserve/validateStartRequest.js +15 -27
- package/lib/chevre/service/assetTransaction/reserveCOA/cancel.js +24 -24
- package/lib/chevre/service/assetTransaction/reserveCOA/factory.js +12 -4
- package/lib/chevre/service/assetTransaction/reserveCOA.js +4 -13
- package/lib/chevre/service/assetTransaction.js +17 -21
- package/lib/chevre/service/delivery/factory.js +3 -4
- package/lib/chevre/service/delivery/product/factory.js +16 -7
- package/lib/chevre/service/delivery/reservation/factory.js +14 -3
- package/lib/chevre/service/delivery.js +48 -52
- package/lib/chevre/service/event/processUpdateMovieTheater.js +21 -26
- package/lib/chevre/service/event/saveScreeningEventSeries.js +56 -41
- package/lib/chevre/service/event/saveScreeningEvents.js +14 -29
- package/lib/chevre/service/event.js +34 -30
- package/lib/chevre/service/iam.js +8 -17
- package/lib/chevre/service/moneyTransfer.js +128 -112
- package/lib/chevre/service/notification/factory.js +11 -10
- package/lib/chevre/service/notification/notifyAbortedTasksByEmail.js +11 -15
- package/lib/chevre/service/notification/notifyByEmail.js +7 -19
- package/lib/chevre/service/notification/sendEmailMessage.js +23 -26
- package/lib/chevre/service/notification/triggerWebhook.js +58 -56
- package/lib/chevre/service/offer/any.js +6 -15
- package/lib/chevre/service/offer/event/authorize/factory.js +139 -63
- package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre/requestedProgramMembershipUsed2permit.js +8 -19
- package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre.js +43 -27
- package/lib/chevre/service/offer/event/authorize.js +114 -71
- package/lib/chevre/service/offer/event/checkAvailability.js +5 -15
- package/lib/chevre/service/offer/event/importFromCOA/factory.js +9 -3
- package/lib/chevre/service/offer/event/importFromCOA.js +13 -19
- package/lib/chevre/service/offer/event/issueEventOfferTicket.js +38 -39
- package/lib/chevre/service/offer/event/searchEventTicketOffers.js +26 -41
- package/lib/chevre/service/offer/event/searchOfferAppliesToMovieTicket.js +11 -22
- package/lib/chevre/service/offer/event/searchOfferCatalogItemAvailability.js +13 -26
- package/lib/chevre/service/offer/event/searchOfferCatalogItems.js +15 -23
- package/lib/chevre/service/offer/event/searchOffersByIds.js +24 -39
- package/lib/chevre/service/offer/event/searchPriceSpecs4event.js +5 -14
- package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.js +4 -13
- package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4coa.js +6 -15
- package/lib/chevre/service/offer/event/voidTransaction.js +35 -41
- package/lib/chevre/service/offer/event/voidTransactionByActionId.js +14 -20
- package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer/authorize.js +52 -42
- package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer/factory.js +5 -1
- package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer.js +34 -37
- package/lib/chevre/service/offer/eventServiceByCOA/authorize/factory.js +45 -26
- package/lib/chevre/service/offer/eventServiceByCOA/authorize/validateAcceptedOffers.js +67 -62
- package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +16 -27
- package/lib/chevre/service/offer/eventServiceByCOA/authorizeByAcceptAction.js +8 -18
- package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.js +42 -43
- package/lib/chevre/service/offer/eventServiceByCOA/findAcceptAction.js +22 -25
- package/lib/chevre/service/offer/factory.js +18 -8
- package/lib/chevre/service/offer/moneyTransfer/authorize.js +31 -36
- package/lib/chevre/service/offer/moneyTransfer/returnMoneyTransfer.js +9 -18
- package/lib/chevre/service/offer/moneyTransfer/settleTransaction.js +10 -19
- package/lib/chevre/service/offer/moneyTransfer/voidTransaction.js +14 -24
- package/lib/chevre/service/offer/onEventChanged.js +69 -65
- package/lib/chevre/service/offer/product/factory.js +54 -32
- package/lib/chevre/service/offer/product/searchProductOffers.js +30 -24
- package/lib/chevre/service/offer/product.js +106 -82
- package/lib/chevre/service/offer.js +48 -45
- package/lib/chevre/service/order/confirmPayTransaction.js +28 -27
- package/lib/chevre/service/order/createAccountingReportIfNotExist.js +54 -41
- package/lib/chevre/service/order/deleteOrder.js +28 -36
- package/lib/chevre/service/order/findPlaceOrderTransaction.js +3 -12
- package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +64 -70
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.js +1 -2
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled.js +3 -12
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered/factory.js +11 -6
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.js +5 -14
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.js +22 -9
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.js +5 -14
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.js +23 -26
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderPaymentDue.js +13 -19
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/createSendEmailMessageTaskIfNotExist.js +5 -14
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.js +24 -14
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/processOrder.js +23 -32
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.js +8 -18
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.js +10 -9
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned.js +23 -28
- package/lib/chevre/service/order/onOrderUpdated/factory.js +3 -5
- package/lib/chevre/service/order/onOrderUpdated.js +13 -15
- package/lib/chevre/service/order/payOrder.js +3 -12
- package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.js +9 -20
- package/lib/chevre/service/order/placeOrder/factory/orderedItem.js +31 -15
- package/lib/chevre/service/order/placeOrder/factory.js +35 -22
- package/lib/chevre/service/order/placeOrder/voidAcceptedOfferIfNecessary.js +3 -12
- package/lib/chevre/service/order/placeOrder.js +12 -23
- package/lib/chevre/service/order/placeOrderWithoutTransaction.js +10 -18
- package/lib/chevre/service/order/returnOrder.js +27 -30
- package/lib/chevre/service/order/sendOrder.js +37 -37
- package/lib/chevre/service/payment/any/authorize/fixTransactionNumber.js +19 -25
- package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.js +24 -39
- package/lib/chevre/service/payment/any/factory.js +106 -50
- package/lib/chevre/service/payment/any/fixOrderAsNeeded.js +4 -13
- package/lib/chevre/service/payment/any/onPayActionCompleted.js +13 -18
- package/lib/chevre/service/payment/any/onPaymentStatusChanged/onPaid.js +34 -37
- package/lib/chevre/service/payment/any/onPaymentStatusChanged/onRefunded.js +18 -24
- package/lib/chevre/service/payment/any/onPaymentStatusChanged.js +16 -16
- package/lib/chevre/service/payment/any/onRefundActionCompletedOrFailed.js +15 -21
- package/lib/chevre/service/payment/any/person2username.js +32 -45
- package/lib/chevre/service/payment/any/publishPaymentUrl/fixTransactionNumberOnPublishPaymentUrl.js +8 -18
- package/lib/chevre/service/payment/any/verifyTicketTokenAsNeeded.js +5 -17
- package/lib/chevre/service/payment/any.js +181 -142
- package/lib/chevre/service/payment/creditCard/authorize/handleAuthorizeError.js +2 -2
- package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard.js +44 -25
- package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3ds.js +6 -15
- package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3dsResult2recipe.js +5 -1
- package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCardResult2recipe.js +10 -2
- package/lib/chevre/service/payment/creditCard/authorize.js +20 -22
- package/lib/chevre/service/payment/creditCard/factory.js +22 -4
- package/lib/chevre/service/payment/creditCard/getGMOInfoFromSeller.js +8 -18
- package/lib/chevre/service/payment/creditCard/payCreditCard.js +31 -36
- package/lib/chevre/service/payment/creditCard/refundCreditCard.js +40 -51
- package/lib/chevre/service/payment/creditCard/searchGMOTrade.js +33 -45
- package/lib/chevre/service/payment/creditCard/voidTransaction.js +15 -26
- package/lib/chevre/service/payment/faceToFace.js +14 -23
- package/lib/chevre/service/payment/factory/createPayObjectServiceOutput.js +44 -25
- package/lib/chevre/service/payment/factory.js +50 -24
- package/lib/chevre/service/payment/movieTicket/authorize.js +35 -30
- package/lib/chevre/service/payment/movieTicket/checkMovieTicket.js +22 -25
- package/lib/chevre/service/payment/movieTicket/factory.js +33 -10
- package/lib/chevre/service/payment/movieTicket/getCredentials.js +5 -15
- package/lib/chevre/service/payment/movieTicket/payMovieTicket.js +29 -40
- package/lib/chevre/service/payment/movieTicket/processPurchaseNumberAuth.js +8 -18
- package/lib/chevre/service/payment/movieTicket/refundMovieTicket.js +60 -60
- package/lib/chevre/service/payment/movieTicket/validation.js +41 -37
- package/lib/chevre/service/payment/movieTicket/voidTransaction.js +8 -18
- package/lib/chevre/service/payment/paymentCard.js +87 -104
- package/lib/chevre/service/permit.js +36 -35
- package/lib/chevre/service/product.js +23 -28
- package/lib/chevre/service/project.js +22 -31
- package/lib/chevre/service/report/ownershipInfo.js +3 -4
- package/lib/chevre/service/report/telemetry.js +51 -70
- package/lib/chevre/service/reserve/cancelReservation.js +92 -93
- package/lib/chevre/service/reserve/checkInReservation.js +24 -29
- package/lib/chevre/service/reserve/confirmReservation.js +33 -39
- package/lib/chevre/service/reserve/factory.js +42 -20
- package/lib/chevre/service/reserve/findByCode.js +13 -18
- package/lib/chevre/service/reserve/potentialActions/onPendingReservationCanceled.js +18 -24
- package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.js +17 -25
- package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.js +38 -30
- package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +45 -37
- package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +37 -33
- package/lib/chevre/service/reserve/potentialActions/onReservationsCreated.js +17 -23
- package/lib/chevre/service/reserve/searchByOrder.js +10 -20
- package/lib/chevre/service/reserve/useReservation.js +47 -34
- package/lib/chevre/service/reserve/verifyToken4reservation.js +7 -14
- package/lib/chevre/service/reserveCOA/cancelReservation.js +7 -17
- package/lib/chevre/service/reserveCOA/factory.js +5 -1
- package/lib/chevre/service/task/acceptCOAOffer.js +20 -25
- package/lib/chevre/service/task/aggregateOffers.js +3 -12
- package/lib/chevre/service/task/aggregateOnSystem.js +4 -14
- package/lib/chevre/service/task/aggregateScreeningEvent.js +3 -12
- package/lib/chevre/service/task/authorizePayment.js +9 -15
- package/lib/chevre/service/task/cancelMoneyTransfer.js +3 -12
- package/lib/chevre/service/task/cancelPendingReservation.js +10 -20
- package/lib/chevre/service/task/cancelReservation.js +3 -12
- package/lib/chevre/service/task/checkMovieTicket.js +16 -19
- package/lib/chevre/service/task/checkResource.js +7 -16
- package/lib/chevre/service/task/confirmMoneyTransfer.js +3 -12
- package/lib/chevre/service/task/confirmPayTransaction.js +6 -12
- package/lib/chevre/service/task/confirmRegisterService.js +3 -12
- package/lib/chevre/service/task/confirmRegisterServiceTransaction.js +24 -31
- package/lib/chevre/service/task/confirmReserveTransaction.js +48 -45
- package/lib/chevre/service/task/createAccountingReport.js +14 -20
- package/lib/chevre/service/task/deletePerson.js +48 -60
- package/lib/chevre/service/task/deleteTransaction.js +3 -12
- package/lib/chevre/service/task/givePointAward.js +3 -12
- package/lib/chevre/service/task/handleNotification.js +4 -14
- package/lib/chevre/service/task/importEventCapacitiesFromCOA.js +6 -16
- package/lib/chevre/service/task/importEventsFromCOA.js +6 -16
- package/lib/chevre/service/task/importOffersFromCOA.js +8 -18
- package/lib/chevre/service/task/invalidatePaymentUrl.js +6 -12
- package/lib/chevre/service/task/moneyTransfer.js +3 -12
- package/lib/chevre/service/task/onAssetTransactionStatusChanged.js +3 -12
- package/lib/chevre/service/task/onAuthorizationCreated.js +11 -19
- package/lib/chevre/service/task/onEventChanged.js +3 -12
- package/lib/chevre/service/task/onOrderPaymentCompleted.js +3 -12
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByAggregateOffer.js +7 -16
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByEventSeries.js +7 -16
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByMovieTheater.js +8 -17
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByOfferCatalog.js +10 -19
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByProduct.js +8 -17
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByRoom.js +6 -15
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesBySeller.js +14 -24
- package/lib/chevre/service/task/onResourceDeleted.js +17 -27
- package/lib/chevre/service/task/onResourceUpdated/onAggregateOfferUpdated.js +9 -21
- package/lib/chevre/service/task/onResourceUpdated/onCategoryCodeUpdated.js +3 -12
- package/lib/chevre/service/task/onResourceUpdated/onHasPOSUpdated.js +11 -23
- package/lib/chevre/service/task/onResourceUpdated/onOfferCatalogUpdated.js +13 -25
- package/lib/chevre/service/task/onResourceUpdated/syncCategoryCode.js +9 -15
- package/lib/chevre/service/task/onResourceUpdated/syncOfferCatalog.js +21 -27
- package/lib/chevre/service/task/onResourceUpdated.js +113 -158
- package/lib/chevre/service/task/pay.js +8 -16
- package/lib/chevre/service/task/payment/invalidatePaymentUrlByTask.js +4 -14
- package/lib/chevre/service/task/payment/payByTask.js +49 -38
- package/lib/chevre/service/task/payment/refundByTask.js +7 -17
- package/lib/chevre/service/task/payment/voidPaymentByTask.js +6 -15
- package/lib/chevre/service/task/placeOrder.js +6 -12
- package/lib/chevre/service/task/publishPaymentUrl.js +9 -14
- package/lib/chevre/service/task/refund.js +8 -16
- package/lib/chevre/service/task/registerService.js +3 -12
- package/lib/chevre/service/task/reserve.js +3 -12
- package/lib/chevre/service/task/returnMoneyTransfer.js +3 -12
- package/lib/chevre/service/task/returnOrder.js +6 -12
- package/lib/chevre/service/task/returnPayTransaction.js +54 -49
- package/lib/chevre/service/task/returnPointAward.js +3 -12
- package/lib/chevre/service/task/returnReserveTransaction.js +29 -30
- package/lib/chevre/service/task/sendEmailMessage.js +6 -13
- package/lib/chevre/service/task/sendOrder.js +12 -15
- package/lib/chevre/service/task/syncResourcesFromCOA.js +39 -45
- package/lib/chevre/service/task/triggerWebhook.js +6 -12
- package/lib/chevre/service/task/useReservation.js +11 -14
- package/lib/chevre/service/task/voidMoneyTransferTransaction.js +3 -12
- package/lib/chevre/service/task/voidPayTransaction.js +7 -12
- package/lib/chevre/service/task/voidPayment.js +3 -12
- package/lib/chevre/service/task/voidRegisterServiceTransaction.js +3 -12
- package/lib/chevre/service/task/voidReserveTransaction.js +10 -16
- package/lib/chevre/service/task.js +16 -26
- package/lib/chevre/service/taskHandler/onOperationFailed/informTaskIfNeeded.js +9 -20
- package/lib/chevre/service/taskHandler/onOperationFailed.js +20 -17
- package/lib/chevre/service/taskHandler.js +19 -22
- package/lib/chevre/service/transaction/deleteTransaction.js +104 -88
- package/lib/chevre/service/transaction/moneyTransfer/exportTasks/factory.js +15 -9
- package/lib/chevre/service/transaction/moneyTransfer/factory.js +13 -4
- package/lib/chevre/service/transaction/moneyTransfer/potentialActions.js +12 -24
- package/lib/chevre/service/transaction/moneyTransfer.js +119 -98
- package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions/sendEmailMessage.js +49 -51
- package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions.js +14 -25
- package/lib/chevre/service/transaction/placeOrder/confirm/publishCode.js +4 -14
- package/lib/chevre/service/transaction/placeOrder/confirm/validation/validateInvoiceReferencesOrder.js +3 -4
- package/lib/chevre/service/transaction/placeOrder/confirm/validation/validateMovieTicket.js +3 -6
- package/lib/chevre/service/transaction/placeOrder/confirm/validation/validatePrice.js +2 -3
- package/lib/chevre/service/transaction/placeOrder/confirm/validation.js +30 -47
- package/lib/chevre/service/transaction/placeOrder/confirm.js +75 -59
- package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +31 -15
- package/lib/chevre/service/transaction/placeOrder/exportTasksById.js +6 -15
- package/lib/chevre/service/transaction/placeOrder/publishConfirmationNumberIfNotExist.js +6 -15
- package/lib/chevre/service/transaction/placeOrder/publishOrderNumberIfNotExist.js +7 -16
- package/lib/chevre/service/transaction/placeOrder/start/factory.js +27 -7
- package/lib/chevre/service/transaction/placeOrder/start/validateStartRequest.js +53 -60
- package/lib/chevre/service/transaction/placeOrder/start.js +14 -18
- package/lib/chevre/service/transaction/returnOrder/exportTasks/factory.js +13 -7
- package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +176 -190
- package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPointAward.js +75 -89
- package/lib/chevre/service/transaction/returnOrder/potentialActions/sendEmailMessage.js +40 -48
- package/lib/chevre/service/transaction/returnOrder/potentialActions.js +52 -56
- package/lib/chevre/service/transaction/returnOrder/preStart/findApplicableReturnPolicy.js +100 -104
- package/lib/chevre/service/transaction/returnOrder/preStart/getReturnPolicyByProject.js +60 -80
- package/lib/chevre/service/transaction/returnOrder/preStart.js +42 -47
- package/lib/chevre/service/transaction/returnOrder.js +32 -37
- package/lib/chevre/service/transaction.js +75 -46
- package/lib/chevre/service/validation/validateEvent.js +2 -11
- package/lib/chevre/service/validation/validateOrder.js +7 -18
- package/lib/chevre/service.js +85 -131
- package/lib/chevre/settings/aggregation.js +4 -0
- package/lib/chevre/settings.js +7 -1
- package/lib/index.js +0 -1
- package/package.json +6 -11
- package/example/src/chevre/addEventBySchedule.ts +0 -46
- package/example/src/idaas/auth0/adminApplications.ts +0 -183
- package/example/src/idaas/auth0/getToken.ts +0 -55
- package/example/src/idaas/auth0/getTokenByPrivateKeyJWT.ts +0 -84
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.confirm = confirm;
|
|
13
4
|
const factory = require("../../../factory");
|
|
@@ -17,20 +8,20 @@ const factory_1 = require("./confirm/factory");
|
|
|
17
8
|
* 取引確定
|
|
18
9
|
*/
|
|
19
10
|
function confirm(params) {
|
|
20
|
-
return (repos
|
|
11
|
+
return async (repos
|
|
21
12
|
// settings: Settings
|
|
22
|
-
) =>
|
|
13
|
+
) => {
|
|
23
14
|
let transaction;
|
|
24
15
|
// 取引存在確認
|
|
25
16
|
if (typeof params.id === 'string') {
|
|
26
|
-
transaction =
|
|
17
|
+
transaction = await repos.assetTransaction.findById({
|
|
27
18
|
typeOf: factory.assetTransactionType.Reserve,
|
|
28
19
|
id: params.id
|
|
29
20
|
}, ['project', 'transactionNumber'] // projection(2024-07-01~)
|
|
30
21
|
);
|
|
31
22
|
}
|
|
32
23
|
else if (typeof params.transactionNumber === 'string') {
|
|
33
|
-
transaction =
|
|
24
|
+
transaction = await repos.assetTransaction.findByTransactionNumber({
|
|
34
25
|
typeOf: factory.assetTransactionType.Reserve,
|
|
35
26
|
transactionNumber: params.transactionNumber
|
|
36
27
|
}, ['project', 'transactionNumber'] // projection(2024-07-01~)
|
|
@@ -39,7 +30,7 @@ function confirm(params) {
|
|
|
39
30
|
else {
|
|
40
31
|
throw new factory.errors.ArgumentNull('Transaction ID or Transaction Number');
|
|
41
32
|
}
|
|
42
|
-
const order =
|
|
33
|
+
const order = await fixOrderAsPurpose(params, transaction)(repos);
|
|
43
34
|
const { potentialActions, underName } = (0, factory_1.createPotentialActions)({
|
|
44
35
|
// ...params,
|
|
45
36
|
// transaction,
|
|
@@ -47,34 +38,38 @@ function confirm(params) {
|
|
|
47
38
|
});
|
|
48
39
|
// 取引確定
|
|
49
40
|
const result = {};
|
|
50
|
-
|
|
41
|
+
await repos.assetTransaction.confirm({
|
|
42
|
+
typeOf: factory.assetTransactionType.Reserve,
|
|
43
|
+
id: transaction.id,
|
|
44
|
+
result: result,
|
|
51
45
|
// potentialActions: (USE_ASSET_TRANSACTION_SYNC_PROCESSING)
|
|
52
46
|
// ? { reserve: [] }
|
|
53
47
|
// : potentialActions, // discontinue(2024-07-01~)
|
|
54
|
-
potentialActions
|
|
55
|
-
|
|
56
|
-
|
|
48
|
+
potentialActions,
|
|
49
|
+
...(typeof underName?.typeOf === 'string')
|
|
50
|
+
? { object: { underName } }
|
|
51
|
+
: undefined
|
|
52
|
+
});
|
|
57
53
|
// sync対応(2023-01-13~)
|
|
58
|
-
|
|
54
|
+
await (0, confirmReservation_1.confirmReservation)({
|
|
59
55
|
// optimize(2024-07-01~)
|
|
60
56
|
// actionAttributesList: potentialActions.reserve,
|
|
61
57
|
potentialReserveAction: { object: { reservationNumber: transaction.transactionNumber } },
|
|
62
58
|
useOnReservationConfirmed: true,
|
|
63
59
|
byTask: true
|
|
64
60
|
})(repos);
|
|
65
|
-
}
|
|
61
|
+
};
|
|
66
62
|
}
|
|
67
63
|
function fixOrderAsPurpose(params, transaction) {
|
|
68
|
-
return (repos) =>
|
|
69
|
-
var _a, _b, _c, _d, _e, _f;
|
|
64
|
+
return async (repos) => {
|
|
70
65
|
let order;
|
|
71
|
-
const payPurposeConfirmationNumber =
|
|
72
|
-
const payPurposeOrderNumber =
|
|
66
|
+
const payPurposeConfirmationNumber = params.potentialActions?.reserve?.purpose?.confirmationNumber;
|
|
67
|
+
const payPurposeOrderNumber = params.potentialActions?.reserve?.purpose?.orderNumber;
|
|
73
68
|
if (typeof payPurposeConfirmationNumber === 'string'
|
|
74
69
|
&& payPurposeConfirmationNumber.length > 0
|
|
75
70
|
&& typeof payPurposeOrderNumber === 'string'
|
|
76
71
|
&& payPurposeOrderNumber.length > 0) {
|
|
77
|
-
const orders =
|
|
72
|
+
const orders = await repos.order.projectFields({
|
|
78
73
|
limit: 1,
|
|
79
74
|
page: 1,
|
|
80
75
|
project: { id: { $eq: transaction.project.id } },
|
|
@@ -87,5 +82,5 @@ function fixOrderAsPurpose(params, transaction) {
|
|
|
87
82
|
}
|
|
88
83
|
}
|
|
89
84
|
return order;
|
|
90
|
-
}
|
|
85
|
+
};
|
|
91
86
|
}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.exportTasksById = exportTasksById;
|
|
13
4
|
const factory = require("../../../factory");
|
|
@@ -15,10 +6,9 @@ const factory = require("../../../factory");
|
|
|
15
6
|
* 取引タスク出力
|
|
16
7
|
*/
|
|
17
8
|
function exportTasksById(params) {
|
|
18
|
-
|
|
19
|
-
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
9
|
+
return async (repos) => {
|
|
20
10
|
// const { useAssetTransactionSyncProcessing } = settings;
|
|
21
|
-
const transaction =
|
|
11
|
+
const transaction = await repos.assetTransaction.findById({
|
|
22
12
|
typeOf: factory.assetTransactionType.Reserve,
|
|
23
13
|
id: params.id
|
|
24
14
|
}, ['status', 'transactionNumber', 'project', 'typeOf'] // projection(2024-07-01~)
|
|
@@ -84,5 +74,5 @@ function exportTasksById(params) {
|
|
|
84
74
|
throw new factory.errors.NotImplemented(`Transaction status "${transaction.status}" not implemented.`);
|
|
85
75
|
}
|
|
86
76
|
return repos.task.saveMany(taskAttributes, { emitImmediately: true });
|
|
87
|
-
}
|
|
77
|
+
};
|
|
88
78
|
}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.createSubReservations = createSubReservations;
|
|
13
4
|
const createDebug = require("debug");
|
|
@@ -18,9 +9,7 @@ const OfferService = require("../../../offer");
|
|
|
18
9
|
const createReservation_1 = require("./factory/createReservation");
|
|
19
10
|
const debug = createDebug('chevre-domain:service:assetTransaction:reserve');
|
|
20
11
|
function createSubReservations(params) {
|
|
21
|
-
|
|
22
|
-
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
23
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
12
|
+
return async (repos) => {
|
|
24
13
|
// 予約番号
|
|
25
14
|
// const reservationNumber = params.transaction.object.reservationNumber;
|
|
26
15
|
const reservationNumber = params.reservationNumber;
|
|
@@ -29,14 +18,14 @@ function createSubReservations(params) {
|
|
|
29
18
|
}
|
|
30
19
|
// 指定席のみかどうか
|
|
31
20
|
const eventOffers = params.event.offers;
|
|
32
|
-
const reservedSeatsOnly =
|
|
21
|
+
const reservedSeatsOnly = eventOffers?.itemOffered.serviceOutput?.reservedTicket?.ticketedSeat !== undefined;
|
|
33
22
|
// オファーIDごとにオファー適用条件を確認(興行オファー承認アクションから処理を移行)(2024-07-03~)
|
|
34
23
|
validateQuantityRequirement({ acceptedOffers: params.acceptedOffers, ticketOffers: params.ticketOffers, reservationNumber });
|
|
35
24
|
// 事前予約要件参照
|
|
36
25
|
let advanceBookingRequirements = [];
|
|
37
|
-
const advanceBookingRequirementIds = [...new Set(params.availableOffers.reduce((a, b) =>
|
|
26
|
+
const advanceBookingRequirementIds = [...new Set(params.availableOffers.reduce((a, b) => (typeof b.advanceBookingRequirement?.id === 'string') ? [...a, b.advanceBookingRequirement.id] : a, []))];
|
|
38
27
|
if (advanceBookingRequirementIds.length > 0) {
|
|
39
|
-
advanceBookingRequirements =
|
|
28
|
+
advanceBookingRequirements = await repos.advanceBookingRequirement.projectFields({ id: { $in: advanceBookingRequirementIds } }, ['identifier', 'maxValue', 'minValue', 'unitCode', 'valueReference']);
|
|
40
29
|
debug('createSubReservations:', advanceBookingRequirements.length, 'advanceBookingRequirements found', JSON.stringify(advanceBookingRequirements));
|
|
41
30
|
}
|
|
42
31
|
const reservations = [];
|
|
@@ -59,7 +48,7 @@ function createSubReservations(params) {
|
|
|
59
48
|
now: params.now,
|
|
60
49
|
reservationFor: params.event
|
|
61
50
|
});
|
|
62
|
-
const programMembershipUsed =
|
|
51
|
+
const programMembershipUsed = await validateProgramMembershipUsed({
|
|
63
52
|
acceptedOffer,
|
|
64
53
|
availableOffer: ticketType,
|
|
65
54
|
project: { id: params.event.project.id }
|
|
@@ -80,18 +69,17 @@ function createSubReservations(params) {
|
|
|
80
69
|
// 座席指定であれば、座席タイプチャージを検索する
|
|
81
70
|
const seatPriceComponent = [];
|
|
82
71
|
// 区分加算料金を適用しないオプションを追加(2023-01-26~)
|
|
83
|
-
const ignoreCategoryCodeChargeSpec =
|
|
72
|
+
const ignoreCategoryCodeChargeSpec = ticketType.settings?.ignoreCategoryCodeChargeSpec === true;
|
|
84
73
|
if (!ignoreCategoryCodeChargeSpec) {
|
|
85
|
-
const seatSection =
|
|
86
|
-
const seatNumber =
|
|
74
|
+
const seatSection = reservedTicket.ticketedSeat?.seatSection;
|
|
75
|
+
const seatNumber = reservedTicket.ticketedSeat?.seatNumber;
|
|
87
76
|
if (typeof seatSection === 'string' && typeof seatNumber === 'string') {
|
|
88
|
-
const offersOnSeat =
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
})) === null || _f === void 0 ? void 0 : _f.offers;
|
|
77
|
+
const offersOnSeat = params.availableSeatOffers.find((o) => {
|
|
78
|
+
return o.branchCode === seatNumber && o.containedInPlace?.branchCode === seatSection;
|
|
79
|
+
})?.offers;
|
|
92
80
|
if (Array.isArray(offersOnSeat)) {
|
|
93
81
|
const availableSeatOffer = offersOnSeat[0];
|
|
94
|
-
const seatPriceSpecs =
|
|
82
|
+
const seatPriceSpecs = availableSeatOffer?.priceSpecification?.priceComponent;
|
|
95
83
|
if (Array.isArray(seatPriceSpecs)) {
|
|
96
84
|
seatPriceComponent.push(...seatPriceSpecs);
|
|
97
85
|
}
|
|
@@ -104,7 +92,7 @@ function createSubReservations(params) {
|
|
|
104
92
|
const acceptedAddOnsParams = acceptedOffer.addOn;
|
|
105
93
|
if (Array.isArray(acceptedAddOnsParams) && acceptedAddOnsParams.length > 0) {
|
|
106
94
|
// アドオンオファー検索(2023-03-02~)
|
|
107
|
-
availableAddOns =
|
|
95
|
+
availableAddOns = await searchAvailableAddOns({
|
|
108
96
|
ids: acceptedAddOnsParams.map((acceptedAddOn) => String(acceptedAddOn.id)),
|
|
109
97
|
project: { id: params.event.project.id },
|
|
110
98
|
ticketOffer,
|
|
@@ -113,8 +101,7 @@ function createSubReservations(params) {
|
|
|
113
101
|
}
|
|
114
102
|
if (Array.isArray(availableAddOns) && Array.isArray(acceptedAddOnsParams)) {
|
|
115
103
|
acceptedAddOnsParams.forEach((acceptedAddOnParams) => {
|
|
116
|
-
|
|
117
|
-
const availableAddOn = availableAddOns === null || availableAddOns === void 0 ? void 0 : availableAddOns.find((addOn) => addOn.id === acceptedAddOnParams.id);
|
|
104
|
+
const availableAddOn = availableAddOns?.find((addOn) => addOn.id === acceptedAddOnParams.id);
|
|
118
105
|
if (availableAddOn !== undefined) {
|
|
119
106
|
// acceptedAddOnsの重複を避ける(単価オファーIDに対して)
|
|
120
107
|
if (!acceptedAddOns.some((addOn) => addOn.id === availableAddOn.id)) {
|
|
@@ -125,7 +112,7 @@ function createSubReservations(params) {
|
|
|
125
112
|
// 受入数量はデフォルトで単価オファーの基準数量
|
|
126
113
|
let referenceQuantityValueAccepted = availableAddOnReferenceQuantityValue;
|
|
127
114
|
// 数量指定を検証(2023-08-31~)
|
|
128
|
-
const specifiedReferencedQuantityValue =
|
|
115
|
+
const specifiedReferencedQuantityValue = acceptedAddOnParams.priceSpecification?.referenceQuantity?.value;
|
|
129
116
|
if (typeof specifiedReferencedQuantityValue === 'number') {
|
|
130
117
|
if (specifiedReferencedQuantityValue < 1) {
|
|
131
118
|
throw new factory.errors.Argument('addOn.priceSpecification.referenceQuantity.value must be > 0');
|
|
@@ -139,15 +126,30 @@ function createSubReservations(params) {
|
|
|
139
126
|
}
|
|
140
127
|
const priceAccepted = availableAddOn.priceSpecification.price *
|
|
141
128
|
(referenceQuantityValueAccepted / availableAddOnReferenceQuantityValue);
|
|
142
|
-
const accountsReceivableAccepted = (typeof
|
|
129
|
+
const accountsReceivableAccepted = (typeof availableAddOn.priceSpecification.accounting?.accountsReceivable === 'number')
|
|
143
130
|
? availableAddOn.priceSpecification.accounting.accountsReceivable *
|
|
144
131
|
(referenceQuantityValueAccepted / availableAddOnReferenceQuantityValue)
|
|
145
132
|
: undefined;
|
|
146
|
-
const acceptedAddOn =
|
|
147
|
-
|
|
148
|
-
|
|
133
|
+
const acceptedAddOn = {
|
|
134
|
+
...availableAddOn,
|
|
135
|
+
priceSpecification: {
|
|
136
|
+
...availableAddOn.priceSpecification,
|
|
137
|
+
...(typeof accountsReceivableAccepted === 'number')
|
|
138
|
+
? {
|
|
139
|
+
accounting: {
|
|
140
|
+
...availableAddOn.priceSpecification.accounting,
|
|
141
|
+
accountsReceivable: accountsReceivableAccepted,
|
|
142
|
+
typeOf: 'Accounting'
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
: undefined,
|
|
146
|
+
price: priceAccepted,
|
|
147
|
+
referenceQuantity: {
|
|
148
|
+
...availableAddOn.priceSpecification.referenceQuantity,
|
|
149
|
+
value: referenceQuantityValueAccepted
|
|
149
150
|
}
|
|
150
|
-
|
|
151
|
+
}
|
|
152
|
+
};
|
|
151
153
|
acceptedAddOns.push(acceptedAddOn);
|
|
152
154
|
}
|
|
153
155
|
}
|
|
@@ -156,7 +158,7 @@ function createSubReservations(params) {
|
|
|
156
158
|
// (availableAddOn) => acceptedAddOnsParams.some((acceptedAddOn) => availableAddOn.id === acceptedAddOn.id)
|
|
157
159
|
// );
|
|
158
160
|
}
|
|
159
|
-
const subReservation =
|
|
161
|
+
const subReservation = acceptedOffer.itemOffered?.serviceOutput?.subReservation;
|
|
160
162
|
reservations.push((0, createReservation_1.createReservation)({
|
|
161
163
|
project: { id: params.event.project.id, typeOf: factory.organizationType.Project },
|
|
162
164
|
id: reservationId,
|
|
@@ -170,23 +172,31 @@ function createSubReservations(params) {
|
|
|
170
172
|
subReservation: subReservation,
|
|
171
173
|
programMembershipUsed,
|
|
172
174
|
availableOffer: ticketType,
|
|
173
|
-
appliesToMovieTicket:
|
|
175
|
+
appliesToMovieTicket: acceptedOffer.priceSpecification?.appliesToMovieTicket,
|
|
174
176
|
validateAppliesToMovieTicket: params.validateAppliesToMovieTicket
|
|
175
177
|
}));
|
|
176
178
|
}
|
|
177
179
|
return reservations;
|
|
178
|
-
}
|
|
180
|
+
};
|
|
179
181
|
}
|
|
180
182
|
function searchAvailableAddOns(params) {
|
|
181
|
-
return (repos) =>
|
|
182
|
-
var _a;
|
|
183
|
+
return async (repos) => {
|
|
183
184
|
const availableAddOns = [];
|
|
184
185
|
if (Array.isArray(params.ticketOffer.addOn)) {
|
|
185
186
|
const addOnProductIds = [...new Set(params.ticketOffer.addOn.map((o) => String(o.itemOffered.id)))];
|
|
186
187
|
for (const addOnProductId of addOnProductIds) {
|
|
187
|
-
const { offers, product } =
|
|
188
|
-
|
|
189
|
-
:
|
|
188
|
+
const { offers, product } = await OfferService.product.search({
|
|
189
|
+
ids: params.ids,
|
|
190
|
+
project: { id: params.project.id },
|
|
191
|
+
itemOffered: { id: addOnProductId },
|
|
192
|
+
onlyValid: true,
|
|
193
|
+
addSortIndex: false,
|
|
194
|
+
includedInDataCatalog: { id: '' }, // 承認時はカタログ指定の必要なし
|
|
195
|
+
useIncludeInDataCatalog: false,
|
|
196
|
+
...(typeof params.availableAtOrFrom?.id === 'string')
|
|
197
|
+
? { availableAt: { id: params.availableAtOrFrom.id } }
|
|
198
|
+
: undefined
|
|
199
|
+
})(repos);
|
|
190
200
|
const productType = product.typeOf;
|
|
191
201
|
if (productType === factory.product.ProductType.Product) {
|
|
192
202
|
availableAddOns.push(...offers.map((o) => {
|
|
@@ -200,16 +210,29 @@ function searchAvailableAddOns(params) {
|
|
|
200
210
|
const unitPriceSpec = o.priceSpecification.priceComponent.find((component) => {
|
|
201
211
|
return component.typeOf === factory.priceSpecificationType.UnitPriceSpecification;
|
|
202
212
|
});
|
|
203
|
-
if (
|
|
213
|
+
if (unitPriceSpec?.typeOf !== factory.priceSpecificationType.UnitPriceSpecification) {
|
|
204
214
|
throw new factory.errors.NotFound('UnitPriceSpecification of an addOn');
|
|
205
215
|
}
|
|
206
|
-
return
|
|
216
|
+
return {
|
|
217
|
+
alternateName: o.alternateName,
|
|
218
|
+
availability: o.availability,
|
|
219
|
+
description: o.description,
|
|
220
|
+
id: String(o.id),
|
|
221
|
+
identifier: o.identifier,
|
|
222
|
+
itemOffered: itemOffered4addOn,
|
|
223
|
+
name: o.name,
|
|
224
|
+
priceCurrency: o.priceCurrency,
|
|
225
|
+
priceSpecification: unitPriceSpec,
|
|
226
|
+
typeOf: o.typeOf,
|
|
227
|
+
...(o.validFrom instanceof Date) ? { validFrom: o.validFrom } : undefined,
|
|
228
|
+
...(o.validThrough instanceof Date) ? { validThrough: o.validThrough } : undefined
|
|
229
|
+
};
|
|
207
230
|
}));
|
|
208
231
|
}
|
|
209
232
|
}
|
|
210
233
|
}
|
|
211
234
|
return availableAddOns;
|
|
212
|
-
}
|
|
235
|
+
};
|
|
213
236
|
}
|
|
214
237
|
function validateQuantityRequirement(params) {
|
|
215
238
|
const { acceptedOffers, ticketOffers, reservationNumber } = params;
|
|
@@ -219,7 +242,6 @@ function validateQuantityRequirement(params) {
|
|
|
219
242
|
debug('validating quantity requirement... reservationNumber:', reservationNumber, offerIds);
|
|
220
243
|
// オファーIDごとにオファー適用条件を確認
|
|
221
244
|
offerIds.forEach((offerId) => {
|
|
222
|
-
var _a, _b, _c;
|
|
223
245
|
const numAcceptedOffersByOfferId = params.acceptedOffers.filter(({ id }) => id === offerId).length;
|
|
224
246
|
const ticketOffer = ticketOffers.find(({ id }) => id === offerId);
|
|
225
247
|
if (ticketOffer === undefined) {
|
|
@@ -229,10 +251,10 @@ function validateQuantityRequirement(params) {
|
|
|
229
251
|
// 単価仕様を取り出す
|
|
230
252
|
const unitPriceSpec = ticketOffer.priceSpecification.priceComponent.find((spec) => spec.typeOf === factory.priceSpecificationType.UnitPriceSpecification && (!Array.isArray(spec.appliesToAddOn)));
|
|
231
253
|
// 単価仕様は必ず存在するはず
|
|
232
|
-
if (
|
|
254
|
+
if (unitPriceSpec?.typeOf !== factory.priceSpecificationType.UnitPriceSpecification) {
|
|
233
255
|
throw new factory.errors.Internal(`unitPriceSpec of the offer '${offerId}' not found`);
|
|
234
256
|
}
|
|
235
|
-
const unitPriceSpecReferenceQuantityValue =
|
|
257
|
+
const unitPriceSpecReferenceQuantityValue = unitPriceSpec.referenceQuantity?.value;
|
|
236
258
|
if (typeof unitPriceSpecReferenceQuantityValue === 'number') {
|
|
237
259
|
referenceQuantityValue = unitPriceSpecReferenceQuantityValue;
|
|
238
260
|
}
|
|
@@ -242,14 +264,14 @@ function validateQuantityRequirement(params) {
|
|
|
242
264
|
throw new factory.errors.Argument('acceptedOffers', `Offer ${offerId} requires reference quantity value ${referenceQuantityValue}`);
|
|
243
265
|
}
|
|
244
266
|
// 適用数量要件を満たしていなければエラー
|
|
245
|
-
const maxValue =
|
|
267
|
+
const maxValue = unitPriceSpec.eligibleQuantity?.maxValue;
|
|
246
268
|
if (typeof maxValue === 'number') {
|
|
247
269
|
debug('validating eligibleQuantity.maxValue... reservationNumber:', reservationNumber, offerId, 'numAcceptedOffersByOfferId:', numAcceptedOffersByOfferId, 'maxValue:', maxValue);
|
|
248
270
|
if (numAcceptedOffersByOfferId > maxValue) {
|
|
249
271
|
throw new factory.errors.Argument('acceptedOffers', `Number of offer:${offerId} must be less than or equal to ${maxValue}`);
|
|
250
272
|
}
|
|
251
273
|
}
|
|
252
|
-
const minValue =
|
|
274
|
+
const minValue = unitPriceSpec.eligibleQuantity?.minValue;
|
|
253
275
|
if (typeof minValue === 'number') {
|
|
254
276
|
debug('validating eligibleQuantity.minValue... reservationNumber:', reservationNumber, offerId, 'numAcceptedOffersByOfferId:', numAcceptedOffersByOfferId, 'minValue:', minValue);
|
|
255
277
|
if (numAcceptedOffersByOfferId < minValue) {
|
|
@@ -262,10 +284,9 @@ function validateQuantityRequirement(params) {
|
|
|
262
284
|
* 事前予約要件を検証する
|
|
263
285
|
*/
|
|
264
286
|
function validateAdvanceBookingRequirement(params) {
|
|
265
|
-
var _a, _b;
|
|
266
287
|
let requirementSatisfied = true;
|
|
267
288
|
// reimplement using advanceBookingRequirementRepo(2025-04-08~)
|
|
268
|
-
const advanceBookingRequirementId =
|
|
289
|
+
const advanceBookingRequirementId = params.unitPriceOffer.advanceBookingRequirement?.id;
|
|
269
290
|
if (typeof advanceBookingRequirementId === 'string') {
|
|
270
291
|
const advanceBookingRequirement = params.advanceBookingRequirements.find(({ id }) => id === advanceBookingRequirementId);
|
|
271
292
|
if (advanceBookingRequirement === undefined) {
|
|
@@ -274,13 +295,11 @@ function validateAdvanceBookingRequirement(params) {
|
|
|
274
295
|
const advanceBookingRequirementMaxValue = advanceBookingRequirement.maxValue;
|
|
275
296
|
const advanceBookingRequirementMinValue = advanceBookingRequirement.minValue;
|
|
276
297
|
const advanceBookingRequirementUnitCode = advanceBookingRequirement.unitCode;
|
|
277
|
-
const valueReferenceOpens =
|
|
298
|
+
const valueReferenceOpens = advanceBookingRequirement.valueReference?.opens;
|
|
278
299
|
let usageDate = moment(params.reservationFor.startDate, true);
|
|
279
300
|
if (typeof valueReferenceOpens === 'string') {
|
|
280
301
|
// support valueReference(2025-04-10~)
|
|
281
|
-
// tslint:disable-next-line:no-magic-numbers
|
|
282
302
|
const opensOffset = valueReferenceOpens.slice(8); // format: HH:mm:ssZ
|
|
283
|
-
// tslint:disable-next-line:no-console
|
|
284
303
|
debug('opensOffset:', opensOffset);
|
|
285
304
|
usageDate = usageDate.utcOffset(opensOffset);
|
|
286
305
|
usageDate = moment(`${usageDate.format('YYYY-MM-DD')}T${valueReferenceOpens}`, true);
|
|
@@ -318,29 +337,27 @@ function validateAdvanceBookingRequirement(params) {
|
|
|
318
337
|
}
|
|
319
338
|
}
|
|
320
339
|
function validateProgramMembershipUsed(params) {
|
|
321
|
-
|
|
322
|
-
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
323
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
340
|
+
return async (repos) => {
|
|
324
341
|
const now = new Date();
|
|
325
342
|
let programMembershipUsed;
|
|
326
|
-
const requestedProgramMembershipUsed =
|
|
343
|
+
const requestedProgramMembershipUsed = params.acceptedOffer.itemOffered?.serviceOutput?.programMembershipUsed;
|
|
327
344
|
if (typeof requestedProgramMembershipUsed === 'string') {
|
|
328
345
|
throw new factory.errors.Argument('acceptedOffer.itemOffered.serviceOutput.programMembershipUsed', 'must be permit');
|
|
329
346
|
}
|
|
330
|
-
if (
|
|
347
|
+
if (requestedProgramMembershipUsed?.typeOf === 'Ticket') {
|
|
331
348
|
throw new factory.errors.Argument('acceptedOffer.itemOffered.serviceOutput.programMembershipUsed', 'must be permit');
|
|
332
349
|
}
|
|
333
|
-
const programMembershipUsedIdentifier = requestedProgramMembershipUsed
|
|
334
|
-
const issuedThroughTypeOf =
|
|
350
|
+
const programMembershipUsedIdentifier = requestedProgramMembershipUsed?.identifier;
|
|
351
|
+
const issuedThroughTypeOf = requestedProgramMembershipUsed?.issuedThrough?.typeOf;
|
|
335
352
|
if (typeof programMembershipUsedIdentifier === 'string') {
|
|
336
353
|
let permitIssuedThrough;
|
|
337
354
|
// まずメンバーシップを検索して、存在しなければCreditCardを検索(どちらが発行元サービスか不明なので)
|
|
338
355
|
if (issuedThroughTypeOf === factory.product.ProductType.MembershipService) {
|
|
339
|
-
const issuedThroughId =
|
|
356
|
+
const issuedThroughId = requestedProgramMembershipUsed?.issuedThrough?.id;
|
|
340
357
|
if (typeof issuedThroughId !== 'string' || issuedThroughId === '') {
|
|
341
358
|
throw new factory.errors.ArgumentNull('acceptedOffer.itemOffered.serviceOutput.programMembershipUsed.issuedThrough.id');
|
|
342
359
|
}
|
|
343
|
-
permitIssuedThrough = (
|
|
360
|
+
permitIssuedThrough = (await repos.product.projectFields({
|
|
344
361
|
limit: 1,
|
|
345
362
|
page: 1,
|
|
346
363
|
id: { $eq: issuedThroughId },
|
|
@@ -353,11 +370,11 @@ function validateProgramMembershipUsed(params) {
|
|
|
353
370
|
}
|
|
354
371
|
}
|
|
355
372
|
else if (issuedThroughTypeOf === factory.service.paymentService.PaymentServiceType.CreditCard) {
|
|
356
|
-
const issuedThroughId =
|
|
373
|
+
const issuedThroughId = requestedProgramMembershipUsed?.issuedThrough?.id;
|
|
357
374
|
if (typeof issuedThroughId !== 'string' || issuedThroughId === '') {
|
|
358
375
|
throw new factory.errors.ArgumentNull('acceptedOffer.itemOffered.serviceOutput.programMembershipUsed.issuedThrough.id');
|
|
359
376
|
}
|
|
360
|
-
permitIssuedThrough = (
|
|
377
|
+
permitIssuedThrough = (await repos.paymentService.projectFields({
|
|
361
378
|
limit: 1,
|
|
362
379
|
page: 1,
|
|
363
380
|
id: { $eq: issuedThroughId },
|
|
@@ -379,7 +396,7 @@ function validateProgramMembershipUsed(params) {
|
|
|
379
396
|
switch (permitIssuedThrough.typeOf) {
|
|
380
397
|
case factory.service.paymentService.PaymentServiceType.FaceToFace:
|
|
381
398
|
// 適用メンバーシップ条件有のオファーであれば、問答無用に受け入れる
|
|
382
|
-
const eligibleMembershipType =
|
|
399
|
+
const eligibleMembershipType = params.availableOffer.eligibleMembershipType?.[0]?.codeValue;
|
|
383
400
|
if (typeof eligibleMembershipType === 'string') {
|
|
384
401
|
programMembershipUsed = {
|
|
385
402
|
typeOf: factory.programMembership.ProgramMembershipType.ProgramMembership,
|
|
@@ -396,12 +413,12 @@ function validateProgramMembershipUsed(params) {
|
|
|
396
413
|
// 決済サービスのserviceOutputにPermitが存在すれば、設定されたメンバーシップ区分のPermitをprogramMembershipUsedとして適用する
|
|
397
414
|
let issuedThroughServiceType;
|
|
398
415
|
if (Array.isArray(permitIssuedThrough.serviceOutput)) {
|
|
399
|
-
const serviceOutputAsPermit = permitIssuedThrough.serviceOutput.find((output) =>
|
|
400
|
-
if (
|
|
416
|
+
const serviceOutputAsPermit = permitIssuedThrough.serviceOutput.find((output) => output?.typeOf === factory.permit.PermitType.Permit);
|
|
417
|
+
if (serviceOutputAsPermit?.typeOf === factory.permit.PermitType.Permit) {
|
|
401
418
|
issuedThroughServiceType = serviceOutputAsPermit.issuedThrough.serviceType;
|
|
402
419
|
}
|
|
403
420
|
}
|
|
404
|
-
if (typeof
|
|
421
|
+
if (typeof issuedThroughServiceType?.codeValue === 'string') {
|
|
405
422
|
programMembershipUsed = {
|
|
406
423
|
typeOf: factory.programMembership.ProgramMembershipType.ProgramMembership,
|
|
407
424
|
identifier: programMembershipUsedIdentifier,
|
|
@@ -418,9 +435,9 @@ function validateProgramMembershipUsed(params) {
|
|
|
418
435
|
break;
|
|
419
436
|
case factory.product.ProductType.MembershipService:
|
|
420
437
|
// requestedProgramMembershipUsedの発行サービスIDから外部連携設定を取得する
|
|
421
|
-
const permitService =
|
|
438
|
+
const permitService = await createPermitService({ issuedThrough: { id: permitIssuedThrough.id } })(repos);
|
|
422
439
|
// メンバーシップの存在確認
|
|
423
|
-
const serviceOutput =
|
|
440
|
+
const serviceOutput = await permitService.findByIdentifier({
|
|
424
441
|
project: { id: params.project.id },
|
|
425
442
|
identifier: programMembershipUsedIdentifier,
|
|
426
443
|
issuedThrough: { typeOf: factory.product.ProductType.MembershipService }
|
|
@@ -436,7 +453,7 @@ function validateProgramMembershipUsed(params) {
|
|
|
436
453
|
.isBefore(moment(now))) {
|
|
437
454
|
throw new factory.errors.Argument('acceptedOffer.itemOffered.serviceOutput.programMembershipUsed', 'unavailable programMembership');
|
|
438
455
|
}
|
|
439
|
-
if (
|
|
456
|
+
if (permitIssuedThrough.serviceType?.typeOf === 'CategoryCode') {
|
|
440
457
|
programMembershipUsed = {
|
|
441
458
|
typeOf: factory.programMembership.ProgramMembershipType.ProgramMembership,
|
|
442
459
|
identifier: programMembershipUsedIdentifier,
|
|
@@ -453,12 +470,11 @@ function validateProgramMembershipUsed(params) {
|
|
|
453
470
|
}
|
|
454
471
|
}
|
|
455
472
|
return programMembershipUsed;
|
|
456
|
-
}
|
|
473
|
+
};
|
|
457
474
|
}
|
|
458
475
|
function createPermitService(params) {
|
|
459
|
-
return (repos) =>
|
|
460
|
-
|
|
461
|
-
const product = (yield repos.product.projectFields({
|
|
476
|
+
return async (repos) => {
|
|
477
|
+
const product = (await repos.product.projectFields({
|
|
462
478
|
limit: 1,
|
|
463
479
|
page: 1,
|
|
464
480
|
id: { $eq: params.issuedThrough.id }
|
|
@@ -468,19 +484,19 @@ function createPermitService(params) {
|
|
|
468
484
|
if (product === undefined) {
|
|
469
485
|
throw new factory.errors.NotFound('Product');
|
|
470
486
|
}
|
|
471
|
-
const permitServiceEndpoint =
|
|
472
|
-
const permitServiceAuthorizeServerDomain =
|
|
473
|
-
const permitServiceClientId =
|
|
474
|
-
const permitServiceClientSecret =
|
|
487
|
+
const permitServiceEndpoint = product.availableChannel?.serviceUrl;
|
|
488
|
+
const permitServiceAuthorizeServerDomain = product.availableChannel?.credentials?.authorizeServerDomain;
|
|
489
|
+
const permitServiceClientId = product.availableChannel?.credentials?.clientId;
|
|
490
|
+
const permitServiceClientSecret = product.availableChannel?.credentials?.clientSecret;
|
|
475
491
|
if (typeof permitServiceEndpoint !== 'string' || permitServiceEndpoint.length === 0
|
|
476
492
|
|| typeof permitServiceAuthorizeServerDomain !== 'string' || permitServiceAuthorizeServerDomain.length === 0
|
|
477
493
|
|| typeof permitServiceClientId !== 'string' || permitServiceClientId.length === 0
|
|
478
494
|
|| typeof permitServiceClientSecret !== 'string' || permitServiceClientSecret.length === 0) {
|
|
479
495
|
throw new factory.errors.Internal('product availableChannel invalid');
|
|
480
496
|
}
|
|
481
|
-
return new (
|
|
497
|
+
return new (await pecorinoapi.loadPecorino()).service.Permit({
|
|
482
498
|
endpoint: permitServiceEndpoint,
|
|
483
|
-
auth:
|
|
499
|
+
auth: await pecorinoapi.auth.ClientCredentials.createInstance({
|
|
484
500
|
domain: permitServiceAuthorizeServerDomain,
|
|
485
501
|
clientId: permitServiceClientId,
|
|
486
502
|
clientSecret: permitServiceClientSecret,
|
|
@@ -488,5 +504,5 @@ function createPermitService(params) {
|
|
|
488
504
|
state: ''
|
|
489
505
|
})
|
|
490
506
|
});
|
|
491
|
-
}
|
|
507
|
+
};
|
|
492
508
|
}
|
|
@@ -7,17 +7,16 @@ const accountTransactionIdentifier_1 = require("../../../../../factory/accountTr
|
|
|
7
7
|
* ポイント特典を作成する
|
|
8
8
|
*/
|
|
9
9
|
function createPointAward(params) {
|
|
10
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
11
10
|
let pointAward;
|
|
12
|
-
const pointAwardAmount =
|
|
13
|
-
const pointAwardDescription =
|
|
14
|
-
const pointAwardToLocationIdentifier =
|
|
15
|
-
const pointAwardToLocationIssuedThroughId =
|
|
16
|
-
const pointAwardRecipient =
|
|
11
|
+
const pointAwardAmount = params.offer.itemOffered?.pointAward?.amount;
|
|
12
|
+
const pointAwardDescription = params.offer.itemOffered?.pointAward?.description;
|
|
13
|
+
const pointAwardToLocationIdentifier = params.acceptedOffer.itemOffered?.pointAward?.toLocation?.identifier;
|
|
14
|
+
const pointAwardToLocationIssuedThroughId = params.acceptedOffer.itemOffered?.pointAward?.toLocation?.issuedThrough.id;
|
|
15
|
+
const pointAwardRecipient = params.acceptedOffer.itemOffered?.pointAward?.recipient;
|
|
17
16
|
// const pointAwardPurposeIdentifier = params.acceptedOffer.itemOffered?.pointAward?.purpose?.identifier;
|
|
18
17
|
// オファーのpointAward設定が適切にされていれば、指定されたtoLocationを反映する
|
|
19
|
-
if (typeof
|
|
20
|
-
&& typeof
|
|
18
|
+
if (typeof pointAwardAmount?.value === 'number'
|
|
19
|
+
&& typeof pointAwardAmount?.currency === 'string'
|
|
21
20
|
&& typeof pointAwardToLocationIdentifier === 'string'
|
|
22
21
|
&& typeof pointAwardToLocationIssuedThroughId === 'string') {
|
|
23
22
|
// ここで識別子を作成する(入金のユニークネスが保証される)
|
|
@@ -27,13 +26,19 @@ function createPointAward(params) {
|
|
|
27
26
|
reservation: { id: params.reservation.id },
|
|
28
27
|
toLocation: { identifier: pointAwardToLocationIdentifier }
|
|
29
28
|
});
|
|
30
|
-
pointAward =
|
|
29
|
+
pointAward = {
|
|
30
|
+
amount: pointAwardAmount,
|
|
31
|
+
purpose: { identifier: purposeIdentifier },
|
|
32
|
+
toLocation: {
|
|
31
33
|
typeOf: factory.permit.PermitType.Permit,
|
|
32
34
|
identifier: pointAwardToLocationIdentifier,
|
|
33
35
|
issuedThrough: { id: pointAwardToLocationIssuedThroughId }
|
|
34
|
-
},
|
|
35
|
-
|
|
36
|
-
|
|
36
|
+
},
|
|
37
|
+
typeOf: factory.actionType.MoneyTransfer,
|
|
38
|
+
...(typeof pointAwardDescription === 'string') ? { description: pointAwardDescription } : undefined,
|
|
39
|
+
...(pointAwardRecipient !== undefined) ? { recipient: pointAwardRecipient } : undefined
|
|
40
|
+
// ...(typeof pointAwardPurposeIdentifier === 'string') ? { purpose: { identifier: pointAwardPurposeIdentifier } } : undefined
|
|
41
|
+
};
|
|
37
42
|
}
|
|
38
43
|
return pointAward;
|
|
39
44
|
}
|