@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.searchProductOffers = searchProductOffers;
|
|
13
4
|
const factory = require("../../../factory");
|
|
@@ -15,11 +6,9 @@ const factory = require("../../../factory");
|
|
|
15
6
|
* プロダクトオファーを検索する
|
|
16
7
|
*/
|
|
17
8
|
function searchProductOffers(params) {
|
|
18
|
-
|
|
19
|
-
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
20
|
-
var _a, _b, _c;
|
|
9
|
+
return async (repos) => {
|
|
21
10
|
// プロダクト検索
|
|
22
|
-
const productWithOffers = (
|
|
11
|
+
const productWithOffers = (await repos.product.projectFields({
|
|
23
12
|
limit: 1,
|
|
24
13
|
page: 1,
|
|
25
14
|
id: { $eq: params.itemOffered.id }
|
|
@@ -30,14 +19,14 @@ function searchProductOffers(params) {
|
|
|
30
19
|
throw new factory.errors.NotFound('Product');
|
|
31
20
|
}
|
|
32
21
|
// const offerCatalogId = productWithOffers.hasOfferCatalog?.id; // migrate to itemListElement(2024-09-30~)
|
|
33
|
-
const offerCatalogId =
|
|
22
|
+
const offerCatalogId = productWithOffers.hasOfferCatalog?.itemListElement.at(0)?.id;
|
|
34
23
|
if (typeof offerCatalogId !== 'string') {
|
|
35
24
|
return [];
|
|
36
25
|
}
|
|
37
26
|
// サブカタログIDを決定
|
|
38
27
|
let subOfferCatalogId = offerCatalogId;
|
|
39
28
|
let isOfferCatalogItem = false;
|
|
40
|
-
const offerCatalogFirstElement =
|
|
29
|
+
const offerCatalogFirstElement = await repos.offerCatalog.findFirstItemListElementById({ id: offerCatalogId });
|
|
41
30
|
if (offerCatalogFirstElement.typeOf === 'OfferCatalog') {
|
|
42
31
|
subOfferCatalogId = offerCatalogFirstElement.id;
|
|
43
32
|
isOfferCatalogItem = true;
|
|
@@ -50,10 +39,10 @@ function searchProductOffers(params) {
|
|
|
50
39
|
throw new factory.errors.NotImplemented('id specification on addSortIndex not implemented');
|
|
51
40
|
}
|
|
52
41
|
// 明示的にカタログ指定可能にする
|
|
53
|
-
if (typeof
|
|
42
|
+
if (typeof params.includedInDataCatalog?.id === 'string' && params.includedInDataCatalog.id.length > 0) {
|
|
54
43
|
if (isOfferCatalogItem) {
|
|
55
44
|
// カタログに含まれるサブカタログか検証(2024-09-30~)
|
|
56
|
-
const offerCatalogIncludingSpecifiedElement =
|
|
45
|
+
const offerCatalogIncludingSpecifiedElement = await repos.offerCatalog.projectFields({
|
|
57
46
|
limit: 1,
|
|
58
47
|
page: 1,
|
|
59
48
|
id: { $in: [offerCatalogId] },
|
|
@@ -70,7 +59,7 @@ function searchProductOffers(params) {
|
|
|
70
59
|
}
|
|
71
60
|
subOfferCatalogId = params.includedInDataCatalog.id;
|
|
72
61
|
}
|
|
73
|
-
const searchByOfferCatalogIdResult =
|
|
62
|
+
const searchByOfferCatalogIdResult = await repos.offer.searchByOfferCatalogIdWithSortIndex({
|
|
74
63
|
offerCatalog: { id: subOfferCatalogId, isOfferCatalogItem },
|
|
75
64
|
excludeAppliesToMovieTicket: false,
|
|
76
65
|
priceSpecification: {}, // 絞る必要なし
|
|
@@ -91,13 +80,13 @@ function searchProductOffers(params) {
|
|
|
91
80
|
let includedInDataCatalogIds = [subOfferCatalogId];
|
|
92
81
|
if (isOfferCatalogItem) {
|
|
93
82
|
// 複数カタログ対応(2023-09-27~)
|
|
94
|
-
const offerCatalogItems =
|
|
83
|
+
const offerCatalogItems = await repos.offerCatalog.findItemListElementById({
|
|
95
84
|
id: offerCatalogId,
|
|
96
85
|
project: { id: productWithOffers.project.id }
|
|
97
86
|
});
|
|
98
87
|
includedInDataCatalogIds = offerCatalogItems.itemListElement.map((element) => element.id);
|
|
99
88
|
}
|
|
100
|
-
const searchByOfferCatalogIdResult =
|
|
89
|
+
const searchByOfferCatalogIdResult = await repos.offer.searchAllByIdsAndOfferCatalogId({
|
|
101
90
|
ids: params.ids,
|
|
102
91
|
includedInDataCatalog: { id: includedInDataCatalogIds, isOfferCatalogItem },
|
|
103
92
|
excludeAppliesToMovieTicket: false,
|
|
@@ -107,10 +96,9 @@ function searchProductOffers(params) {
|
|
|
107
96
|
offers = searchByOfferCatalogIdResult;
|
|
108
97
|
}
|
|
109
98
|
return offers.map((o) => {
|
|
110
|
-
var _a;
|
|
111
99
|
let sortIndex;
|
|
112
100
|
if (params.addSortIndex) {
|
|
113
|
-
sortIndex = sortedOfferIds
|
|
101
|
+
sortIndex = sortedOfferIds?.indexOf(String(o.id));
|
|
114
102
|
}
|
|
115
103
|
const unitSpec = o.priceSpecification;
|
|
116
104
|
const compoundPriceSpecification = {
|
|
@@ -121,7 +109,25 @@ function searchProductOffers(params) {
|
|
|
121
109
|
...(unitSpec !== undefined) ? [unitSpec] : []
|
|
122
110
|
]
|
|
123
111
|
};
|
|
124
|
-
return
|
|
112
|
+
return {
|
|
113
|
+
additionalProperty: (Array.isArray(o.additionalProperty)) ? o.additionalProperty : [],
|
|
114
|
+
alternateName: o.alternateName,
|
|
115
|
+
availability: o.availability,
|
|
116
|
+
color: o.color,
|
|
117
|
+
description: o.description,
|
|
118
|
+
id: o.id,
|
|
119
|
+
identifier: o.identifier,
|
|
120
|
+
itemOffered: o.itemOffered,
|
|
121
|
+
name: o.name,
|
|
122
|
+
priceCurrency: o.priceCurrency,
|
|
123
|
+
typeOf: o.typeOf,
|
|
124
|
+
priceSpecification: compoundPriceSpecification,
|
|
125
|
+
...(o.validFrom instanceof Date) ? { validFrom: o.validFrom } : undefined,
|
|
126
|
+
...(o.validThrough instanceof Date) ? { validThrough: o.validThrough } : undefined,
|
|
127
|
+
...(typeof sortIndex === 'number') ? { sortIndex } : undefined,
|
|
128
|
+
...(typeof o.offerIndex === 'number') ? { offerIndex: o.offerIndex } : undefined,
|
|
129
|
+
...(typeof o.parentOffer?.id === 'string') ? { parentOffer: { id: o.parentOffer.id } } : undefined
|
|
130
|
+
};
|
|
125
131
|
});
|
|
126
|
-
}
|
|
132
|
+
};
|
|
127
133
|
}
|
|
@@ -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.ERROR_MESSAGE_ALREADY_REGISTERED = void 0;
|
|
13
4
|
exports.search = search;
|
|
@@ -26,10 +17,9 @@ exports.ERROR_MESSAGE_ALREADY_REGISTERED = 'Already registered';
|
|
|
26
17
|
* プロダクトオファーを検索する
|
|
27
18
|
*/
|
|
28
19
|
function search(params) {
|
|
29
|
-
return (repos) =>
|
|
20
|
+
return async (repos) => {
|
|
30
21
|
// const now = moment();
|
|
31
|
-
|
|
32
|
-
const searchProductsResult = yield repos.product.projectFields({
|
|
22
|
+
const searchProductsResult = await repos.product.projectFields({
|
|
33
23
|
limit: 1,
|
|
34
24
|
page: 1,
|
|
35
25
|
project: { id: { $eq: params.project.id } },
|
|
@@ -44,7 +34,7 @@ function search(params) {
|
|
|
44
34
|
// 販売者指定の場合、検証
|
|
45
35
|
if (product.typeOf === factory.product.ProductType.MembershipService
|
|
46
36
|
|| product.typeOf === factory.product.ProductType.PaymentCard) {
|
|
47
|
-
const sellerId =
|
|
37
|
+
const sellerId = params.seller?.id;
|
|
48
38
|
if (typeof sellerId === 'string') {
|
|
49
39
|
// productsドキュメント参照のoffers検証は廃止(2025-09-22~)
|
|
50
40
|
// const productOffers = await repos.productOffer.search({
|
|
@@ -66,7 +56,7 @@ function search(params) {
|
|
|
66
56
|
// }
|
|
67
57
|
}
|
|
68
58
|
}
|
|
69
|
-
const offers =
|
|
59
|
+
const offers = await (0, searchProductOffers_1.searchProductOffers)({
|
|
70
60
|
ids: params.ids,
|
|
71
61
|
itemOffered: { id: params.itemOffered.id },
|
|
72
62
|
availableAt: params.availableAt,
|
|
@@ -78,27 +68,25 @@ function search(params) {
|
|
|
78
68
|
page: params.page
|
|
79
69
|
})(repos);
|
|
80
70
|
return { offers, product };
|
|
81
|
-
}
|
|
71
|
+
};
|
|
82
72
|
}
|
|
83
73
|
/**
|
|
84
74
|
* サービス(Chevreプロダクト)オファー承認
|
|
85
75
|
*/
|
|
86
|
-
// tslint:disable-next-line:max-func-body-length
|
|
87
76
|
function authorize(params) {
|
|
88
|
-
|
|
89
|
-
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
77
|
+
return async (repos) => {
|
|
90
78
|
const now = new Date();
|
|
91
|
-
const transaction =
|
|
79
|
+
const transaction = await repos.transaction.projectFieldsInProgressById({
|
|
92
80
|
typeOf: factory.transactionType.PlaceOrder,
|
|
93
81
|
id: params.transaction.id
|
|
94
82
|
}, ['agent', 'project', 'seller', 'typeOf', 'expires']);
|
|
95
83
|
if (transaction.agent.id !== params.agent.id) {
|
|
96
84
|
throw new factory.errors.Forbidden('Transaction not yours');
|
|
97
85
|
}
|
|
98
|
-
const { product, availableOffers } =
|
|
86
|
+
const { product, availableOffers } = await fixProductAndOffers(params)(repos);
|
|
99
87
|
// 会員の場合のみ既登録か確認
|
|
100
88
|
if (params.agent.typeOf === factory.personType.Person) {
|
|
101
|
-
|
|
89
|
+
await checkIfRegistered({
|
|
102
90
|
agent: { id: params.agent.id },
|
|
103
91
|
product: { id: String(product.id), typeOf: product.typeOf },
|
|
104
92
|
now: now
|
|
@@ -106,24 +94,24 @@ function authorize(params) {
|
|
|
106
94
|
})(repos);
|
|
107
95
|
}
|
|
108
96
|
// ポイント特典の識別子に利用するため注文番号を先に発行
|
|
109
|
-
const orderNumber =
|
|
97
|
+
const orderNumber = await (0, publishOrderNumberIfNotExist_1.publishOrderNumberIfNotExist)({
|
|
110
98
|
project: { id: transaction.project.id },
|
|
111
99
|
id: transaction.id,
|
|
112
100
|
object: { orderDate: new Date() }
|
|
113
101
|
})(repos);
|
|
114
|
-
let acceptedOffer =
|
|
102
|
+
let acceptedOffer = await validateAcceptedOffers({
|
|
115
103
|
object: params.object,
|
|
116
104
|
product,
|
|
117
105
|
availableOffers,
|
|
118
106
|
seller: transaction.seller,
|
|
119
107
|
orderNumber
|
|
120
108
|
})(repos);
|
|
121
|
-
acceptedOffer =
|
|
109
|
+
acceptedOffer = await createServiceOutputIdentifier({ acceptedOffer, product })(repos);
|
|
122
110
|
let requestBody;
|
|
123
111
|
let responseBody;
|
|
124
112
|
let result;
|
|
125
113
|
// まず取引番号発行
|
|
126
|
-
const { transactionNumber } =
|
|
114
|
+
const { transactionNumber } = await repos.transactionNumber.publishByTimestamp({
|
|
127
115
|
startDate: new Date()
|
|
128
116
|
});
|
|
129
117
|
const actionAttributes = (0, factory_1.createActionAttributes)({
|
|
@@ -131,7 +119,7 @@ function authorize(params) {
|
|
|
131
119
|
transaction: transaction,
|
|
132
120
|
transactionNumber: transactionNumber
|
|
133
121
|
});
|
|
134
|
-
const action =
|
|
122
|
+
const action = await repos.action.start(actionAttributes);
|
|
135
123
|
try {
|
|
136
124
|
// 会員の場合のみ排他ロック
|
|
137
125
|
// if (params.agent.typeOf === factory.personType.Person) {
|
|
@@ -144,12 +132,12 @@ function authorize(params) {
|
|
|
144
132
|
transactionNumber
|
|
145
133
|
});
|
|
146
134
|
requestBody = startParams;
|
|
147
|
-
responseBody =
|
|
135
|
+
responseBody = await RegisterServiceTransaction.start(startParams)(repos);
|
|
148
136
|
const acceptedOffers4result = (0, factory_1.responseBody2resultAcceptedOffer)({
|
|
149
137
|
project: actionAttributes.project, responseBody, acceptedOffer
|
|
150
138
|
});
|
|
151
139
|
result = (0, factory_1.createResult)({ project: actionAttributes.project, requestBody, responseBody, acceptedOffer });
|
|
152
|
-
|
|
140
|
+
await (0, any_1.acceptOffer)({
|
|
153
141
|
orderNumber,
|
|
154
142
|
project: transaction.project,
|
|
155
143
|
acceptedOffers: acceptedOffers4result
|
|
@@ -157,22 +145,21 @@ function authorize(params) {
|
|
|
157
145
|
}
|
|
158
146
|
catch (error) {
|
|
159
147
|
try {
|
|
160
|
-
|
|
148
|
+
await repos.action.giveUp({ typeOf: action.typeOf, id: action.id, error });
|
|
161
149
|
}
|
|
162
150
|
catch (__) {
|
|
163
151
|
// no op
|
|
164
152
|
}
|
|
165
153
|
throw error;
|
|
166
154
|
}
|
|
167
|
-
|
|
155
|
+
await repos.action.completeWithVoid({ typeOf: action.typeOf, id: action.id, result: result });
|
|
168
156
|
return { id: action.id, result };
|
|
169
|
-
}
|
|
157
|
+
};
|
|
170
158
|
}
|
|
171
159
|
function fixProductAndOffers(params) {
|
|
172
|
-
return (repos) =>
|
|
173
|
-
|
|
174
|
-
const
|
|
175
|
-
const searchProductsResult = yield repos.product.projectFields({
|
|
160
|
+
return async (repos) => {
|
|
161
|
+
const productId = String(params.object[0]?.itemOffered?.id);
|
|
162
|
+
const searchProductsResult = await repos.product.projectFields({
|
|
176
163
|
limit: 1,
|
|
177
164
|
page: 1,
|
|
178
165
|
project: { id: { $eq: params.project.id } },
|
|
@@ -188,14 +175,23 @@ function fixProductAndOffers(params) {
|
|
|
188
175
|
&& product.typeOf !== factory.product.ProductType.PaymentCard) {
|
|
189
176
|
throw new factory.errors.Argument('object.itemOffered.id', `invalid product type: ${product.typeOf}`);
|
|
190
177
|
}
|
|
191
|
-
const { offers } =
|
|
178
|
+
const { offers } = await search({
|
|
179
|
+
ids: params.object.map((o) => String(o.id)),
|
|
180
|
+
project: { id: params.project.id },
|
|
181
|
+
itemOffered: { id: String(product.id) },
|
|
182
|
+
onlyValid: true,
|
|
183
|
+
includedInDataCatalog: { id: '' }, // 承認時はカタログ指定の必要なし
|
|
184
|
+
addSortIndex: false,
|
|
185
|
+
useIncludeInDataCatalog: false,
|
|
186
|
+
// 利用アプリケーションを指定
|
|
187
|
+
...(typeof params.location?.id === 'string') ? { availableAt: { id: params.location.id } } : undefined
|
|
188
|
+
})(repos);
|
|
192
189
|
return { product, availableOffers: offers };
|
|
193
|
-
}
|
|
190
|
+
};
|
|
194
191
|
}
|
|
195
192
|
function voidTransaction(params) {
|
|
196
|
-
return (repos) =>
|
|
197
|
-
|
|
198
|
-
const transaction = yield repos.transaction.projectFieldsById({
|
|
193
|
+
return async (repos) => {
|
|
194
|
+
const transaction = await repos.transaction.projectFieldsById({
|
|
199
195
|
typeOf: params.purpose.typeOf,
|
|
200
196
|
id: params.purpose.id
|
|
201
197
|
}, ['agent', 'status', 'typeOf']);
|
|
@@ -204,21 +200,21 @@ function voidTransaction(params) {
|
|
|
204
200
|
&& transaction.status !== factory.transactionStatusType.InProgress) {
|
|
205
201
|
throw new factory.errors.Argument('purpose', `invalid transaction status: ${transaction.status}`);
|
|
206
202
|
}
|
|
207
|
-
if (typeof
|
|
203
|
+
if (typeof params.agent?.id === 'string') {
|
|
208
204
|
if (transaction.agent.id !== params.agent.id) {
|
|
209
205
|
throw new factory.errors.Forbidden('Transaction not yours');
|
|
210
206
|
}
|
|
211
207
|
}
|
|
212
208
|
let authorizeActions;
|
|
213
209
|
if (typeof params.id === 'string') {
|
|
214
|
-
const action =
|
|
210
|
+
const action = await repos.action.findById({ typeOf: factory.actionType.AuthorizeAction, id: params.id });
|
|
215
211
|
if (action.purpose.typeOf !== transaction.typeOf || action.purpose.id !== transaction.id) {
|
|
216
212
|
throw new factory.errors.Argument('Transaction', 'Action not found in the transaction');
|
|
217
213
|
}
|
|
218
214
|
authorizeActions = [action];
|
|
219
215
|
}
|
|
220
216
|
else {
|
|
221
|
-
authorizeActions =
|
|
217
|
+
authorizeActions = await repos.action.searchByPurpose({
|
|
222
218
|
typeOf: factory.actionType.AuthorizeAction,
|
|
223
219
|
purpose: {
|
|
224
220
|
typeOf: params.purpose.typeOf,
|
|
@@ -229,11 +225,10 @@ function voidTransaction(params) {
|
|
|
229
225
|
.filter((a) => Array.isArray(a.object)
|
|
230
226
|
&& a.object.length > 0
|
|
231
227
|
&& a.object[0].typeOf === factory.offerType.Offer
|
|
232
|
-
&& availableProductTypes_1.availableProductTypes.indexOf(a.object[0].itemOffered.typeOf) >= 0))
|
|
228
|
+
&& availableProductTypes_1.availableProductTypes.indexOf(a.object[0].itemOffered.typeOf) >= 0));
|
|
233
229
|
}
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
const productId = (_b = (_a = action.object[0]) === null || _a === void 0 ? void 0 : _a.itemOffered) === null || _b === void 0 ? void 0 : _b.id;
|
|
230
|
+
await Promise.all(authorizeActions.map(async (action) => {
|
|
231
|
+
const productId = action.object[0]?.itemOffered?.id;
|
|
237
232
|
if (typeof productId === 'string') {
|
|
238
233
|
// 廃止(2023-12-07~)
|
|
239
234
|
// await processUnlockRegisterMembershipService({
|
|
@@ -242,24 +237,23 @@ function voidTransaction(params) {
|
|
|
242
237
|
// purpose: params.purpose
|
|
243
238
|
// })(repos);
|
|
244
239
|
}
|
|
245
|
-
|
|
246
|
-
|
|
240
|
+
await repos.action.cancelWithVoid({ typeOf: action.typeOf, id: action.id });
|
|
241
|
+
await processVoidRegisterServiceTransaction({
|
|
247
242
|
action,
|
|
248
243
|
project: params.project
|
|
249
244
|
})(repos);
|
|
250
|
-
}))
|
|
251
|
-
}
|
|
245
|
+
}));
|
|
246
|
+
};
|
|
252
247
|
}
|
|
253
248
|
/**
|
|
254
249
|
* Chevre進行中取引を中止する
|
|
255
250
|
*/
|
|
256
251
|
function processVoidRegisterServiceTransaction(params) {
|
|
257
|
-
return (repos) =>
|
|
258
|
-
|
|
259
|
-
const transactionNumber = (_a = params.action.instrument) === null || _a === void 0 ? void 0 : _a.transactionNumber;
|
|
252
|
+
return async (repos) => {
|
|
253
|
+
const transactionNumber = params.action.instrument?.transactionNumber;
|
|
260
254
|
if (typeof transactionNumber === 'string') {
|
|
261
255
|
// 取引が存在すれば中止
|
|
262
|
-
const searchAssetTransactionsResult =
|
|
256
|
+
const searchAssetTransactionsResult = await repos.assetTransaction.search({
|
|
263
257
|
limit: 1,
|
|
264
258
|
page: 1,
|
|
265
259
|
project: { id: { $eq: params.project.id } },
|
|
@@ -267,17 +261,17 @@ function processVoidRegisterServiceTransaction(params) {
|
|
|
267
261
|
transactionNumber: { $eq: transactionNumber }
|
|
268
262
|
});
|
|
269
263
|
if (searchAssetTransactionsResult.length > 0) {
|
|
270
|
-
|
|
264
|
+
await RegisterServiceTransaction.cancel({ transactionNumber })(repos);
|
|
271
265
|
// await repos.registerServiceTransaction.cancel({ transactionNumber: transactionNumber });
|
|
272
266
|
}
|
|
273
267
|
}
|
|
274
|
-
}
|
|
268
|
+
};
|
|
275
269
|
}
|
|
276
270
|
/**
|
|
277
271
|
* 受け入れらたオファーの内容を検証
|
|
278
272
|
*/
|
|
279
273
|
function validateAcceptedOffers(params) {
|
|
280
|
-
return (__) =>
|
|
274
|
+
return async (__) => {
|
|
281
275
|
let acceptedOfferWithoutDetail = params.object;
|
|
282
276
|
if (!Array.isArray(acceptedOfferWithoutDetail)) {
|
|
283
277
|
acceptedOfferWithoutDetail = [acceptedOfferWithoutDetail];
|
|
@@ -306,15 +300,14 @@ function validateAcceptedOffers(params) {
|
|
|
306
300
|
// }
|
|
307
301
|
// 利用可能なチケットオファーであれば受け入れる
|
|
308
302
|
return Promise.all(acceptedOfferWithoutDetail.map((offerWithoutDetail) => {
|
|
309
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
310
303
|
const offer = params.availableOffers.find((o) => o.id === offerWithoutDetail.id);
|
|
311
304
|
if (offer === undefined) {
|
|
312
305
|
throw new factory.errors.NotFound('Offer', `Offer ${offerWithoutDetail.id} not found`);
|
|
313
306
|
}
|
|
314
307
|
// ポイント特典入金先の指定があれば入金識別子を発行
|
|
315
308
|
let pointAward;
|
|
316
|
-
const pointAwardToLocationIdentifier =
|
|
317
|
-
const pointAwardToLocationIssuedThroughId =
|
|
309
|
+
const pointAwardToLocationIdentifier = offerWithoutDetail.itemOffered?.pointAward?.toLocation?.identifier;
|
|
310
|
+
const pointAwardToLocationIssuedThroughId = offerWithoutDetail.itemOffered?.pointAward?.toLocation?.issuedThrough.id;
|
|
318
311
|
if (typeof pointAwardToLocationIdentifier === 'string' && pointAwardToLocationIdentifier.length > 0
|
|
319
312
|
&& typeof pointAwardToLocationIssuedThroughId === 'string' && pointAwardToLocationIssuedThroughId.length > 0) {
|
|
320
313
|
const pointAwardPurposeIdentifier = (0, accountTransactionIdentifier_1.createPointAwardIdentifier)({
|
|
@@ -322,30 +315,51 @@ function validateAcceptedOffers(params) {
|
|
|
322
315
|
purpose: { orderNumber: params.orderNumber },
|
|
323
316
|
toLocation: { identifier: pointAwardToLocationIdentifier }
|
|
324
317
|
});
|
|
325
|
-
pointAward =
|
|
318
|
+
pointAward = {
|
|
319
|
+
recipient: offerWithoutDetail.itemOffered.pointAward?.recipient,
|
|
320
|
+
toLocation: {
|
|
326
321
|
identifier: pointAwardToLocationIdentifier,
|
|
327
322
|
// toLocation.issuedThroughを保証する
|
|
328
323
|
issuedThrough: { id: pointAwardToLocationIssuedThroughId },
|
|
329
324
|
typeOf: factory.permit.PermitType.Permit
|
|
330
|
-
},
|
|
331
|
-
|
|
332
|
-
:
|
|
325
|
+
},
|
|
326
|
+
typeOf: factory.actionType.MoneyTransfer,
|
|
327
|
+
purpose: { identifier: pointAwardPurposeIdentifier },
|
|
328
|
+
...(typeof offerWithoutDetail.itemOffered.pointAward?.description === 'string')
|
|
329
|
+
? { description: offerWithoutDetail.itemOffered.pointAward.description }
|
|
330
|
+
: undefined
|
|
331
|
+
};
|
|
333
332
|
}
|
|
334
|
-
const itemOffered =
|
|
333
|
+
const itemOffered = {
|
|
335
334
|
// project: project,
|
|
336
|
-
typeOf: params.product.typeOf,
|
|
335
|
+
typeOf: params.product.typeOf,
|
|
336
|
+
id: params.product.id,
|
|
337
|
+
name: params.product.name,
|
|
338
|
+
serviceOutput: {
|
|
339
|
+
...params.product?.serviceOutput,
|
|
340
|
+
...offerWithoutDetail.itemOffered?.serviceOutput,
|
|
341
|
+
project: project,
|
|
337
342
|
// 発行者は販売者でいったん固定
|
|
338
|
-
issuedBy: issuedBy,
|
|
339
|
-
|
|
343
|
+
issuedBy: issuedBy,
|
|
344
|
+
typeOf: factory.permit.PermitType.Permit
|
|
345
|
+
},
|
|
346
|
+
...(pointAward !== undefined) ? { pointAward } : undefined
|
|
347
|
+
};
|
|
348
|
+
return {
|
|
349
|
+
...offerWithoutDetail,
|
|
350
|
+
...offer,
|
|
351
|
+
itemOffered,
|
|
352
|
+
seller: { project: project, typeOf: params.seller.typeOf, id: params.seller.id, name: params.seller.name }
|
|
353
|
+
};
|
|
340
354
|
}));
|
|
341
|
-
}
|
|
355
|
+
};
|
|
342
356
|
}
|
|
343
357
|
function checkIfRegistered(params) {
|
|
344
|
-
return (repos) =>
|
|
358
|
+
return async (repos) => {
|
|
345
359
|
// メンバーシップについては、登録済かどうか確認する
|
|
346
360
|
if (params.product.typeOf === factory.product.ProductType.MembershipService) {
|
|
347
361
|
// プロダクトによって発行されたPermitを所有していれば、登録済
|
|
348
|
-
const searchOwnershipInfosResult =
|
|
362
|
+
const searchOwnershipInfosResult = await repos.ownershipInfo.projectFields({
|
|
349
363
|
limit: 1,
|
|
350
364
|
page: 1,
|
|
351
365
|
ownedBy: { id: params.agent.id },
|
|
@@ -365,21 +379,31 @@ function checkIfRegistered(params) {
|
|
|
365
379
|
throw new factory.errors.Argument('object', exports.ERROR_MESSAGE_ALREADY_REGISTERED);
|
|
366
380
|
}
|
|
367
381
|
}
|
|
368
|
-
}
|
|
382
|
+
};
|
|
369
383
|
}
|
|
370
384
|
function createServiceOutputIdentifier(params) {
|
|
371
|
-
return (repos) =>
|
|
385
|
+
return async (repos) => {
|
|
372
386
|
const publishParams = params.acceptedOffer.map(() => {
|
|
373
387
|
return { project: { id: params.product.project.id } };
|
|
374
388
|
});
|
|
375
|
-
const publishIdentifierResult =
|
|
376
|
-
const identifier =
|
|
389
|
+
const publishIdentifierResult = await Promise.all(publishParams.map(async () => {
|
|
390
|
+
const identifier = await repos.serviceOutputIdentifier.issueServiceOutputIdentifier({ startDate: new Date() });
|
|
377
391
|
return { identifier };
|
|
378
|
-
}))
|
|
392
|
+
}));
|
|
379
393
|
// 識別子を発行
|
|
380
|
-
return Promise.all(params.acceptedOffer.map((o, key) =>
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
394
|
+
return Promise.all(params.acceptedOffer.map(async (o, key) => {
|
|
395
|
+
return {
|
|
396
|
+
...o,
|
|
397
|
+
itemOffered: {
|
|
398
|
+
...o.itemOffered,
|
|
399
|
+
serviceOutput: {
|
|
400
|
+
...o.itemOffered?.serviceOutput,
|
|
401
|
+
project: params.product.project,
|
|
402
|
+
typeOf: factory.permit.PermitType.Permit,
|
|
403
|
+
identifier: publishIdentifierResult[key].identifier
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
};
|
|
407
|
+
}));
|
|
408
|
+
};
|
|
385
409
|
}
|