@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.aggregateOffers = aggregateOffers;
|
|
13
4
|
const createDebug = require("debug");
|
|
@@ -19,30 +10,34 @@ const debug = createDebug('chevre-domain:service:aggregation');
|
|
|
19
10
|
* イベントに対するオファー集計
|
|
20
11
|
*/
|
|
21
12
|
function aggregateOffers(params) {
|
|
22
|
-
return (repos) =>
|
|
13
|
+
return async (repos) => {
|
|
23
14
|
// 集計対象イベント検索
|
|
24
|
-
const event =
|
|
15
|
+
const event = await repos.event.projectEventFieldsById({ id: params.id }, [
|
|
25
16
|
'location', 'project', 'startDate', 'typeOf', 'superEvent.location.id', 'offers.itemOffered'
|
|
26
17
|
] // projection(2024-07-21~)
|
|
27
18
|
);
|
|
28
|
-
const eventCapacity = (
|
|
19
|
+
const eventCapacity = (await repos.event.projectEventFields({
|
|
29
20
|
limit: 1,
|
|
30
21
|
page: 1,
|
|
31
22
|
id: { $eq: params.id },
|
|
32
23
|
typeOf: params.typeOf
|
|
33
24
|
}, ['maximumAttendeeCapacity', 'remainingAttendeeCapacity'])).shift();
|
|
34
25
|
debug('processing aggregateOffersByEvent...', eventCapacity);
|
|
35
|
-
|
|
36
|
-
event:
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
26
|
+
await aggregateOffersByEvent({
|
|
27
|
+
event: {
|
|
28
|
+
...event,
|
|
29
|
+
...(typeof eventCapacity?.maximumAttendeeCapacity === 'number')
|
|
30
|
+
? { maximumAttendeeCapacity: eventCapacity.maximumAttendeeCapacity }
|
|
31
|
+
: undefined,
|
|
32
|
+
...(typeof eventCapacity?.remainingAttendeeCapacity === 'number')
|
|
33
|
+
? { remainingAttendeeCapacity: eventCapacity.remainingAttendeeCapacity }
|
|
34
|
+
: undefined
|
|
35
|
+
}
|
|
41
36
|
})(repos);
|
|
42
|
-
}
|
|
37
|
+
};
|
|
43
38
|
}
|
|
44
39
|
function aggregateOffersByEvent(params) {
|
|
45
|
-
return (repos) =>
|
|
40
|
+
return async (repos) => {
|
|
46
41
|
const now = new Date();
|
|
47
42
|
const event = params.event;
|
|
48
43
|
// 施設取得は冗長なので、ルーム検索に変更(2023-01-30~)
|
|
@@ -53,13 +48,13 @@ function aggregateOffersByEvent(params) {
|
|
|
53
48
|
else {
|
|
54
49
|
throw new factory.errors.NotImplemented(`typeOf: ${params.event.typeOf}`);
|
|
55
50
|
}
|
|
56
|
-
const screeningRoom =
|
|
51
|
+
const screeningRoom = await repos.screeningRoom.findScreeningRoomsByBranchCode({
|
|
57
52
|
project: { id: event.project.id },
|
|
58
53
|
branchCode: { $eq: event.location.branchCode },
|
|
59
54
|
containedInPlace: { id: { $eq: movieTheaterId } }
|
|
60
55
|
});
|
|
61
56
|
// オファーごとの集計
|
|
62
|
-
const aggregateOffer =
|
|
57
|
+
const aggregateOffer = await aggregateOfferByEvent({
|
|
63
58
|
aggregateDate: now,
|
|
64
59
|
event,
|
|
65
60
|
screeningRoom: screeningRoom
|
|
@@ -74,7 +69,7 @@ function aggregateOffersByEvent(params) {
|
|
|
74
69
|
// // }
|
|
75
70
|
// };
|
|
76
71
|
// aggregateReservationsに保管(2024-03-25~)
|
|
77
|
-
|
|
72
|
+
await repos.aggregateReservation.save({
|
|
78
73
|
project: event.project,
|
|
79
74
|
reservationFor: {
|
|
80
75
|
id: event.id,
|
|
@@ -85,29 +80,36 @@ function aggregateOffersByEvent(params) {
|
|
|
85
80
|
}, {
|
|
86
81
|
$set: { aggregateOffer }
|
|
87
82
|
});
|
|
88
|
-
}
|
|
83
|
+
};
|
|
89
84
|
}
|
|
90
85
|
function reservedSeatsAvailable(params) {
|
|
91
|
-
|
|
92
|
-
return ((_d = (_c = (_b = (_a = params.event.offers) === null || _a === void 0 ? void 0 : _a.itemOffered) === null || _b === void 0 ? void 0 : _b.serviceOutput) === null || _c === void 0 ? void 0 : _c.reservedTicket) === null || _d === void 0 ? void 0 : _d.ticketedSeat) !== undefined;
|
|
86
|
+
return params.event.offers?.itemOffered?.serviceOutput?.reservedTicket?.ticketedSeat !== undefined;
|
|
93
87
|
}
|
|
94
88
|
function aggregateOfferByEvent(params) {
|
|
95
|
-
return (repos) =>
|
|
96
|
-
|
|
97
|
-
const availableOffers = yield (0, findEventOffers_1.findEventOffers)(params)(repos);
|
|
89
|
+
return async (repos) => {
|
|
90
|
+
const availableOffers = await (0, findEventOffers_1.findEventOffers)(params)(repos);
|
|
98
91
|
// 集計対象のオファーにフィルター(2024-11-09~)
|
|
99
|
-
const offersIncludedInAggregateReservation = availableOffers.filter(({ settings }) =>
|
|
92
|
+
const offersIncludedInAggregateReservation = availableOffers.filter(({ settings }) => settings?.includedInAggregateReservation === true);
|
|
100
93
|
// オファーごとの予約集計
|
|
101
94
|
const offersWithAggregateReservation = [];
|
|
102
95
|
for (const o of offersIncludedInAggregateReservation) {
|
|
103
|
-
const { maximumAttendeeCapacity, remainingAttendeeCapacity, aggregateReservation } =
|
|
96
|
+
const { maximumAttendeeCapacity, remainingAttendeeCapacity, aggregateReservation } = await aggregateReservationByOffer({
|
|
104
97
|
aggregateDate: params.aggregateDate,
|
|
105
98
|
event: params.event,
|
|
106
99
|
screeningRoom: params.screeningRoom,
|
|
107
100
|
offer: o,
|
|
108
101
|
availableOffers
|
|
109
102
|
})(repos);
|
|
110
|
-
offersWithAggregateReservation.push(
|
|
103
|
+
offersWithAggregateReservation.push({
|
|
104
|
+
typeOf: o.typeOf,
|
|
105
|
+
id: o.id,
|
|
106
|
+
identifier: o.identifier,
|
|
107
|
+
aggregateReservation: aggregateReservation,
|
|
108
|
+
...(typeof maximumAttendeeCapacity === 'number') ? { maximumAttendeeCapacity } : undefined,
|
|
109
|
+
...(typeof remainingAttendeeCapacity === 'number') ? { remainingAttendeeCapacity } : undefined,
|
|
110
|
+
// category情報を追加
|
|
111
|
+
...(typeof o.category?.codeValue === 'string') ? { category: o.category } : undefined
|
|
112
|
+
});
|
|
111
113
|
}
|
|
112
114
|
return {
|
|
113
115
|
typeOf: factory.offerType.AggregateOffer,
|
|
@@ -115,21 +117,20 @@ function aggregateOfferByEvent(params) {
|
|
|
115
117
|
offerCount: offersIncludedInAggregateReservation.length,
|
|
116
118
|
offers: offersWithAggregateReservation
|
|
117
119
|
};
|
|
118
|
-
}
|
|
120
|
+
};
|
|
119
121
|
}
|
|
120
122
|
function aggregateReservationByOffer(params) {
|
|
121
|
-
return (repos) =>
|
|
123
|
+
return async (repos) => {
|
|
122
124
|
let reservationCount4offer;
|
|
123
125
|
// let attendeeCount4offer: number | undefined;
|
|
124
126
|
// let checkInCount4offer: number | undefined;
|
|
125
127
|
const reservationType = factory.reservationType.EventReservation;
|
|
126
128
|
const offerIdsWithSameCategory = params.availableOffers.filter(({ category }) => {
|
|
127
|
-
|
|
128
|
-
return typeof (category === null || category === void 0 ? void 0 : category.codeValue) === 'string' && category.codeValue === ((_a = params.offer.category) === null || _a === void 0 ? void 0 : _a.codeValue);
|
|
129
|
+
return typeof category?.codeValue === 'string' && category.codeValue === params.offer.category?.codeValue;
|
|
129
130
|
})
|
|
130
131
|
.map(({ id }) => id);
|
|
131
132
|
if (offerIdsWithSameCategory.length > 0) {
|
|
132
|
-
reservationCount4offer =
|
|
133
|
+
reservationCount4offer = await repos.reservation.count({
|
|
133
134
|
typeOf: reservationType,
|
|
134
135
|
reservationFor: { id: { $eq: params.event.id } },
|
|
135
136
|
reservationStatuses: [factory.reservationStatusType.ReservationConfirmed],
|
|
@@ -156,21 +157,24 @@ function aggregateReservationByOffer(params) {
|
|
|
156
157
|
// checkedIn: true
|
|
157
158
|
// });
|
|
158
159
|
}
|
|
159
|
-
const { maximumAttendeeCapacity, remainingAttendeeCapacity } =
|
|
160
|
-
return
|
|
160
|
+
const { maximumAttendeeCapacity, remainingAttendeeCapacity } = await calculateCapacityByOffer(params)(repos);
|
|
161
|
+
return {
|
|
162
|
+
aggregateReservation: {
|
|
161
163
|
typeOf: 'AggregateReservation',
|
|
162
164
|
reservationCount: reservationCount4offer
|
|
163
165
|
// attendeeCount: attendeeCount4offer, // discontinue(2024-11-10~)
|
|
164
166
|
// checkInCount: checkInCount4offer // discontinue(2024-11-10~)
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
+
},
|
|
168
|
+
...(typeof maximumAttendeeCapacity === 'number') ? { maximumAttendeeCapacity } : undefined,
|
|
169
|
+
...(typeof remainingAttendeeCapacity === 'number') ? { remainingAttendeeCapacity } : undefined
|
|
170
|
+
};
|
|
171
|
+
};
|
|
167
172
|
}
|
|
168
173
|
/**
|
|
169
174
|
* オファーごとのキャパシティを算出する
|
|
170
175
|
*/
|
|
171
176
|
function calculateCapacityByOffer(params) {
|
|
172
|
-
return (repos) =>
|
|
173
|
-
var _a;
|
|
177
|
+
return async (repos) => {
|
|
174
178
|
let maximumAttendeeCapacity;
|
|
175
179
|
let remainingAttendeeCapacity;
|
|
176
180
|
if (reservedSeatsAvailable({ event: params.event })) {
|
|
@@ -180,7 +184,7 @@ function calculateCapacityByOffer(params) {
|
|
|
180
184
|
// 座席タイプ制約のあるオファーの場合
|
|
181
185
|
const eligibleSeatingTypes = params.offer.eligibleSeatingType;
|
|
182
186
|
if (Array.isArray(eligibleSeatingTypes)) {
|
|
183
|
-
const filterByEligibleSeatingTypeResult =
|
|
187
|
+
const filterByEligibleSeatingTypeResult = await filterByEligibleSeatingType({
|
|
184
188
|
event: params.event,
|
|
185
189
|
screeningRoom: params.screeningRoom,
|
|
186
190
|
eligibleSeatingTypes: eligibleSeatingTypes.map((e) => e.codeValue)
|
|
@@ -192,10 +196,10 @@ function calculateCapacityByOffer(params) {
|
|
|
192
196
|
const eligibleSubReservation = params.offer.eligibleSubReservation;
|
|
193
197
|
if (Array.isArray(eligibleSubReservation)) {
|
|
194
198
|
// 適用サブ予約の座席タイプごとにキャパシティ算出
|
|
195
|
-
const capacities =
|
|
199
|
+
const capacities = await Promise.all(eligibleSubReservation
|
|
196
200
|
.filter((subReservation) => typeof subReservation.amountOfThisGood === 'number' && subReservation.amountOfThisGood > 0)
|
|
197
|
-
.map((subReservation) =>
|
|
198
|
-
const filterByEligibleSeatingTypeResult =
|
|
201
|
+
.map(async (subReservation) => {
|
|
202
|
+
const filterByEligibleSeatingTypeResult = await filterByEligibleSeatingType({
|
|
199
203
|
event: params.event,
|
|
200
204
|
screeningRoom: params.screeningRoom,
|
|
201
205
|
eligibleSeatingTypes: [subReservation.typeOfGood.seatingType]
|
|
@@ -204,13 +208,13 @@ function calculateCapacityByOffer(params) {
|
|
|
204
208
|
maximumAttendeeCapacity: Math.floor(filterByEligibleSeatingTypeResult.maximumAttendeeCapacity / subReservation.amountOfThisGood),
|
|
205
209
|
remainingAttendeeCapacity: Math.floor(filterByEligibleSeatingTypeResult.remainingAttendeeCapacity / subReservation.amountOfThisGood)
|
|
206
210
|
};
|
|
207
|
-
}))
|
|
211
|
+
}));
|
|
208
212
|
// 座席タイプごとのキャパシティの中から、最小数を選択する
|
|
209
213
|
maximumAttendeeCapacity = Math.min(...(typeof maximumAttendeeCapacity === 'number') ? [maximumAttendeeCapacity] : [], ...capacities.map((c) => c.maximumAttendeeCapacity));
|
|
210
214
|
remainingAttendeeCapacity = Math.min(...(typeof remainingAttendeeCapacity === 'number') ? [remainingAttendeeCapacity] : [], ...capacities.map((c) => c.remainingAttendeeCapacity));
|
|
211
215
|
}
|
|
212
216
|
// 単価スペックの単位が1より大きい場合
|
|
213
|
-
const referenceQuantityValue =
|
|
217
|
+
const referenceQuantityValue = params.offer.priceSpecification?.referenceQuantity.value;
|
|
214
218
|
if (typeof referenceQuantityValue === 'number' && referenceQuantityValue > 1) {
|
|
215
219
|
if (typeof maximumAttendeeCapacity === 'number') {
|
|
216
220
|
maximumAttendeeCapacity -= maximumAttendeeCapacity % referenceQuantityValue;
|
|
@@ -221,18 +225,17 @@ function calculateCapacityByOffer(params) {
|
|
|
221
225
|
}
|
|
222
226
|
}
|
|
223
227
|
// レート制限がある場合、考慮する
|
|
224
|
-
if (
|
|
228
|
+
if (await isHoldByRateLimit(params)({ offerRateLimit: repos.offerRateLimit })) {
|
|
225
229
|
remainingAttendeeCapacity = 0;
|
|
226
230
|
}
|
|
227
231
|
return { maximumAttendeeCapacity, remainingAttendeeCapacity };
|
|
228
|
-
}
|
|
232
|
+
};
|
|
229
233
|
}
|
|
230
234
|
function isHoldByRateLimit(params) {
|
|
231
|
-
return (repos) =>
|
|
232
|
-
var _a, _b;
|
|
235
|
+
return async (repos) => {
|
|
233
236
|
let isHold = false;
|
|
234
|
-
const scope =
|
|
235
|
-
const unitInSeconds =
|
|
237
|
+
const scope = params.offer.validRateLimit?.scope;
|
|
238
|
+
const unitInSeconds = params.offer.validRateLimit?.unitInSeconds;
|
|
236
239
|
if (typeof scope === 'string' && typeof unitInSeconds === 'number') {
|
|
237
240
|
const rateLimitKey = {
|
|
238
241
|
project: { id: params.event.project.id },
|
|
@@ -247,17 +250,17 @@ function isHoldByRateLimit(params) {
|
|
|
247
250
|
},
|
|
248
251
|
reservationNumber: ''
|
|
249
252
|
};
|
|
250
|
-
const holder =
|
|
253
|
+
const holder = await repos.offerRateLimit.getHolder(rateLimitKey);
|
|
251
254
|
// ロックされていれば在庫0
|
|
252
255
|
if (typeof holder === 'string' && holder.length > 0) {
|
|
253
256
|
isHold = true;
|
|
254
257
|
}
|
|
255
258
|
}
|
|
256
259
|
return isHold;
|
|
257
|
-
}
|
|
260
|
+
};
|
|
258
261
|
}
|
|
259
262
|
function filterByEligibleSeatingType(params) {
|
|
260
|
-
return (repos) =>
|
|
263
|
+
return async (repos) => {
|
|
261
264
|
// 適用座席タイプに絞る
|
|
262
265
|
const eligibleSeatOffers = (Array.isArray(params.screeningRoom.containsPlace))
|
|
263
266
|
? params.screeningRoom.containsPlace.reduce((a, b) => {
|
|
@@ -283,7 +286,7 @@ function filterByEligibleSeatingType(params) {
|
|
|
283
286
|
const maximumAttendeeCapacity = eligibleSeatOffers.length;
|
|
284
287
|
let remainingAttendeeCapacity;
|
|
285
288
|
if (maximumAttendeeCapacity > 0) {
|
|
286
|
-
const availabilities =
|
|
289
|
+
const availabilities = await repos.stockHolder.searchHolders({
|
|
287
290
|
project: { id: params.event.project.id },
|
|
288
291
|
eventId: params.event.id,
|
|
289
292
|
startDate: moment(params.event.startDate)
|
|
@@ -297,5 +300,5 @@ function filterByEligibleSeatingType(params) {
|
|
|
297
300
|
remainingAttendeeCapacity = 0;
|
|
298
301
|
}
|
|
299
302
|
return { maximumAttendeeCapacity, remainingAttendeeCapacity };
|
|
300
|
-
}
|
|
303
|
+
};
|
|
301
304
|
}
|
|
@@ -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.aggregateScreeningEvent = aggregateScreeningEvent;
|
|
13
4
|
/**
|
|
@@ -23,30 +14,29 @@ const debug = createDebug('chevre-domain:service:aggregation');
|
|
|
23
14
|
* イベントデータをID指定で集計する
|
|
24
15
|
*/
|
|
25
16
|
function aggregateScreeningEvent(params) {
|
|
26
|
-
return (repos
|
|
17
|
+
return async (repos
|
|
27
18
|
// settings: Settings
|
|
28
|
-
) =>
|
|
29
|
-
var _a, _b, _c, _d;
|
|
19
|
+
) => {
|
|
30
20
|
// 集計対象イベント検索
|
|
31
|
-
const event =
|
|
21
|
+
const event = await repos.event.projectEventFieldsById({ id: params.id }, ['location', 'project', 'startDate', 'typeOf', 'superEvent.id', 'superEvent.location.id', 'offers.itemOffered', 'maximumPhysicalAttendeeCapacity']);
|
|
32
22
|
// プロジェクト設定検索
|
|
33
|
-
const project =
|
|
23
|
+
const project = await repos.project.findById({
|
|
34
24
|
id: event.project.id,
|
|
35
25
|
inclusion: ['settings']
|
|
36
26
|
});
|
|
37
|
-
const useOfferRateLimit =
|
|
27
|
+
const useOfferRateLimit = project.settings?.useOfferRateLimit === true;
|
|
38
28
|
let useAggregateOffer = false;
|
|
39
29
|
if (event.typeOf === factory.eventType.ScreeningEvent) {
|
|
40
|
-
const eventSeriesIdsByProject =
|
|
30
|
+
const eventSeriesIdsByProject = project.settings?.useAggregateReservation?.eventSeriesIds;
|
|
41
31
|
const eventSeriesIdIncluded = Array.isArray(eventSeriesIdsByProject) && eventSeriesIdsByProject.includes(event.superEvent.id);
|
|
42
|
-
const useAggregateOfferByProject =
|
|
32
|
+
const useAggregateOfferByProject = project.settings?.useAggregateOffer === true;
|
|
43
33
|
useAggregateOffer = eventSeriesIdIncluded && useAggregateOfferByProject;
|
|
44
34
|
}
|
|
45
35
|
let aggregatingEvents = [event];
|
|
46
36
|
// dependent on project settings(2024-10-29~)
|
|
47
37
|
if (useOfferRateLimit) {
|
|
48
|
-
const availableOffers =
|
|
49
|
-
const offerRateLimitExists = availableOffers.some((o) =>
|
|
38
|
+
const availableOffers = await (0, findEventOffers_1.findEventOffers)({ event })(repos);
|
|
39
|
+
const offerRateLimitExists = availableOffers.some((o) => typeof o.validRateLimit?.scope === 'string');
|
|
50
40
|
if (offerRateLimitExists) {
|
|
51
41
|
// 同location、かつ同時間帯、のイベントに関しても集計する(ttts暫定対応)
|
|
52
42
|
const startFrom = moment(event.startDate)
|
|
@@ -57,7 +47,7 @@ function aggregateScreeningEvent(params) {
|
|
|
57
47
|
.add(-1, 'second')
|
|
58
48
|
.toDate();
|
|
59
49
|
if (event.typeOf === factory.eventType.ScreeningEvent) {
|
|
60
|
-
aggregatingEvents =
|
|
50
|
+
aggregatingEvents = await repos.event.projectEventFields({
|
|
61
51
|
limit: 100,
|
|
62
52
|
page: 1,
|
|
63
53
|
project: { id: { $eq: event.project.id } },
|
|
@@ -75,14 +65,14 @@ function aggregateScreeningEvent(params) {
|
|
|
75
65
|
}
|
|
76
66
|
debug(aggregatingEvents.length, 'aggregatingEvents found', aggregatingEvents.map((e) => e.id));
|
|
77
67
|
for (const aggregatingEvent of aggregatingEvents) {
|
|
78
|
-
|
|
68
|
+
await aggregateByEvent({ event: aggregatingEvent }, { useAggregateOffer })(repos);
|
|
79
69
|
}
|
|
80
|
-
}
|
|
70
|
+
};
|
|
81
71
|
}
|
|
82
72
|
function aggregateByEvent(params, options) {
|
|
83
|
-
return (repos
|
|
73
|
+
return async (repos
|
|
84
74
|
// settings: Settings
|
|
85
|
-
) =>
|
|
75
|
+
) => {
|
|
86
76
|
const now = new Date();
|
|
87
77
|
const event = params.event;
|
|
88
78
|
// 施設取得は冗長なので、ルーム検索に変更(2023-01-30~)
|
|
@@ -93,19 +83,19 @@ function aggregateByEvent(params, options) {
|
|
|
93
83
|
else {
|
|
94
84
|
throw new factory.errors.NotImplemented(`typeOf: ${params.event.typeOf}`);
|
|
95
85
|
}
|
|
96
|
-
const screeningRoom =
|
|
86
|
+
const screeningRoom = await repos.screeningRoom.findScreeningRoomsByBranchCode({
|
|
97
87
|
project: { id: event.project.id },
|
|
98
88
|
branchCode: { $eq: event.location.branchCode },
|
|
99
89
|
containedInPlace: { id: { $eq: movieTheaterId } }
|
|
100
90
|
});
|
|
101
91
|
// 予約集計
|
|
102
|
-
const { maximumAttendeeCapacity, remainingAttendeeCapacity, aggregateReservation } =
|
|
92
|
+
const { maximumAttendeeCapacity, remainingAttendeeCapacity, aggregateReservation } = await aggregateReservationByEvent({
|
|
103
93
|
aggregateDate: now,
|
|
104
94
|
event: event,
|
|
105
95
|
screeningRoom
|
|
106
96
|
})(repos);
|
|
107
97
|
// オファーごとの集計
|
|
108
|
-
const aggregateOffer =
|
|
98
|
+
const aggregateOffer = await aggregateOfferByEvent({
|
|
109
99
|
aggregateDate: now,
|
|
110
100
|
event,
|
|
111
101
|
screeningRoom
|
|
@@ -113,27 +103,36 @@ function aggregateByEvent(params, options) {
|
|
|
113
103
|
debug('offers aggregated', aggregateOffer);
|
|
114
104
|
// 値がundefinedの場合に更新しないように注意
|
|
115
105
|
const update = {
|
|
116
|
-
$set:
|
|
106
|
+
$set: {
|
|
117
107
|
// updatedAt: new Date(), // $setオブジェクトが空だとMongoエラーになるので
|
|
118
108
|
aggregateReservation,
|
|
119
|
-
aggregateOffer
|
|
120
|
-
|
|
109
|
+
aggregateOffer,
|
|
110
|
+
...(maximumAttendeeCapacity !== undefined) ? { maximumAttendeeCapacity: maximumAttendeeCapacity } : undefined,
|
|
111
|
+
...(remainingAttendeeCapacity !== undefined) ? { remainingAttendeeCapacity: remainingAttendeeCapacity } : undefined,
|
|
112
|
+
...(aggregateReservation.checkInCount !== undefined) ? { checkInCount: aggregateReservation.checkInCount } : undefined,
|
|
113
|
+
...(aggregateReservation.attendeeCount !== undefined) ? { attendeeCount: aggregateReservation.attendeeCount } : undefined
|
|
114
|
+
},
|
|
115
|
+
$unset: {
|
|
116
|
+
noExistingAttributeName: 1, // $unsetは空だとエラーになるので
|
|
117
|
+
...(maximumAttendeeCapacity === undefined) ? { maximumAttendeeCapacity: '' } : undefined,
|
|
118
|
+
...(remainingAttendeeCapacity === undefined) ? { remainingAttendeeCapacity: '' } : undefined
|
|
119
|
+
}
|
|
121
120
|
};
|
|
122
121
|
debug('update:', update);
|
|
123
122
|
// 保管
|
|
124
|
-
|
|
125
|
-
|
|
123
|
+
await repos.event.updateAggregationById({ id: event.id }, update);
|
|
124
|
+
await onAggregated({ event }, options)({
|
|
126
125
|
task: repos.task
|
|
127
126
|
}
|
|
128
127
|
// settings
|
|
129
128
|
);
|
|
130
|
-
}
|
|
129
|
+
};
|
|
131
130
|
}
|
|
132
131
|
/**
|
|
133
132
|
* 集計後アクション
|
|
134
133
|
*/
|
|
135
134
|
function onAggregated(params, options) {
|
|
136
|
-
return (repos) =>
|
|
135
|
+
return async (repos) => {
|
|
137
136
|
// dependent on project settings(2024-10-29~)
|
|
138
137
|
if (options.useAggregateOffer) {
|
|
139
138
|
// AggregateOffersタスクへ移行(2024-03-25~)
|
|
@@ -147,32 +146,30 @@ function onAggregated(params, options) {
|
|
|
147
146
|
executionResults: [],
|
|
148
147
|
data: { typeOf: factory.eventType.ScreeningEvent, id: params.event.id }
|
|
149
148
|
};
|
|
150
|
-
|
|
149
|
+
await repos.task.saveMany([aggregateOffersTaskAttributes], { emitImmediately: true });
|
|
151
150
|
}
|
|
152
|
-
}
|
|
151
|
+
};
|
|
153
152
|
}
|
|
154
153
|
function reservedSeatsAvailable(params) {
|
|
155
|
-
|
|
156
|
-
return ((_d = (_c = (_b = (_a = params.event.offers) === null || _a === void 0 ? void 0 : _a.itemOffered) === null || _b === void 0 ? void 0 : _b.serviceOutput) === null || _c === void 0 ? void 0 : _c.reservedTicket) === null || _d === void 0 ? void 0 : _d.ticketedSeat) !== undefined;
|
|
154
|
+
return params.event.offers?.itemOffered?.serviceOutput?.reservedTicket?.ticketedSeat !== undefined;
|
|
157
155
|
}
|
|
158
156
|
function aggregateOfferByEvent(params) {
|
|
159
|
-
return (repos) =>
|
|
160
|
-
const { offerCount } =
|
|
157
|
+
return async (repos) => {
|
|
158
|
+
const { offerCount } = await calculateOfferCount({ event: params.event })(repos);
|
|
161
159
|
return {
|
|
162
160
|
typeOf: factory.offerType.AggregateOffer,
|
|
163
161
|
aggregateDate: params.aggregateDate,
|
|
164
162
|
offerCount
|
|
165
163
|
};
|
|
166
|
-
}
|
|
164
|
+
};
|
|
167
165
|
}
|
|
168
166
|
function calculateOfferCount(params) {
|
|
169
|
-
return (repos) =>
|
|
170
|
-
var _a, _b, _c, _d;
|
|
167
|
+
return async (repos) => {
|
|
171
168
|
let offerCount = 0;
|
|
172
169
|
try {
|
|
173
170
|
const eventOffers = params.event.offers;
|
|
174
|
-
if (typeof
|
|
175
|
-
const eventService = (
|
|
171
|
+
if (typeof eventOffers?.itemOffered?.id === 'string') {
|
|
172
|
+
const eventService = (await repos.product.projectFields({
|
|
176
173
|
limit: 1,
|
|
177
174
|
page: 1,
|
|
178
175
|
id: { $eq: eventOffers.itemOffered.id }
|
|
@@ -183,14 +180,14 @@ function calculateOfferCount(params) {
|
|
|
183
180
|
throw new factory.errors.NotFound(factory.product.ProductType.EventService);
|
|
184
181
|
}
|
|
185
182
|
// const firstCatalogIdOfProduct = eventService.hasOfferCatalog?.id; // migrate to itemListElement(2024-09-30~)
|
|
186
|
-
const firstCatalogIdOfProduct =
|
|
183
|
+
const firstCatalogIdOfProduct = eventService.hasOfferCatalog?.itemListElement.at(0)?.id;
|
|
187
184
|
if (typeof firstCatalogIdOfProduct === 'string') {
|
|
188
|
-
const catalogs =
|
|
185
|
+
const catalogs = await repos.offerCatalog.projectFields({
|
|
189
186
|
limit: 1,
|
|
190
187
|
page: 1,
|
|
191
188
|
id: { $in: [firstCatalogIdOfProduct] }
|
|
192
189
|
}, ['numberOfItems']);
|
|
193
|
-
const numberOfItems =
|
|
190
|
+
const numberOfItems = catalogs.shift()?.numberOfItems;
|
|
194
191
|
if (typeof numberOfItems === 'number') {
|
|
195
192
|
offerCount = numberOfItems;
|
|
196
193
|
}
|
|
@@ -201,10 +198,10 @@ function calculateOfferCount(params) {
|
|
|
201
198
|
throw error;
|
|
202
199
|
}
|
|
203
200
|
return { offerCount };
|
|
204
|
-
}
|
|
201
|
+
};
|
|
205
202
|
}
|
|
206
203
|
function aggregateReservationByEvent(params) {
|
|
207
|
-
return (repos) =>
|
|
204
|
+
return async (repos) => {
|
|
208
205
|
// 収容人数を集計
|
|
209
206
|
let maximumAttendeeCapacity;
|
|
210
207
|
let remainingAttendeeCapacity;
|
|
@@ -212,7 +209,7 @@ function aggregateReservationByEvent(params) {
|
|
|
212
209
|
let checkInCount;
|
|
213
210
|
let reservationCount;
|
|
214
211
|
const reservationType = factory.reservationType.EventReservation;
|
|
215
|
-
reservationCount =
|
|
212
|
+
reservationCount = await repos.reservation.count({
|
|
216
213
|
typeOf: reservationType,
|
|
217
214
|
reservationFor: { id: { $eq: params.event.id } },
|
|
218
215
|
reservationStatuses: [factory.reservationStatusType.ReservationConfirmed]
|
|
@@ -238,7 +235,7 @@ function aggregateReservationByEvent(params) {
|
|
|
238
235
|
// remainingAttendeeCapacityを決定
|
|
239
236
|
if (typeof maximumAttendeeCapacity === 'number') {
|
|
240
237
|
// 残席数を座席ロック数から計算
|
|
241
|
-
const unavailableOfferCount =
|
|
238
|
+
const unavailableOfferCount = await repos.stockHolder.countUnavailableOffers({
|
|
242
239
|
project: { id: params.event.project.id },
|
|
243
240
|
event: {
|
|
244
241
|
id: params.event.id,
|
|
@@ -252,12 +249,12 @@ function aggregateReservationByEvent(params) {
|
|
|
252
249
|
remainingAttendeeCapacity = 0;
|
|
253
250
|
}
|
|
254
251
|
}
|
|
255
|
-
attendeeCount =
|
|
252
|
+
attendeeCount = await repos.reservation.count({
|
|
256
253
|
typeOf: reservationType,
|
|
257
254
|
reservationFor: { id: { $eq: params.event.id } },
|
|
258
255
|
attended: true
|
|
259
256
|
});
|
|
260
|
-
checkInCount =
|
|
257
|
+
checkInCount = await repos.reservation.count({
|
|
261
258
|
typeOf: reservationType,
|
|
262
259
|
reservationFor: { id: { $eq: params.event.id } },
|
|
263
260
|
checkedIn: true
|
|
@@ -273,5 +270,5 @@ function aggregateReservationByEvent(params) {
|
|
|
273
270
|
reservationCount
|
|
274
271
|
}
|
|
275
272
|
};
|
|
276
|
-
}
|
|
273
|
+
};
|
|
277
274
|
}
|
|
@@ -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.findEventOffers = findEventOffers;
|
|
13
4
|
const factory = require("../../../factory");
|
|
@@ -16,14 +7,13 @@ const factory = require("../../../factory");
|
|
|
16
7
|
* NotFoundエラーをハンドリングする
|
|
17
8
|
*/
|
|
18
9
|
function findEventOffers(params) {
|
|
19
|
-
return (repos) =>
|
|
20
|
-
var _a, _b, _c;
|
|
10
|
+
return async (repos) => {
|
|
21
11
|
let availableOffers = [];
|
|
22
12
|
try {
|
|
23
13
|
// 興行設定があれば興行のカタログを参照する
|
|
24
14
|
const eventOffers = params.event.offers;
|
|
25
|
-
if (typeof
|
|
26
|
-
const eventService = (
|
|
15
|
+
if (typeof eventOffers?.itemOffered?.id === 'string') {
|
|
16
|
+
const eventService = (await repos.product.projectFields({
|
|
27
17
|
limit: 1,
|
|
28
18
|
page: 1,
|
|
29
19
|
id: { $eq: eventOffers.itemOffered.id }
|
|
@@ -34,17 +24,17 @@ function findEventOffers(params) {
|
|
|
34
24
|
throw new factory.errors.NotFound(factory.product.ProductType.EventService);
|
|
35
25
|
}
|
|
36
26
|
// const offerCatalogId = eventService.hasOfferCatalog?.id; // migrate to itemListElement(2024-09-30~)
|
|
37
|
-
const offerCatalogId =
|
|
27
|
+
const offerCatalogId = eventService.hasOfferCatalog?.itemListElement.at(0)?.id;
|
|
38
28
|
if (typeof offerCatalogId === 'string') {
|
|
39
29
|
// サブカタログIDを決定
|
|
40
30
|
let subOfferCatalogId = offerCatalogId;
|
|
41
31
|
let isOfferCatalogItem = false;
|
|
42
|
-
const offerCatalogFirstElement =
|
|
32
|
+
const offerCatalogFirstElement = await repos.offerCatalog.findFirstItemListElementById({ id: offerCatalogId });
|
|
43
33
|
if (offerCatalogFirstElement.typeOf === 'OfferCatalog') {
|
|
44
34
|
subOfferCatalogId = offerCatalogFirstElement.id;
|
|
45
35
|
isOfferCatalogItem = true;
|
|
46
36
|
}
|
|
47
|
-
const { offers } =
|
|
37
|
+
const { offers } = await repos.offer.searchAllByOfferCatalogId({
|
|
48
38
|
subOfferCatalog: { id: subOfferCatalogId, isOfferCatalogItem }
|
|
49
39
|
});
|
|
50
40
|
availableOffers = offers;
|
|
@@ -65,5 +55,5 @@ function findEventOffers(params) {
|
|
|
65
55
|
}
|
|
66
56
|
}
|
|
67
57
|
return availableOffers;
|
|
68
|
-
}
|
|
58
|
+
};
|
|
69
59
|
}
|