@chevre/domain 23.2.0-alpha.60 → 23.2.0-alpha.62
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 -54
- package/lib/chevre/factory/event.js +69 -42
- package/lib/chevre/factory/transactionNumber.js +3 -1
- package/lib/chevre/index.js +15 -30
- package/lib/chevre/repo/acceptedOffer.js +178 -197
- package/lib/chevre/repo/acceptedPaymentMethod.js +131 -143
- package/lib/chevre/repo/account.js +196 -223
- package/lib/chevre/repo/accountTitle.js +9 -21
- package/lib/chevre/repo/accountTransaction.js +189 -189
- package/lib/chevre/repo/accountingReport.js +88 -107
- package/lib/chevre/repo/action.js +853 -880
- package/lib/chevre/repo/additionalProperty.js +65 -91
- package/lib/chevre/repo/advanceBookingRequirement.js +69 -90
- package/lib/chevre/repo/aggregateOffer.js +394 -427
- 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 +696 -716
- package/lib/chevre/repo/authorization.js +115 -127
- package/lib/chevre/repo/categoryCode.js +115 -143
- package/lib/chevre/repo/comment.js +74 -82
- package/lib/chevre/repo/concurrentLock.js +17 -29
- package/lib/chevre/repo/confirmationNumber.js +21 -33
- package/lib/chevre/repo/creativeWork.js +154 -176
- package/lib/chevre/repo/credentials.js +40 -51
- package/lib/chevre/repo/customer.js +65 -88
- package/lib/chevre/repo/customerType.js +52 -61
- package/lib/chevre/repo/emailMessage.js +52 -80
- package/lib/chevre/repo/event.d.ts +0 -15
- package/lib/chevre/repo/event.js +720 -744
- package/lib/chevre/repo/eventOffer.js +122 -125
- package/lib/chevre/repo/eventSellerMakesOffer.js +64 -76
- package/lib/chevre/repo/eventSeries.d.ts +1 -7
- package/lib/chevre/repo/eventSeries.js +258 -277
- package/lib/chevre/repo/identity.js +94 -106
- package/lib/chevre/repo/identityProvider.js +72 -95
- package/lib/chevre/repo/issuer.js +102 -135
- package/lib/chevre/repo/member.js +238 -258
- package/lib/chevre/repo/memberProgram.js +157 -177
- package/lib/chevre/repo/merchantReturnPolicy.js +62 -93
- package/lib/chevre/repo/message.js +122 -135
- 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 +41 -14
- 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 -1
- 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 +68 -89
- package/lib/chevre/repo/note.js +143 -146
- package/lib/chevre/repo/noteAboutOrder.js +112 -113
- package/lib/chevre/repo/offer/unitPriceInCatalog.js +331 -313
- package/lib/chevre/repo/offerCatalog.js +302 -333
- package/lib/chevre/repo/offerCatalogItem.js +289 -316
- package/lib/chevre/repo/offerItemCondition.js +60 -85
- package/lib/chevre/repo/order.js +563 -572
- package/lib/chevre/repo/orderInTransaction.js +113 -136
- package/lib/chevre/repo/orderNumber.d.ts +0 -1
- package/lib/chevre/repo/orderNumber.js +108 -122
- package/lib/chevre/repo/ownershipInfo.js +213 -233
- package/lib/chevre/repo/passport.js +94 -102
- package/lib/chevre/repo/paymentMethod/creditCard.js +153 -169
- package/lib/chevre/repo/paymentService.js +180 -199
- package/lib/chevre/repo/paymentServiceChannel.js +76 -99
- package/lib/chevre/repo/paymentServiceProvider.js +186 -201
- package/lib/chevre/repo/pendingReservation.js +275 -305
- package/lib/chevre/repo/permit.js +47 -42
- package/lib/chevre/repo/person.js +227 -247
- package/lib/chevre/repo/place/busStop.js +77 -103
- 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 +187 -219
- package/lib/chevre/repo/place/screeningRoom.js +340 -324
- package/lib/chevre/repo/place/seat.js +539 -475
- package/lib/chevre/repo/place/section.js +329 -292
- package/lib/chevre/repo/potentialAction.js +67 -86
- package/lib/chevre/repo/priceSpecification.js +103 -141
- package/lib/chevre/repo/product.js +204 -238
- package/lib/chevre/repo/productHasOfferCatalog.js +39 -50
- package/lib/chevre/repo/productModel.js +94 -126
- 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 -56
- package/lib/chevre/repo/reservation.js +370 -345
- package/lib/chevre/repo/reserveInterface.js +31 -42
- package/lib/chevre/repo/role.js +94 -112
- package/lib/chevre/repo/schedule.js +25 -36
- package/lib/chevre/repo/seller.js +115 -145
- package/lib/chevre/repo/sellerMakesOffer.js +95 -110
- package/lib/chevre/repo/sellerPaymentAccepted.js +92 -109
- package/lib/chevre/repo/sellerReturnPolicy.js +74 -96
- package/lib/chevre/repo/service/availableHour.js +27 -38
- package/lib/chevre/repo/serviceOutput.js +55 -66
- package/lib/chevre/repo/serviceOutputIdentifier.js +46 -57
- package/lib/chevre/repo/setting/jwt.js +40 -50
- package/lib/chevre/repo/setting.js +48 -48
- package/lib/chevre/repo/stockHolder.js +179 -197
- package/lib/chevre/repo/task.d.ts +1 -1
- package/lib/chevre/repo/task.js +615 -617
- package/lib/chevre/repo/telemetry.js +1 -0
- package/lib/chevre/repo/ticket.js +52 -65
- package/lib/chevre/repo/transaction.js +758 -795
- package/lib/chevre/repo/transactionNumber.js +67 -80
- package/lib/chevre/repo/transactionNumberCounter.js +69 -79
- package/lib/chevre/repo/transactionProcess.js +36 -47
- package/lib/chevre/repo/trip.js +145 -163
- package/lib/chevre/repo/webSite.js +90 -105
- package/lib/chevre/repository.js +455 -646
- package/lib/chevre/service/account.js +9 -18
- package/lib/chevre/service/accountTransaction/deposit.js +16 -17
- package/lib/chevre/service/accountTransaction/transfer.js +18 -19
- package/lib/chevre/service/accountTransaction/withdraw.js +16 -17
- package/lib/chevre/service/accountTransaction.js +4 -13
- 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 -13
- 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 -23
- package/lib/chevre/service/assetTransaction/cancelReservation/startAndConfirm.js +17 -15
- package/lib/chevre/service/assetTransaction/cancelReservation.js +7 -16
- 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.d.ts +3 -0
- package/lib/chevre/service/assetTransaction/fixInformAction.js +9 -16
- package/lib/chevre/service/assetTransaction/moneyTransfer/potentialActions.js +13 -25
- package/lib/chevre/service/assetTransaction/moneyTransfer.js +101 -88
- package/lib/chevre/service/assetTransaction/pay/cancel.d.ts +12 -0
- package/lib/chevre/service/assetTransaction/pay/cancel.js +16 -0
- package/lib/chevre/service/assetTransaction/pay/check.d.ts +23 -0
- package/lib/chevre/service/assetTransaction/pay/check.js +27 -0
- package/lib/chevre/service/assetTransaction/pay/confirm.d.ts +24 -0
- package/lib/chevre/service/assetTransaction/pay/confirm.js +69 -0
- package/lib/chevre/service/assetTransaction/pay/exportTasksById.d.ts +18 -0
- package/lib/chevre/service/assetTransaction/pay/exportTasksById.js +102 -0
- package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.d.ts +48 -0
- package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.js +165 -0
- package/lib/chevre/service/assetTransaction/pay/searchGMOTrade.d.ts +20 -0
- package/lib/chevre/service/assetTransaction/pay/searchGMOTrade.js +49 -0
- package/lib/chevre/service/assetTransaction/pay/{account → start/account}/validation.d.ts +2 -2
- package/lib/chevre/service/assetTransaction/pay/{account → start/account}/validation.js +7 -17
- package/lib/chevre/service/assetTransaction/pay/{factory.d.ts → start/factory.d.ts} +1 -1
- package/lib/chevre/service/assetTransaction/pay/{factory.js → start/factory.js} +65 -37
- package/lib/chevre/service/assetTransaction/pay/{validateAcceptedPaymentMethodIfNeeded.d.ts → start/preStart/validateAcceptedPaymentMethodIfNeeded.d.ts} +4 -4
- package/lib/chevre/service/assetTransaction/pay/{validateAcceptedPaymentMethodIfNeeded.js → start/preStart/validateAcceptedPaymentMethodIfNeeded.js} +8 -21
- package/lib/chevre/service/assetTransaction/pay/start/preStart/validateSeller.d.ts +8 -0
- package/lib/chevre/service/assetTransaction/pay/start/preStart/validateSeller.js +44 -0
- package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeAccount.d.ts +13 -0
- package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeAccount.js +39 -0
- package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeCreditCard.d.ts +29 -0
- package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeCreditCard.js +31 -0
- package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.d.ts +42 -0
- package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.js +22 -0
- package/lib/chevre/service/assetTransaction/pay/start.d.ts +60 -0
- package/lib/chevre/service/assetTransaction/pay/start.js +139 -0
- package/lib/chevre/service/assetTransaction/pay.d.ts +8 -170
- package/lib/chevre/service/assetTransaction/pay.js +16 -623
- 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 -39
- package/lib/chevre/service/assetTransaction/registerService/factory.js +65 -28
- package/lib/chevre/service/assetTransaction/registerService/potentialActions.js +50 -41
- package/lib/chevre/service/assetTransaction/registerService.js +45 -52
- package/lib/chevre/service/assetTransaction/reserve/cancel.js +5 -14
- package/lib/chevre/service/assetTransaction/reserve/confirm/factory.js +15 -3
- package/lib/chevre/service/assetTransaction/reserve/confirm.js +21 -26
- package/lib/chevre/service/assetTransaction/reserve/exportTasksById.js +3 -12
- package/lib/chevre/service/assetTransaction/reserve/start/createSubReservations.js +99 -79
- package/lib/chevre/service/assetTransaction/reserve/start/factory/createPointAward.js +17 -12
- package/lib/chevre/service/assetTransaction/reserve/start/factory/createReservation.js +108 -70
- 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 -106
- 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 -55
- package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/verifyTicketTokenAsNeeded.js +7 -17
- 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 +47 -49
- package/lib/chevre/service/event/processUpdateMovieTheater.js +21 -23
- package/lib/chevre/service/event/saveScreeningEventSeries.js +56 -37
- package/lib/chevre/service/event/saveScreeningEvents.js +14 -23
- package/lib/chevre/service/event.js +34 -27
- package/lib/chevre/service/iam.js +8 -17
- package/lib/chevre/service/moneyTransfer.js +128 -112
- package/lib/chevre/service/notification/factory.js +11 -8
- package/lib/chevre/service/notification/notifyAbortedTasksByEmail.js +11 -15
- package/lib/chevre/service/notification/notifyByEmail.js +7 -17
- package/lib/chevre/service/notification/sendEmailMessage.js +23 -26
- package/lib/chevre/service/notification/triggerWebhook.js +58 -54
- package/lib/chevre/service/offer/any.js +6 -15
- package/lib/chevre/service/offer/event/authorize/factory.js +139 -61
- package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre/requestedProgramMembershipUsed2permit.js +8 -18
- package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre.js +43 -27
- package/lib/chevre/service/offer/event/authorize.js +114 -68
- package/lib/chevre/service/offer/event/checkAvailability.js +5 -15
- package/lib/chevre/service/offer/event/importFromCOA/factory.js +9 -2
- 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 -38
- package/lib/chevre/service/offer/event/searchOfferAppliesToMovieTicket.js +11 -22
- package/lib/chevre/service/offer/event/searchOfferCatalogItemAvailability.js +13 -24
- package/lib/chevre/service/offer/event/searchOfferCatalogItems.js +15 -22
- package/lib/chevre/service/offer/event/searchOffersByIds.js +24 -36
- 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 -39
- package/lib/chevre/service/offer/event/voidTransactionByActionId.js +14 -20
- package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer/authorize.js +52 -40
- 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 -22
- package/lib/chevre/service/offer/eventServiceByCOA/authorize/validateAcceptedOffers.js +67 -59
- package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +16 -26
- package/lib/chevre/service/offer/eventServiceByCOA/authorizeByAcceptAction.js +8 -18
- package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.js +42 -41
- package/lib/chevre/service/offer/eventServiceByCOA/findAcceptAction.js +22 -25
- package/lib/chevre/service/offer/factory.js +18 -7
- 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 -64
- package/lib/chevre/service/offer/product/factory.js +54 -29
- package/lib/chevre/service/offer/product/searchProductOffers.js +30 -23
- package/lib/chevre/service/offer/product.js +106 -80
- package/lib/chevre/service/offer.js +48 -44
- 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 -35
- package/lib/chevre/service/order/findPlaceOrderTransaction.js +3 -12
- package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +64 -68
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.d.ts +1 -1
- 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.d.ts +1 -1
- 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 -13
- 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.d.ts +1 -1
- 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 -19
- 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 -22
- package/lib/chevre/service/order/placeOrderWithoutTransaction.js +10 -18
- package/lib/chevre/service/order/returnOrder.js +27 -29
- package/lib/chevre/service/order/sendOrder.js +37 -36
- package/lib/chevre/service/payment/any/authorize/fixTransactionNumber.js +19 -25
- package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.js +24 -37
- package/lib/chevre/service/payment/any/factory.js +106 -49
- 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 -20
- package/lib/chevre/service/payment/any/person2username.js +33 -45
- package/lib/chevre/service/payment/any/publishPaymentUrl/fixTransactionNumberOnPublishPaymentUrl.js +8 -18
- package/lib/chevre/service/payment/any/verifyTicketTokenAsNeeded.js +5 -15
- package/lib/chevre/service/payment/any.js +181 -137
- package/lib/chevre/service/payment/creditCard/authorize/handleAuthorizeError.js +2 -2
- package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard.js +44 -24
- 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 -49
- package/lib/chevre/service/payment/creditCard/searchGMOTrade.js +33 -45
- package/lib/chevre/service/payment/creditCard/voidTransaction.js +15 -25
- 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 -23
- package/lib/chevre/service/payment/movieTicket/authorize.js +35 -28
- 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 -59
- package/lib/chevre/service/payment/movieTicket/validation.js +41 -36
- package/lib/chevre/service/payment/movieTicket/voidTransaction.js +8 -18
- package/lib/chevre/service/payment/paymentCard.js +87 -103
- package/lib/chevre/service/permit.js +36 -35
- package/lib/chevre/service/product.js +23 -27
- 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 -55
- package/lib/chevre/service/reserve/cancelReservation.js +92 -90
- package/lib/chevre/service/reserve/checkInReservation.js +24 -29
- package/lib/chevre/service/reserve/confirmReservation.js +33 -38
- 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 -24
- package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.js +38 -29
- package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +45 -35
- package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +37 -32
- package/lib/chevre/service/reserve/potentialActions/onReservationsCreated.js +17 -23
- package/lib/chevre/service/reserve/searchByOrder.js +10 -19
- package/lib/chevre/service/reserve/useReservation.js +47 -32
- package/lib/chevre/service/reserve/verifyToken4reservation.js +7 -14
- package/lib/chevre/service/reserveCOA/cancelReservation.js +7 -16
- package/lib/chevre/service/reserveCOA/factory.js +5 -1
- package/lib/chevre/service/task/acceptCOAOffer.js +20 -24
- 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 -42
- package/lib/chevre/service/task/createAccountingReport.js +14 -20
- package/lib/chevre/service/task/deletePerson.js +48 -58
- 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 -18
- 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 -23
- package/lib/chevre/service/task/onResourceDeleted.js +17 -26
- 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 -153
- 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 -48
- 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 -40
- 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 -22
- 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 -21
- package/lib/chevre/service/transaction/deleteTransaction.js +104 -84
- package/lib/chevre/service/transaction/moneyTransfer/exportTasks/factory.js +15 -6
- 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 -96
- 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 -4
- package/lib/chevre/service/transaction/placeOrder/confirm/validation/validatePrice.js +2 -3
- package/lib/chevre/service/transaction/placeOrder/confirm/validation.js +30 -45
- package/lib/chevre/service/transaction/placeOrder/confirm.js +75 -55
- package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +31 -13
- 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 -59
- package/lib/chevre/service/transaction/placeOrder/start.js +14 -18
- package/lib/chevre/service/transaction/returnOrder/exportTasks/factory.js +13 -6
- package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +176 -190
- package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPointAward.js +77 -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 -102
- package/lib/chevre/service/transaction/returnOrder/preStart/getReturnPolicyByProject.js +60 -80
- package/lib/chevre/service/transaction/returnOrder/preStart.js +42 -46
- package/lib/chevre/service/transaction/returnOrder.js +32 -36
- 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 -16
- package/lib/chevre/service.js +85 -128
- package/lib/chevre/settings/aggregation.js +4 -0
- package/lib/chevre/settings.js +7 -0
- package/package.json +8 -11
- package/example/src/chevre/addEventBySchedule.ts +0 -46
- package/example/src/chevre/orderNumber/decryptOrderNumber.ts +0 -14
- 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
- package/lib/chevre/service/task/createEvent/createEvent.d.ts +0 -25
- package/lib/chevre/service/task/createEvent/createEvent.js +0 -45
- package/lib/chevre/service/task/createEvent/createEventBySchedule/factory.d.ts +0 -22
- package/lib/chevre/service/task/createEvent/createEventBySchedule/factory.js +0 -190
- package/lib/chevre/service/task/createEvent/createEventBySchedule/schedule2events.d.ts +0 -15
- package/lib/chevre/service/task/createEvent/createEventBySchedule/schedule2events.js +0 -118
- package/lib/chevre/service/task/createEvent/createEventBySchedule.d.ts +0 -25
- package/lib/chevre/service/task/createEvent/createEventBySchedule.js +0 -107
- package/lib/chevre/service/task/createEvent/createEventSeries.d.ts +0 -13
- package/lib/chevre/service/task/createEvent/createEventSeries.js +0 -118
- package/lib/chevre/service/task/createEvent.d.ts +0 -6
- package/lib/chevre/service/task/createEvent.js +0 -46
|
@@ -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.open = open;
|
|
13
4
|
exports.transferMoney = transferMoney;
|
|
@@ -21,7 +12,7 @@ const factory = require("../factory");
|
|
|
21
12
|
* 口座を開設する
|
|
22
13
|
*/
|
|
23
14
|
function open(params) {
|
|
24
|
-
return (repos) =>
|
|
15
|
+
return async (repos) => {
|
|
25
16
|
const openDate = new Date();
|
|
26
17
|
return repos.account.open(params.map((p) => {
|
|
27
18
|
return {
|
|
@@ -34,7 +25,7 @@ function open(params) {
|
|
|
34
25
|
openDate: openDate
|
|
35
26
|
};
|
|
36
27
|
}));
|
|
37
|
-
}
|
|
28
|
+
};
|
|
38
29
|
}
|
|
39
30
|
/**
|
|
40
31
|
* 口座を解約する
|
|
@@ -59,7 +50,7 @@ function open(params) {
|
|
|
59
50
|
* 確定取引結果から、実際の転送アクションを実行します。
|
|
60
51
|
*/
|
|
61
52
|
function transferMoney(actionAttributes) {
|
|
62
|
-
return (repos) =>
|
|
53
|
+
return async (repos) => {
|
|
63
54
|
const action = actionAttributes;
|
|
64
55
|
let fromAccountNumber;
|
|
65
56
|
let toAccountNumber;
|
|
@@ -74,7 +65,7 @@ function transferMoney(actionAttributes) {
|
|
|
74
65
|
// tslint:disable-next-line:no-single-line-block-comment
|
|
75
66
|
/* istanbul ignore next */
|
|
76
67
|
: undefined;
|
|
77
|
-
|
|
68
|
+
await repos.account.settleTransaction({
|
|
78
69
|
fromAccountNumber: fromAccountNumber,
|
|
79
70
|
toAccountNumber: toAccountNumber,
|
|
80
71
|
amount: (typeof action.amount === 'number') ? action.amount : Number(action.amount.value),
|
|
@@ -84,18 +75,18 @@ function transferMoney(actionAttributes) {
|
|
|
84
75
|
catch (error) {
|
|
85
76
|
throw error;
|
|
86
77
|
}
|
|
87
|
-
}
|
|
78
|
+
};
|
|
88
79
|
}
|
|
89
80
|
/**
|
|
90
81
|
* 転送取消
|
|
91
82
|
* 期限切れ、あるいは、中止された取引から、転送をアクションを取り消します。
|
|
92
83
|
*/
|
|
93
84
|
function cancelMoneyTransfer(params) {
|
|
94
|
-
return (repos) =>
|
|
85
|
+
return async (repos) => {
|
|
95
86
|
let fromAccountNumber;
|
|
96
87
|
let toAccountNumber;
|
|
97
88
|
// 取引存在確認
|
|
98
|
-
const transaction =
|
|
89
|
+
const transaction = await repos.accountTransaction.findById({ typeOf: params.transaction.typeOf, id: params.transaction.id });
|
|
99
90
|
switch (params.transaction.typeOf) {
|
|
100
91
|
case factory.account.transactionType.Deposit:
|
|
101
92
|
toAccountNumber =
|
|
@@ -115,7 +106,7 @@ function cancelMoneyTransfer(params) {
|
|
|
115
106
|
default:
|
|
116
107
|
throw new factory.errors.Argument('typeOf', `transaction type ${params.transaction.typeOf} unknown`);
|
|
117
108
|
}
|
|
118
|
-
|
|
109
|
+
await repos.account.voidTransaction({
|
|
119
110
|
fromAccountNumber: fromAccountNumber,
|
|
120
111
|
toAccountNumber: toAccountNumber,
|
|
121
112
|
amount: (typeof transaction.object.amount === 'number')
|
|
@@ -123,5 +114,5 @@ function cancelMoneyTransfer(params) {
|
|
|
123
114
|
: transaction.object.amount.value,
|
|
124
115
|
transactionId: transaction.id
|
|
125
116
|
});
|
|
126
|
-
}
|
|
117
|
+
};
|
|
127
118
|
}
|
|
@@ -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.start = start;
|
|
13
4
|
/**
|
|
@@ -18,13 +9,18 @@ const factory = require("../../factory");
|
|
|
18
9
|
* 取引開始
|
|
19
10
|
*/
|
|
20
11
|
function start(params) {
|
|
21
|
-
return (repos) =>
|
|
12
|
+
return async (repos) => {
|
|
22
13
|
// 口座存在確認
|
|
23
|
-
const account =
|
|
14
|
+
const account = await repos.account.findByAccountNumber({
|
|
24
15
|
accountNumber: params.object.toLocation.accountNumber
|
|
25
16
|
});
|
|
26
17
|
// 取引ファクトリーで新しい進行中取引オブジェクトを作成
|
|
27
|
-
const startParams =
|
|
18
|
+
const startParams = {
|
|
19
|
+
project: { typeOf: params.project.typeOf, id: params.project.id },
|
|
20
|
+
typeOf: factory.account.transactionType.Deposit,
|
|
21
|
+
agent: params.agent,
|
|
22
|
+
recipient: params.recipient,
|
|
23
|
+
object: {
|
|
28
24
|
amount: params.object.amount,
|
|
29
25
|
toLocation: {
|
|
30
26
|
typeOf: account.typeOf,
|
|
@@ -34,14 +30,17 @@ function start(params) {
|
|
|
34
30
|
name: account.name
|
|
35
31
|
},
|
|
36
32
|
description: params.object.description
|
|
37
|
-
},
|
|
33
|
+
},
|
|
34
|
+
expires: params.expires,
|
|
38
35
|
// 必須化(2022-09-26~)
|
|
39
|
-
transactionNumber: params.transactionNumber
|
|
36
|
+
transactionNumber: params.transactionNumber,
|
|
37
|
+
...(typeof params.identifier === 'string' && params.identifier.length > 0) ? { identifier: params.identifier } : undefined
|
|
38
|
+
};
|
|
40
39
|
// 取引作成
|
|
41
40
|
let transaction;
|
|
42
41
|
try {
|
|
43
42
|
// 取引識別子が指定されていれば、進行中取引のユニークネスを保証する
|
|
44
|
-
transaction =
|
|
43
|
+
transaction = await repos.accountTransaction.startByIdentifier(startParams);
|
|
45
44
|
}
|
|
46
45
|
catch (error) {
|
|
47
46
|
throw error;
|
|
@@ -54,11 +53,11 @@ function start(params) {
|
|
|
54
53
|
: params.object.amount.value
|
|
55
54
|
};
|
|
56
55
|
// 入金先口座に進行中取引を追加
|
|
57
|
-
|
|
56
|
+
await repos.account.startTransaction({
|
|
58
57
|
accountNumber: params.object.toLocation.accountNumber,
|
|
59
58
|
transaction: pendingTransaction
|
|
60
59
|
});
|
|
61
60
|
// 結果返却
|
|
62
61
|
return transaction;
|
|
63
|
-
}
|
|
62
|
+
};
|
|
64
63
|
}
|
|
@@ -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.start = start;
|
|
13
4
|
/**
|
|
@@ -19,12 +10,12 @@ const factory = require("../../factory");
|
|
|
19
10
|
*/
|
|
20
11
|
function start(params) {
|
|
21
12
|
// tslint:disable-next-line:max-func-body-length
|
|
22
|
-
return (repos) =>
|
|
13
|
+
return async (repos) => {
|
|
23
14
|
// 口座存在確認
|
|
24
|
-
const fromAccount =
|
|
15
|
+
const fromAccount = await repos.account.findByAccountNumber({
|
|
25
16
|
accountNumber: params.object.fromLocation.accountNumber
|
|
26
17
|
});
|
|
27
|
-
const toAccount =
|
|
18
|
+
const toAccount = await repos.account.findByAccountNumber({
|
|
28
19
|
accountNumber: params.object.toLocation.accountNumber
|
|
29
20
|
});
|
|
30
21
|
// tslint:disable-next-line:no-single-line-block-comment
|
|
@@ -42,7 +33,12 @@ function start(params) {
|
|
|
42
33
|
throw new factory.errors.Argument('fromLocation', 'Insufficient balance');
|
|
43
34
|
}
|
|
44
35
|
// 取引ファクトリーで新しい進行中取引オブジェクトを作成
|
|
45
|
-
const startParams =
|
|
36
|
+
const startParams = {
|
|
37
|
+
project: { typeOf: params.project.typeOf, id: params.project.id },
|
|
38
|
+
typeOf: factory.account.transactionType.Transfer,
|
|
39
|
+
agent: params.agent,
|
|
40
|
+
recipient: params.recipient,
|
|
41
|
+
object: {
|
|
46
42
|
amount: params.object.amount,
|
|
47
43
|
fromLocation: {
|
|
48
44
|
typeOf: fromAccount.typeOf,
|
|
@@ -59,14 +55,17 @@ function start(params) {
|
|
|
59
55
|
name: toAccount.name
|
|
60
56
|
},
|
|
61
57
|
description: params.object.description
|
|
62
|
-
},
|
|
58
|
+
},
|
|
59
|
+
expires: params.expires,
|
|
63
60
|
// 必須化(2022-09-26~)
|
|
64
|
-
transactionNumber: params.transactionNumber
|
|
61
|
+
transactionNumber: params.transactionNumber,
|
|
62
|
+
...(typeof params.identifier === 'string' && params.identifier.length > 0) ? { identifier: params.identifier } : undefined
|
|
63
|
+
};
|
|
65
64
|
// 取引作成
|
|
66
65
|
let transaction;
|
|
67
66
|
try {
|
|
68
67
|
// 取引識別子が指定されていれば、進行中取引のユニークネスを保証する
|
|
69
|
-
transaction =
|
|
68
|
+
transaction = await repos.accountTransaction.startByIdentifier(startParams);
|
|
70
69
|
}
|
|
71
70
|
catch (error) {
|
|
72
71
|
throw error;
|
|
@@ -79,7 +78,7 @@ function start(params) {
|
|
|
79
78
|
: params.object.amount.value
|
|
80
79
|
};
|
|
81
80
|
// 残高確認
|
|
82
|
-
|
|
81
|
+
await repos.account.authorizeAmount({
|
|
83
82
|
accountNumber: params.object.fromLocation.accountNumber,
|
|
84
83
|
amount: (typeof params.object.amount === 'number')
|
|
85
84
|
? params.object.amount
|
|
@@ -87,11 +86,11 @@ function start(params) {
|
|
|
87
86
|
transaction: pendingTransaction
|
|
88
87
|
});
|
|
89
88
|
// 転送先口座に進行中取引を追加
|
|
90
|
-
|
|
89
|
+
await repos.account.startTransaction({
|
|
91
90
|
accountNumber: params.object.toLocation.accountNumber,
|
|
92
91
|
transaction: pendingTransaction
|
|
93
92
|
});
|
|
94
93
|
// 結果返却
|
|
95
94
|
return transaction;
|
|
96
|
-
}
|
|
95
|
+
};
|
|
97
96
|
}
|
|
@@ -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.start = start;
|
|
13
4
|
/**
|
|
@@ -18,9 +9,9 @@ const factory = require("../../factory");
|
|
|
18
9
|
* 取引開始
|
|
19
10
|
*/
|
|
20
11
|
function start(params) {
|
|
21
|
-
return (repos) =>
|
|
12
|
+
return async (repos) => {
|
|
22
13
|
// 口座存在確認
|
|
23
|
-
const fromAccount =
|
|
14
|
+
const fromAccount = await repos.account.findByAccountNumber({
|
|
24
15
|
accountNumber: params.object.fromLocation.accountNumber
|
|
25
16
|
});
|
|
26
17
|
const forcibly = (params.object.force === true);
|
|
@@ -31,7 +22,12 @@ function start(params) {
|
|
|
31
22
|
}
|
|
32
23
|
}
|
|
33
24
|
// 取引ファクトリーで新しい進行中取引オブジェクトを作成
|
|
34
|
-
const startParams =
|
|
25
|
+
const startParams = {
|
|
26
|
+
project: { typeOf: params.project.typeOf, id: params.project.id },
|
|
27
|
+
typeOf: factory.account.transactionType.Withdraw,
|
|
28
|
+
agent: params.agent,
|
|
29
|
+
recipient: params.recipient,
|
|
30
|
+
object: {
|
|
35
31
|
amount: params.object.amount,
|
|
36
32
|
fromLocation: {
|
|
37
33
|
typeOf: fromAccount.typeOf,
|
|
@@ -41,14 +37,17 @@ function start(params) {
|
|
|
41
37
|
name: fromAccount.name
|
|
42
38
|
},
|
|
43
39
|
description: params.object.description
|
|
44
|
-
},
|
|
40
|
+
},
|
|
41
|
+
expires: params.expires,
|
|
45
42
|
// 必須化(2022-09-26~)
|
|
46
|
-
transactionNumber: params.transactionNumber
|
|
43
|
+
transactionNumber: params.transactionNumber,
|
|
44
|
+
...(typeof params.identifier === 'string' && params.identifier.length > 0) ? { identifier: params.identifier } : undefined
|
|
45
|
+
};
|
|
47
46
|
// 取引作成
|
|
48
47
|
let transaction;
|
|
49
48
|
try {
|
|
50
49
|
// 取引識別子が指定されていれば、進行中取引のユニークネスを保証する
|
|
51
|
-
transaction =
|
|
50
|
+
transaction = await repos.accountTransaction.startByIdentifier(startParams);
|
|
52
51
|
}
|
|
53
52
|
catch (error) {
|
|
54
53
|
throw error;
|
|
@@ -61,7 +60,7 @@ function start(params) {
|
|
|
61
60
|
: params.object.amount.value
|
|
62
61
|
};
|
|
63
62
|
// 残高確保
|
|
64
|
-
|
|
63
|
+
await repos.account.authorizeAmount({
|
|
65
64
|
accountNumber: params.object.fromLocation.accountNumber,
|
|
66
65
|
amount: (typeof params.object.amount === 'number')
|
|
67
66
|
? params.object.amount
|
|
@@ -71,5 +70,5 @@ function start(params) {
|
|
|
71
70
|
});
|
|
72
71
|
// 結果返却
|
|
73
72
|
return transaction;
|
|
74
|
-
}
|
|
73
|
+
};
|
|
75
74
|
}
|
|
@@ -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.withdraw = exports.transfer = exports.deposit = void 0;
|
|
13
4
|
exports.confirm = confirm;
|
|
@@ -23,18 +14,18 @@ const factory_1 = require("./accountTransaction/factory");
|
|
|
23
14
|
* 取引確定
|
|
24
15
|
*/
|
|
25
16
|
function confirm(params) {
|
|
26
|
-
return (repos) =>
|
|
17
|
+
return async (repos) => {
|
|
27
18
|
let transaction;
|
|
28
19
|
// 取引存在確認
|
|
29
20
|
// tslint:disable-next-line:no-single-line-block-comment
|
|
30
21
|
/* istanbul ignore else */
|
|
31
22
|
if (typeof params.id === 'string') {
|
|
32
|
-
transaction =
|
|
23
|
+
transaction = await repos.accountTransaction.findById({ typeOf: params.typeOf, id: params.id });
|
|
33
24
|
}
|
|
34
25
|
else if (typeof params.transactionNumber === 'string') {
|
|
35
26
|
// tslint:disable-next-line:no-single-line-block-comment
|
|
36
27
|
/* istanbul ignore next */
|
|
37
|
-
transaction =
|
|
28
|
+
transaction = await repos.accountTransaction.findByTransactionNumber({
|
|
38
29
|
typeOf: params.typeOf,
|
|
39
30
|
transactionNumber: params.transactionNumber
|
|
40
31
|
});
|
|
@@ -56,5 +47,5 @@ function confirm(params) {
|
|
|
56
47
|
// result: {},
|
|
57
48
|
potentialActions
|
|
58
49
|
});
|
|
59
|
-
}
|
|
50
|
+
};
|
|
60
51
|
}
|
|
@@ -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
|
}
|