@chevre/domain 24.0.0-alpha.3 → 24.0.0-alpha.30
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/errorHandler.js +1 -1
- package/lib/chevre/repo/accountTitle.d.ts +7 -3
- package/lib/chevre/repo/accountTransaction.js +1 -2
- package/lib/chevre/repo/action/acceptCOAOffer.d.ts +23 -0
- package/lib/chevre/repo/action/acceptCOAOffer.js +62 -0
- package/lib/chevre/repo/action/acceptPay.d.ts +37 -0
- package/lib/chevre/repo/action/acceptPay.js +87 -0
- package/lib/chevre/repo/action/actionProcess.d.ts +145 -0
- package/lib/chevre/repo/action/actionProcess.js +788 -0
- package/lib/chevre/repo/action/authorizeInvoice.d.ts +26 -0
- package/lib/chevre/repo/action/authorizeInvoice.js +49 -0
- package/lib/chevre/repo/action/authorizeMoneyTransferOffer.d.ts +40 -0
- package/lib/chevre/repo/action/authorizeMoneyTransferOffer.js +61 -0
- package/lib/chevre/repo/action/authorizeOffer.d.ts +21 -0
- package/lib/chevre/repo/action/authorizeOffer.js +85 -0
- package/lib/chevre/repo/action/authorizePaymentMethod.d.ts +36 -0
- package/lib/chevre/repo/action/authorizePaymentMethod.js +50 -0
- package/lib/chevre/repo/action/authorizeProductOffer.d.ts +26 -0
- package/lib/chevre/repo/action/authorizeProductOffer.js +52 -0
- package/lib/chevre/repo/action/checkMovieTicket.d.ts +111 -0
- package/lib/chevre/repo/action/checkMovieTicket.js +200 -0
- package/lib/chevre/repo/action/checkThing.d.ts +8 -0
- package/lib/chevre/repo/action/checkThing.js +13 -0
- package/lib/chevre/repo/action.d.ts +18 -258
- package/lib/chevre/repo/action.js +308 -1216
- package/lib/chevre/repo/aggregateAction.d.ts +102 -0
- package/lib/chevre/repo/aggregateAction.js +378 -0
- package/lib/chevre/repo/aggregateOffer.d.ts +7 -3
- package/lib/chevre/repo/assetTransaction.d.ts +46 -25
- package/lib/chevre/repo/categoryCode.d.ts +8 -3
- package/lib/chevre/repo/comment.d.ts +7 -3
- package/lib/chevre/repo/creativeWork.d.ts +8 -7
- package/lib/chevre/repo/customer.d.ts +8 -3
- package/lib/chevre/repo/event.d.ts +11 -23
- package/lib/chevre/repo/event.js +22 -23
- package/lib/chevre/repo/eventSeries.d.ts +10 -4
- package/lib/chevre/repo/identity.d.ts +12 -3
- package/lib/chevre/repo/identityProvider.d.ts +7 -18
- package/lib/chevre/repo/issuer.d.ts +8 -8
- package/lib/chevre/repo/member.d.ts +7 -3
- package/lib/chevre/repo/merchantReturnPolicy.d.ts +7 -3
- package/lib/chevre/repo/message.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/acceptedPaymentMethod.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/account.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/accountTitle.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/accountTransaction.d.ts +5 -4
- package/lib/chevre/repo/mongoose/schemas/accountingReport.d.ts +3 -2
- package/lib/chevre/repo/mongoose/schemas/action.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/actionRecipe.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/additionalProperty.d.ts +5 -4
- package/lib/chevre/repo/mongoose/schemas/advanceBookingRequirement.d.ts +3 -2
- package/lib/chevre/repo/mongoose/schemas/aggregateOffer.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/aggregateOrder.d.ts +3 -2
- package/lib/chevre/repo/mongoose/schemas/aggregateReservation.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/aggregation.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/assetTransaction.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/authorization.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/categoryCode.d.ts +5 -4
- package/lib/chevre/repo/mongoose/schemas/civicStructure.d.ts +3 -2
- package/lib/chevre/repo/mongoose/schemas/comments.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/creativeWork.d.ts +5 -4
- package/lib/chevre/repo/mongoose/schemas/customer.d.ts +5 -4
- package/lib/chevre/repo/mongoose/schemas/customerType.d.ts +5 -4
- package/lib/chevre/repo/mongoose/schemas/emailMessages.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/event.d.ts +3 -2
- package/lib/chevre/repo/mongoose/schemas/eventOffer.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/eventSeries.d.ts +3 -2
- package/lib/chevre/repo/mongoose/schemas/identity.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/identityProvider.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/issuer.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/member/global.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/member.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/message.d.ts +5 -4
- package/lib/chevre/repo/mongoose/schemas/movieTicketTypes.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/note.d.ts +3 -2
- package/lib/chevre/repo/mongoose/schemas/offerCatalog.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/offerCatalogItem.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/offerItemCondition.d.ts +5 -4
- package/lib/chevre/repo/mongoose/schemas/order.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/ownershipInfo.d.ts +5 -4
- package/lib/chevre/repo/mongoose/schemas/paymentService.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/paymentServiceChannel.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/pendingReservation.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/pendingReservationAggregate.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/place.d.ts +3 -2
- package/lib/chevre/repo/mongoose/schemas/potentialAction.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/priceSpecification.d.ts +6 -3
- package/lib/chevre/repo/mongoose/schemas/product.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/productModel.d.ts +6 -5
- package/lib/chevre/repo/mongoose/schemas/productOffer.d.ts +3 -2
- package/lib/chevre/repo/mongoose/schemas/project.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/reservation.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/reserveInterface.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/role.d.ts +3 -2
- package/lib/chevre/repo/mongoose/schemas/schedule.d.ts +5 -4
- package/lib/chevre/repo/mongoose/schemas/seller.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/sellerReturnPolicy.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/service/availableHour.d.ts +3 -2
- package/lib/chevre/repo/mongoose/schemas/serviceOutput.d.ts +5 -4
- package/lib/chevre/repo/mongoose/schemas/setting.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/task.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/telemetry.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/ticket.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/transaction.d.ts +8 -4
- package/lib/chevre/repo/mongoose/schemas/transaction.js +31 -0
- package/lib/chevre/repo/mongoose/schemas/transactionNumber.d.ts +3 -2
- package/lib/chevre/repo/mongoose/schemas/trip.d.ts +4 -3
- package/lib/chevre/repo/mongoose/schemas/webSite.d.ts +4 -3
- package/lib/chevre/repo/mongoose/virtuals.d.ts +3 -0
- package/lib/chevre/repo/mongoose/virtuals.js +2 -0
- package/lib/chevre/repo/movieTicketType.d.ts +2 -1
- package/lib/chevre/repo/offerCatalog.d.ts +8 -4
- package/lib/chevre/repo/order.d.ts +8 -7
- package/lib/chevre/repo/orderInTransaction.d.ts +8 -0
- package/lib/chevre/repo/orderInTransaction.js +16 -2
- package/lib/chevre/repo/orderNumber.d.ts +3 -2
- package/lib/chevre/repo/orderNumber.js +23 -28
- package/lib/chevre/repo/ownershipInfo.d.ts +8 -7
- package/lib/chevre/repo/paymentService.d.ts +0 -13
- package/lib/chevre/repo/paymentService.js +5 -5
- package/lib/chevre/repo/pendingReservation.js +0 -1
- package/lib/chevre/repo/place/hasPOS.js +3 -3
- package/lib/chevre/repo/place/movieTheater.d.ts +7 -3
- package/lib/chevre/repo/place/screeningRoom.d.ts +7 -3
- package/lib/chevre/repo/potentialAction.d.ts +7 -26
- package/lib/chevre/repo/priceSpecification.d.ts +51 -24
- package/lib/chevre/repo/priceSpecification.js +9 -13
- package/lib/chevre/repo/product.d.ts +8 -4
- package/lib/chevre/repo/productModel.d.ts +3 -1
- package/lib/chevre/repo/productModel.js +15 -11
- package/lib/chevre/repo/project.d.ts +8 -11
- package/lib/chevre/repo/reservation.d.ts +14 -13
- package/lib/chevre/repo/reserveInterface.js +4 -4
- package/lib/chevre/repo/role.d.ts +39 -3
- package/lib/chevre/repo/schedule.js +1 -1
- package/lib/chevre/repo/seller.d.ts +7 -50
- package/lib/chevre/repo/task.d.ts +7 -67
- package/lib/chevre/repo/transaction/moneyTransfer.d.ts +61 -0
- package/lib/chevre/repo/transaction/moneyTransfer.js +379 -0
- package/lib/chevre/repo/transaction/placeOrder.d.ts +140 -0
- package/lib/chevre/repo/transaction/placeOrder.js +528 -0
- package/lib/chevre/repo/transaction/returnOrder.d.ts +45 -0
- package/lib/chevre/repo/transaction/returnOrder.js +341 -0
- package/lib/chevre/repo/transaction.d.ts +105 -138
- package/lib/chevre/repo/transaction.js +726 -632
- package/lib/chevre/repository.d.ts +69 -0
- package/lib/chevre/repository.js +151 -2
- package/lib/chevre/service/aggregation/system.d.ts +10 -10
- package/lib/chevre/service/aggregation/system.js +9 -9
- package/lib/chevre/service/assetTransaction/pay/check.d.ts +5 -4
- package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.d.ts +7 -4
- package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.js +3 -3
- package/lib/chevre/service/assetTransaction/pay/start/factory.d.ts +51 -3
- package/lib/chevre/service/assetTransaction/pay/start/factory.js +58 -21
- package/lib/chevre/service/assetTransaction/pay/start/preStart/fixPaymentService.d.ts +10 -0
- package/lib/chevre/service/assetTransaction/pay/start/preStart/fixPaymentService.js +88 -0
- package/lib/chevre/service/assetTransaction/pay/start/processAuthorize.d.ts +57 -0
- package/lib/chevre/service/assetTransaction/pay/start/processAuthorize.js +56 -0
- package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeCreditCard.d.ts +2 -2
- package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.d.ts +3 -1
- package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.js +1 -11
- package/lib/chevre/service/assetTransaction/pay/start.d.ts +4 -0
- package/lib/chevre/service/assetTransaction/pay/start.js +8 -132
- package/lib/chevre/service/assetTransaction/reserveCOA/cancel.d.ts +19 -4
- package/lib/chevre/service/assetTransaction/reserveCOA/cancel.js +7 -1
- package/lib/chevre/service/notification/triggerWebhook.d.ts +7 -6
- package/lib/chevre/service/offer/event/authorize.d.ts +2 -2
- package/lib/chevre/service/offer/event/authorize.js +3 -3
- package/lib/chevre/service/offer/event/issueEventOfferTicket.d.ts +2 -2
- package/lib/chevre/service/offer/event/issueEventOfferTicket.js +1 -1
- package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.d.ts +0 -2
- package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.js +1 -0
- package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4coa.d.ts +2 -0
- package/lib/chevre/service/offer/event/voidTransaction.d.ts +4 -2
- package/lib/chevre/service/offer/event/voidTransaction.js +3 -2
- package/lib/chevre/service/offer/event/voidTransactionByActionId.d.ts +3 -3
- package/lib/chevre/service/offer/event/voidTransactionByActionId.js +2 -2
- package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer.d.ts +16 -5
- package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer.js +7 -7
- package/lib/chevre/service/offer/eventServiceByCOA/authorize.d.ts +6 -4
- package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +3 -10
- package/lib/chevre/service/offer/eventServiceByCOA/authorizeByAcceptAction.js +21 -13
- package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.js +19 -10
- package/lib/chevre/service/offer/eventServiceByCOA/findAcceptAction.d.ts +2 -2
- package/lib/chevre/service/offer/moneyTransfer/authorize.d.ts +5 -4
- package/lib/chevre/service/offer/moneyTransfer/authorize.js +9 -6
- package/lib/chevre/service/offer/moneyTransfer/voidTransaction.d.ts +5 -4
- package/lib/chevre/service/offer/moneyTransfer/voidTransaction.js +8 -5
- package/lib/chevre/service/offer/product.d.ts +8 -6
- package/lib/chevre/service/offer/product.js +11 -11
- package/lib/chevre/service/order/confirmPayTransaction.d.ts +0 -2
- package/lib/chevre/service/order/confirmPayTransaction.js +1 -0
- package/lib/chevre/service/order/findPlaceOrderTransaction.d.ts +2 -2
- package/lib/chevre/service/order/findPlaceOrderTransaction.js +1 -1
- package/lib/chevre/service/order/onAssetTransactionStatusChanged/isDeliverable.d.ts +16 -0
- package/lib/chevre/service/order/onAssetTransactionStatusChanged/isDeliverable.js +97 -0
- package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionCanceled.d.ts +21 -0
- package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionCanceled.js +86 -0
- package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionConfirmed.d.ts +22 -0
- package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionConfirmed.js +112 -0
- package/lib/chevre/service/order/onAssetTransactionStatusChanged/onReserveTransactionConfirmed.d.ts +22 -0
- package/lib/chevre/service/order/onAssetTransactionStatusChanged/onReserveTransactionConfirmed.js +74 -0
- package/lib/chevre/service/order/onAssetTransactionStatusChanged/paymentDue2Processing.d.ts +25 -0
- package/lib/chevre/service/order/onAssetTransactionStatusChanged/paymentDue2Processing.js +111 -0
- package/lib/chevre/service/order/onAssetTransactionStatusChanged/processing2inTransit.d.ts +16 -0
- package/lib/chevre/service/order/onAssetTransactionStatusChanged/processing2inTransit.js +74 -0
- package/lib/chevre/service/order/onAssetTransactionStatusChanged.d.ts +8 -30
- package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +37 -348
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.d.ts +6 -7
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.d.ts +6 -5
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.d.ts +7 -6
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.js +1 -1
- package/lib/chevre/service/order/payOrder.d.ts +2 -2
- package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.d.ts +2 -2
- package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.js +1 -1
- package/lib/chevre/service/order/placeOrder.d.ts +13 -12
- package/lib/chevre/service/order/returnOrder.d.ts +2 -2
- package/lib/chevre/service/order/returnOrder.js +1 -1
- package/lib/chevre/service/order/sendOrder.d.ts +6 -6
- package/lib/chevre/service/order/sendOrder.js +9 -8
- package/lib/chevre/service/order.d.ts +3 -6
- package/lib/chevre/service/order.js +3 -9
- package/lib/chevre/service/payment/any/{fixOrderAsNeeded.d.ts → authorize/fixOrderAsNeeded.d.ts} +6 -6
- package/lib/chevre/service/payment/any/{fixOrderAsNeeded.js → authorize/fixOrderAsNeeded.js} +5 -8
- package/lib/chevre/service/payment/any/authorize/fixTransactionNumber.d.ts +8 -5
- package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.d.ts +14 -10
- package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.js +34 -17
- package/lib/chevre/service/payment/any/authorize.d.ts +98 -0
- package/lib/chevre/service/payment/any/authorize.js +239 -0
- package/lib/chevre/service/payment/any/findAcceptAction.d.ts +43 -0
- package/lib/chevre/service/payment/any/findAcceptAction.js +94 -0
- package/lib/chevre/service/payment/any/findAuthorizeAction.d.ts +42 -0
- package/lib/chevre/service/payment/any/findAuthorizeAction.js +83 -0
- package/lib/chevre/service/payment/any/findCheckAction.d.ts +45 -0
- package/lib/chevre/service/payment/any/findCheckAction.js +89 -0
- package/lib/chevre/service/payment/any/invalidatePaymentUrl.d.ts +29 -0
- package/lib/chevre/service/payment/any/invalidatePaymentUrl.js +187 -0
- package/lib/chevre/service/payment/any/onPayActionCompleted.d.ts +7 -3
- package/lib/chevre/service/payment/any/onPayActionCompleted.js +3 -0
- package/lib/chevre/service/payment/any/processVoidPayTransaction.d.ts +30 -0
- package/lib/chevre/service/payment/any/processVoidPayTransaction.js +125 -0
- package/lib/chevre/service/payment/any/publishPaymentUrl/fixTransactionNumberOnPublishPaymentUrl.d.ts +2 -2
- package/lib/chevre/service/payment/any/publishPaymentUrl.d.ts +66 -0
- package/lib/chevre/service/payment/any/publishPaymentUrl.js +133 -0
- package/lib/chevre/service/payment/any/voidPayTransaction.d.ts +34 -0
- package/lib/chevre/service/payment/any/voidPayTransaction.js +38 -0
- package/lib/chevre/service/payment/any.d.ts +8 -305
- package/lib/chevre/service/payment/any.js +17 -857
- package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard.d.ts +8 -6
- package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard.js +3 -3
- package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3ds.d.ts +8 -6
- package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3ds.js +3 -3
- package/lib/chevre/service/payment/creditCard/authorize.d.ts +3 -2
- package/lib/chevre/service/payment/creditCard/authorize.js +2 -2
- package/lib/chevre/service/payment/creditCard/voidTransaction.d.ts +9 -8
- package/lib/chevre/service/payment/creditCard/voidTransaction.js +15 -7
- package/lib/chevre/service/payment/movieTicket/authorize.d.ts +2 -0
- package/lib/chevre/service/payment/movieTicket/checkMovieTicket.d.ts +3 -3
- package/lib/chevre/service/payment/movieTicket/checkMovieTicket.js +3 -3
- package/lib/chevre/service/payment/movieTicket/validation.d.ts +11 -10
- package/lib/chevre/service/payment/movieTicket/validation.js +25 -15
- package/lib/chevre/service/report/telemetry.d.ts +4 -0
- package/lib/chevre/service/report/telemetry.js +7 -12
- package/lib/chevre/service/task/acceptCOAOffer.js +11 -6
- package/lib/chevre/service/task/authorizePayment.js +16 -5
- package/lib/chevre/service/task/checkMovieTicket.js +3 -3
- package/lib/chevre/service/task/checkResource.js +2 -2
- package/lib/chevre/service/task/confirmPayTransaction.js +2 -2
- package/lib/chevre/service/task/deleteTransaction.js +7 -1
- package/lib/chevre/service/task/onAssetTransactionStatusChanged.js +4 -2
- package/lib/chevre/service/task/onOrderPaymentCompleted.js +2 -2
- package/lib/chevre/service/task/pay.js +3 -1
- package/lib/chevre/service/task/payment/payByTask.d.ts +15 -12
- package/lib/chevre/service/task/payment/payByTask.js +1 -1
- package/lib/chevre/service/task/payment/voidPaymentByTask.d.ts +2 -0
- package/lib/chevre/service/task/placeOrder.js +6 -4
- package/lib/chevre/service/task/publishPaymentUrl.js +11 -5
- package/lib/chevre/service/task/returnOrder.js +4 -4
- package/lib/chevre/service/task/returnPayTransaction.js +4 -3
- package/lib/chevre/service/task/sendOrder.js +4 -4
- package/lib/chevre/service/task/voidMoneyTransferTransaction.js +11 -6
- package/lib/chevre/service/task/voidPayTransaction.js +10 -4
- package/lib/chevre/service/task/voidPayment.js +2 -0
- package/lib/chevre/service/task/voidRegisterServiceTransaction.js +7 -6
- package/lib/chevre/service/task/voidReserveTransaction.js +6 -3
- package/lib/chevre/service/transaction/deleteTransaction.d.ts +6 -0
- package/lib/chevre/service/transaction/deleteTransaction.js +56 -14
- package/lib/chevre/service/transaction/moneyTransfer.d.ts +12 -9
- package/lib/chevre/service/transaction/moneyTransfer.js +11 -11
- package/lib/chevre/service/transaction/placeOrder/confirm.d.ts +2 -2
- package/lib/chevre/service/transaction/placeOrder/confirm.js +10 -9
- package/lib/chevre/service/transaction/placeOrder/exportTasksById.d.ts +7 -6
- package/lib/chevre/service/transaction/placeOrder/exportTasksById.js +1 -1
- package/lib/chevre/service/transaction/placeOrder/{publishOrderNumberIfNotExist.d.ts → issueOrderNumberIfNotExist.d.ts} +4 -4
- package/lib/chevre/service/transaction/placeOrder/{publishOrderNumberIfNotExist.js → issueOrderNumberIfNotExist.js} +21 -13
- package/lib/chevre/service/transaction/placeOrder/publishConfirmationNumberIfNotExist.d.ts +2 -2
- package/lib/chevre/service/transaction/placeOrder/publishConfirmationNumberIfNotExist.js +3 -3
- package/lib/chevre/service/transaction/placeOrder/start.d.ts +3 -3
- package/lib/chevre/service/transaction/placeOrder/start.js +2 -2
- package/lib/chevre/service/transaction/placeOrder/updateAgent.d.ts +23 -0
- package/lib/chevre/service/transaction/placeOrder/updateAgent.js +126 -0
- package/lib/chevre/service/transaction/placeOrder.d.ts +2 -1
- package/lib/chevre/service/transaction/placeOrder.js +3 -1
- package/lib/chevre/service/transaction/returnOrder/preStart.d.ts +1 -1
- package/lib/chevre/service/transaction/returnOrder.d.ts +16 -14
- package/lib/chevre/service/transaction/returnOrder.js +4 -4
- package/lib/chevre/service/transaction.d.ts +9 -21
- package/lib/chevre/service/transaction.js +5 -111
- package/package.json +5 -10
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { AuthorizeMoneyTransferOfferActionRepo } from '../../repo/action/authorizeMoneyTransferOffer';
|
|
2
2
|
import type { AssetTransactionRepo } from '../../repo/assetTransaction';
|
|
3
3
|
import type { AuthorizationRepo } from '../../repo/authorization';
|
|
4
4
|
import type { OrderRepo } from '../../repo/order';
|
|
@@ -9,11 +9,12 @@ import type { SellerRepo } from '../../repo/seller';
|
|
|
9
9
|
import type { SettingRepo } from '../../repo/setting';
|
|
10
10
|
import type { TaskRepo } from '../../repo/task';
|
|
11
11
|
import type { TicketRepo } from '../../repo/ticket';
|
|
12
|
-
import type { IStartedTransaction,
|
|
12
|
+
import type { IStartedTransaction, MoneyTransferRepo } from '../../repo/transaction/moneyTransfer';
|
|
13
13
|
import type { TransactionNumberRepo } from '../../repo/transactionNumber';
|
|
14
14
|
import { moneyTransfer as MoneyTransferFactory } from '../../factory/transaction';
|
|
15
15
|
export interface IStartOperationRepos {
|
|
16
|
-
action
|
|
16
|
+
action?: never;
|
|
17
|
+
authorizeMoneyTransferOfferAction: AuthorizeMoneyTransferOfferActionRepo;
|
|
17
18
|
authorization: AuthorizationRepo;
|
|
18
19
|
order: OrderRepo;
|
|
19
20
|
passport: PassportRepo;
|
|
@@ -21,7 +22,7 @@ export interface IStartOperationRepos {
|
|
|
21
22
|
project: ProjectRepo;
|
|
22
23
|
seller: SellerRepo;
|
|
23
24
|
ticket: TicketRepo;
|
|
24
|
-
|
|
25
|
+
moneyTransfer: MoneyTransferRepo;
|
|
25
26
|
transactionNumber: TransactionNumberRepo;
|
|
26
27
|
assetTransaction: AssetTransactionRepo;
|
|
27
28
|
}
|
|
@@ -29,11 +30,12 @@ export type IStartOperation<T> = (repos: IStartOperationRepos) => Promise<T>;
|
|
|
29
30
|
export type ITaskAndTransactionOperation<T> = (repos: {
|
|
30
31
|
setting: SettingRepo;
|
|
31
32
|
task: TaskRepo;
|
|
32
|
-
|
|
33
|
+
moneyTransfer: MoneyTransferRepo;
|
|
33
34
|
}) => Promise<T>;
|
|
34
35
|
export type IConfirmOperation<T> = (repos: {
|
|
35
|
-
action
|
|
36
|
-
|
|
36
|
+
action?: never;
|
|
37
|
+
authorizeMoneyTransferOfferAction: AuthorizeMoneyTransferOfferActionRepo;
|
|
38
|
+
moneyTransfer: MoneyTransferRepo;
|
|
37
39
|
}) => Promise<T>;
|
|
38
40
|
export type IStartParams = MoneyTransferFactory.IStartParams;
|
|
39
41
|
/**
|
|
@@ -42,13 +44,14 @@ export type IStartParams = MoneyTransferFactory.IStartParams;
|
|
|
42
44
|
*/
|
|
43
45
|
export declare function start(params: IStartParams): IStartOperation<IStartedTransaction>;
|
|
44
46
|
export type IAuthorizeOperation<T> = (repos: {
|
|
45
|
-
action
|
|
47
|
+
action?: never;
|
|
48
|
+
authorizeMoneyTransferOfferAction: AuthorizeMoneyTransferOfferActionRepo;
|
|
46
49
|
authorization: AuthorizationRepo;
|
|
47
50
|
order: OrderRepo;
|
|
48
51
|
product: ProductRepo;
|
|
49
52
|
project: ProjectRepo;
|
|
50
53
|
ticket: TicketRepo;
|
|
51
|
-
|
|
54
|
+
moneyTransfer: MoneyTransferRepo;
|
|
52
55
|
assetTransaction: AssetTransactionRepo;
|
|
53
56
|
}) => Promise<T>;
|
|
54
57
|
/**
|
|
@@ -72,7 +72,7 @@ function start(params) {
|
|
|
72
72
|
const { transactionNumber } = await repos.transactionNumber.publishByTimestamp({ startDate: new Date() });
|
|
73
73
|
// 取引開始
|
|
74
74
|
const startParams = (0, factory_2.createStartParams)(params, passport, seller, amount, fromLocation, toLocation, transactionNumber);
|
|
75
|
-
const transaction = await repos.
|
|
75
|
+
const transaction = await repos.moneyTransfer.startMoneyTransfer(startParams);
|
|
76
76
|
await authorizePaymentCard({
|
|
77
77
|
transaction: {
|
|
78
78
|
...transaction,
|
|
@@ -202,7 +202,7 @@ function processAuthorizePaymentCard(params) {
|
|
|
202
202
|
// jwt: JWTCredentials;
|
|
203
203
|
// }
|
|
204
204
|
) => {
|
|
205
|
-
const transaction = await repos.
|
|
205
|
+
const transaction = await repos.moneyTransfer.findMoneyTransferInProgressById({
|
|
206
206
|
typeOf: factory.transactionType.MoneyTransfer,
|
|
207
207
|
id: params.purpose.id
|
|
208
208
|
}, ['agent', 'project', 'recipient', 'seller', 'typeOf', 'object']);
|
|
@@ -225,7 +225,7 @@ function processAuthorizePaymentCard(params) {
|
|
|
225
225
|
transaction,
|
|
226
226
|
transactionNumber
|
|
227
227
|
});
|
|
228
|
-
const action = await repos.
|
|
228
|
+
const action = await repos.authorizeMoneyTransferOfferAction.start(actionAttributes);
|
|
229
229
|
// 口座取引開始
|
|
230
230
|
let responseBody;
|
|
231
231
|
try {
|
|
@@ -237,7 +237,7 @@ function processAuthorizePaymentCard(params) {
|
|
|
237
237
|
transactionNumber
|
|
238
238
|
})(repos);
|
|
239
239
|
// アクションにchevre取引情報を保管
|
|
240
|
-
await repos.
|
|
240
|
+
await repos.authorizeMoneyTransferOfferAction.saveAssetTransactionNumber({
|
|
241
241
|
id: action.id,
|
|
242
242
|
update: {
|
|
243
243
|
'object.itemOffered.amount.currency': params.object.itemOffered.amount.currency,
|
|
@@ -251,7 +251,7 @@ function processAuthorizePaymentCard(params) {
|
|
|
251
251
|
}
|
|
252
252
|
catch (error) {
|
|
253
253
|
try {
|
|
254
|
-
await repos.
|
|
254
|
+
await repos.authorizeMoneyTransferOfferAction.giveUp({ typeOf: action.typeOf, id: action.id, error });
|
|
255
255
|
}
|
|
256
256
|
catch (__) {
|
|
257
257
|
// no op
|
|
@@ -265,7 +265,7 @@ function processAuthorizePaymentCard(params) {
|
|
|
265
265
|
responseBody: responseBody
|
|
266
266
|
// acceptedOffers: [] // PlaceOrderではないのでacceptedOffersとしては空 // discontinue(2024-06-17~)
|
|
267
267
|
};
|
|
268
|
-
await repos.
|
|
268
|
+
await repos.authorizeMoneyTransferOfferAction.completeWithVoid({ typeOf: action.typeOf, id: action.id, result });
|
|
269
269
|
};
|
|
270
270
|
}
|
|
271
271
|
function createAuthorizeMoneyTransferOfferActionAttributes(params) {
|
|
@@ -566,7 +566,7 @@ function validateToLocation(project, toLocationBeforeStart, issuedThrough) {
|
|
|
566
566
|
function confirm(params) {
|
|
567
567
|
return async (repos) => {
|
|
568
568
|
const now = new Date();
|
|
569
|
-
const transaction = await repos.
|
|
569
|
+
const transaction = await repos.moneyTransfer.findMoneyTransferById({
|
|
570
570
|
typeOf: factory.transactionType.MoneyTransfer,
|
|
571
571
|
id: params.id
|
|
572
572
|
}, ['typeOf', 'status', 'project']);
|
|
@@ -591,7 +591,7 @@ function confirm(params) {
|
|
|
591
591
|
// ポストアクションを作成
|
|
592
592
|
const potentialActions = await (0, potentialActions_1.createPotentialActions)({ authorizeActions, transaction });
|
|
593
593
|
// 取引確定
|
|
594
|
-
await repos.
|
|
594
|
+
await repos.moneyTransfer.confirmMoneyTransfer({
|
|
595
595
|
typeOf: factory.transactionType.MoneyTransfer,
|
|
596
596
|
id: transaction.id,
|
|
597
597
|
result: {},
|
|
@@ -601,8 +601,8 @@ function confirm(params) {
|
|
|
601
601
|
}
|
|
602
602
|
function searchAuthorizeActions(params) {
|
|
603
603
|
return async (repos) => {
|
|
604
|
-
let authorizeActions = await repos.
|
|
605
|
-
typeOf: factory.actionType.AuthorizeAction,
|
|
604
|
+
let authorizeActions = await repos.authorizeMoneyTransferOfferAction.findAuthorizeMoneyTransferOfferActionsByPurpose({
|
|
605
|
+
// typeOf: factory.actionType.AuthorizeAction,
|
|
606
606
|
purpose: {
|
|
607
607
|
typeOf: params.transaction.typeOf,
|
|
608
608
|
id: params.transaction.id
|
|
@@ -625,7 +625,7 @@ function exportTasksById(params) {
|
|
|
625
625
|
return async (repos
|
|
626
626
|
// settings: Settings
|
|
627
627
|
) => {
|
|
628
|
-
const transaction = await repos.
|
|
628
|
+
const transaction = await repos.moneyTransfer.findMoneyTransferById({
|
|
629
629
|
typeOf: factory.transactionType.MoneyTransfer,
|
|
630
630
|
id: params.id
|
|
631
631
|
}, ['endDate', 'status', 'project', 'startDate', 'typeOf', 'object', 'potentialActions']);
|
|
@@ -8,7 +8,7 @@ import type { OrderInTransactionRepo } from '../../../repo/orderInTransaction';
|
|
|
8
8
|
import type { OrderNumberRepo } from '../../../repo/orderNumber';
|
|
9
9
|
import type { ProjectRepo } from '../../../repo/project';
|
|
10
10
|
import type { SettingRepo } from '../../../repo/setting';
|
|
11
|
-
import type {
|
|
11
|
+
import type { PlaceOrderRepo } from '../../../repo/transaction/placeOrder';
|
|
12
12
|
import * as factory from '../../../factory';
|
|
13
13
|
import { placeOrder as PlaceOrderFactory } from '../../../factory/transaction';
|
|
14
14
|
interface IConfirmOperationRepos {
|
|
@@ -18,7 +18,7 @@ interface IConfirmOperationRepos {
|
|
|
18
18
|
emailMessage?: EmailMessageRepo;
|
|
19
19
|
message: MessageRepo;
|
|
20
20
|
project: ProjectRepo;
|
|
21
|
-
|
|
21
|
+
placeOrder: PlaceOrderRepo;
|
|
22
22
|
orderInTransaction: OrderInTransactionRepo;
|
|
23
23
|
orderNumber: OrderNumberRepo;
|
|
24
24
|
confirmationNumber: ConfirmationNumberRepo;
|
|
@@ -40,19 +40,20 @@ const potentialActions_1 = require("./confirm/potentialActions");
|
|
|
40
40
|
const publishCode_1 = require("./confirm/publishCode");
|
|
41
41
|
const validation_1 = require("./confirm/validation");
|
|
42
42
|
const publishConfirmationNumberIfNotExist_1 = require("./publishConfirmationNumberIfNotExist");
|
|
43
|
-
const
|
|
43
|
+
const issueOrderNumberIfNotExist_1 = require("./issueOrderNumberIfNotExist");
|
|
44
44
|
const debug = (0, debug_1.default)('chevre-domain:service:transaction');
|
|
45
|
+
/**
|
|
46
|
+
* 進行中でない取引を処理する
|
|
47
|
+
*/
|
|
45
48
|
function processTransactionNotInProgress(transaction) {
|
|
46
49
|
return async (repos) => {
|
|
47
50
|
if (transaction.status === factory.transactionStatusType.Confirmed) {
|
|
48
|
-
// retrieve customer from orderInTransaction(2024-06-24~)
|
|
49
|
-
// let resultCustomer: factory.order.ICustomer | undefined = createCustomer({ transaction });
|
|
50
51
|
const resultCustomer = await repos.orderInTransaction.findCustomerByOrderNumber({
|
|
51
52
|
orderNumber: { $eq: String(transaction.object.orderNumber) }
|
|
52
53
|
});
|
|
53
|
-
if (resultCustomer === undefined) {
|
|
54
|
-
|
|
55
|
-
}
|
|
54
|
+
// if (resultCustomer === undefined) {
|
|
55
|
+
// throw new factory.errors.Internal('resultCustomer undefined'); // impossible process
|
|
56
|
+
// }
|
|
56
57
|
// すでに確定済の場合
|
|
57
58
|
return {
|
|
58
59
|
...transaction.result,
|
|
@@ -80,7 +81,7 @@ function confirm(params, options) {
|
|
|
80
81
|
status: { $in: [factory.transactionStatusType.Confirmed, factory.transactionStatusType.InProgress] },
|
|
81
82
|
object: { orderDate: params.result.order.orderDate }
|
|
82
83
|
})(repos);
|
|
83
|
-
const transaction = await repos.
|
|
84
|
+
const transaction = await repos.placeOrder.findPlaceOrderById({ typeOf: factory.transactionType.PlaceOrder, id: params.id }, ['typeOf', 'project', 'status', 'agent', 'seller', 'object', 'result']);
|
|
84
85
|
const confirmResult = await processTransactionNotInProgress(transaction)(repos);
|
|
85
86
|
if (confirmResult !== undefined) {
|
|
86
87
|
return confirmResult;
|
|
@@ -95,7 +96,7 @@ function confirm(params, options) {
|
|
|
95
96
|
acceptPayActions = await searchAcceptPayActions(params)(repos);
|
|
96
97
|
}
|
|
97
98
|
// 注文番号を発行
|
|
98
|
-
const orderNumber = await (0,
|
|
99
|
+
const orderNumber = await (0, issueOrderNumberIfNotExist_1.issueOrderNumberIfNotExist)({
|
|
99
100
|
project: { id: transaction.project.id },
|
|
100
101
|
id: transaction.id,
|
|
101
102
|
object: { orderDate: params.result.order.orderDate }
|
|
@@ -179,7 +180,7 @@ function confirm(params, options) {
|
|
|
179
180
|
})(repos);
|
|
180
181
|
// ステータス変更
|
|
181
182
|
try {
|
|
182
|
-
await repos.
|
|
183
|
+
await repos.placeOrder.confirmPlaceOrder({
|
|
183
184
|
typeOf: transaction.typeOf,
|
|
184
185
|
id: transaction.id,
|
|
185
186
|
result: result,
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import type { SettingRepo } from '../../../repo/setting';
|
|
2
2
|
import type { TaskRepo } from '../../../repo/task';
|
|
3
|
-
import type {
|
|
4
|
-
|
|
3
|
+
import type { PlaceOrderRepo } from '../../../repo/transaction/placeOrder';
|
|
4
|
+
interface IExportTasksByIdRepos {
|
|
5
5
|
setting: SettingRepo;
|
|
6
6
|
task: TaskRepo;
|
|
7
|
-
|
|
8
|
-
}
|
|
7
|
+
placeOrder: PlaceOrderRepo;
|
|
8
|
+
}
|
|
9
|
+
type ITaskAndTransactionOperation<T> = (repos: IExportTasksByIdRepos) => Promise<T>;
|
|
9
10
|
/**
|
|
10
11
|
* 取引のタスクを出力します
|
|
11
12
|
*/
|
|
12
|
-
|
|
13
|
+
declare function exportTasksById(params: {
|
|
13
14
|
id: string;
|
|
14
15
|
/**
|
|
15
16
|
* タスク実行日時バッファ
|
|
@@ -20,4 +21,4 @@ export declare function exportTasksById(params: {
|
|
|
20
21
|
*/
|
|
21
22
|
optimizeRedundantTasks: boolean;
|
|
22
23
|
}): ITaskAndTransactionOperation<void>;
|
|
23
|
-
export {};
|
|
24
|
+
export { IExportTasksByIdRepos, exportTasksById };
|
|
@@ -38,7 +38,7 @@ function exportTasksById(params) {
|
|
|
38
38
|
return async (repos
|
|
39
39
|
// settings: Settings
|
|
40
40
|
) => {
|
|
41
|
-
const transaction = await repos.
|
|
41
|
+
const transaction = await repos.placeOrder.findPlaceOrderById({
|
|
42
42
|
typeOf: factory.transactionType.PlaceOrder,
|
|
43
43
|
id: params.id
|
|
44
44
|
}, ['endDate', 'object', 'project', 'seller', 'startDate', 'status', 'typeOf']);
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { OrderNumberRepo } from '../../../repo/orderNumber';
|
|
2
2
|
import type { ProjectRepo } from '../../../repo/project';
|
|
3
|
-
import type {
|
|
3
|
+
import type { PlaceOrderRepo } from '../../../repo/transaction/placeOrder';
|
|
4
4
|
/**
|
|
5
5
|
* 未発行であれば、注文番号を発行して取引に保管する
|
|
6
6
|
*/
|
|
7
|
-
declare function
|
|
7
|
+
declare function issueOrderNumberIfNotExist(params: {
|
|
8
8
|
project: {
|
|
9
9
|
id: string;
|
|
10
10
|
};
|
|
@@ -17,7 +17,7 @@ declare function publishOrderNumberIfNotExist(params: {
|
|
|
17
17
|
};
|
|
18
18
|
}): (repos: {
|
|
19
19
|
project: ProjectRepo;
|
|
20
|
-
|
|
20
|
+
placeOrder: PlaceOrderRepo;
|
|
21
21
|
orderNumber: OrderNumberRepo;
|
|
22
22
|
}) => Promise<string>;
|
|
23
|
-
export {
|
|
23
|
+
export { issueOrderNumberIfNotExist };
|
|
@@ -23,36 +23,44 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.
|
|
26
|
+
exports.issueOrderNumberIfNotExist = issueOrderNumberIfNotExist;
|
|
27
27
|
const factory = __importStar(require("../../../factory"));
|
|
28
28
|
/**
|
|
29
29
|
* 未発行であれば、注文番号を発行して取引に保管する
|
|
30
30
|
*/
|
|
31
|
-
function
|
|
31
|
+
function issueOrderNumberIfNotExist(params) {
|
|
32
32
|
return async (repos) => {
|
|
33
|
-
//
|
|
34
|
-
let orderNumber = await repos.
|
|
33
|
+
// 1. 最初のチェック
|
|
34
|
+
let orderNumber = await repos.placeOrder.findInProgressOrderNumberById({ id: params.id });
|
|
35
35
|
// すでに発行済であれば何もしない
|
|
36
36
|
if (typeof orderNumber === 'string') {
|
|
37
37
|
return orderNumber;
|
|
38
38
|
}
|
|
39
|
-
//
|
|
39
|
+
// 2. 発行準備
|
|
40
40
|
const { alternateName } = await repos.project.findAlternateNameById({ id: params.project.id });
|
|
41
41
|
if (typeof alternateName !== 'string') {
|
|
42
42
|
throw new factory.errors.NotFound('project.alternateName');
|
|
43
43
|
}
|
|
44
|
-
|
|
44
|
+
// 3. 番号発行
|
|
45
|
+
const issuedOrderNumber = await repos.orderNumber.issueOrderNumber({
|
|
45
46
|
project: { alternateName },
|
|
46
47
|
orderDate: params.object.orderDate
|
|
47
48
|
});
|
|
48
|
-
//
|
|
49
|
-
await repos.
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
//
|
|
49
|
+
// 4. 保管を試みる
|
|
50
|
+
const { modifiedCount } = await repos.placeOrder.saveOrderNumberIfNotExist({
|
|
51
|
+
id: params.id,
|
|
52
|
+
orderNumber: issuedOrderNumber
|
|
53
|
+
});
|
|
54
|
+
// 5. 書き込めたなら、自分が発行した番号が「真実」
|
|
55
|
+
if (modifiedCount === 1) {
|
|
56
|
+
return issuedOrderNumber;
|
|
57
|
+
}
|
|
58
|
+
// 6. 競合が発生した場合(他者が先に書き込んだ場合)
|
|
59
|
+
// DBにある「正解」を再取得して返す
|
|
60
|
+
orderNumber = await repos.placeOrder.findInProgressOrderNumberById({ id: params.id });
|
|
54
61
|
if (typeof orderNumber !== 'string') {
|
|
55
|
-
|
|
62
|
+
// ここを通るのは、他者が保存した直後に取引がキャンセル/削除された等の極めて稀なケース
|
|
63
|
+
throw new factory.errors.Internal('OrderNumber conflict: failed to retrieve existing number');
|
|
56
64
|
}
|
|
57
65
|
return orderNumber;
|
|
58
66
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ConfirmationNumberRepo } from '../../../repo/confirmationNumber';
|
|
2
|
-
import type {
|
|
2
|
+
import type { PlaceOrderRepo } from '../../../repo/transaction/placeOrder';
|
|
3
3
|
import * as factory from '../../../factory';
|
|
4
4
|
/**
|
|
5
5
|
* 未発行であれば、注文の確認番号を発行して取引に保管する
|
|
@@ -16,7 +16,7 @@ declare function publishConfirmationNumberIfNotExist(params: {
|
|
|
16
16
|
orderDate: Date;
|
|
17
17
|
};
|
|
18
18
|
}): (repos: {
|
|
19
|
-
|
|
19
|
+
placeOrder: PlaceOrderRepo;
|
|
20
20
|
confirmationNumber: ConfirmationNumberRepo;
|
|
21
21
|
}) => Promise<string>;
|
|
22
22
|
export { publishConfirmationNumberIfNotExist };
|
|
@@ -30,7 +30,7 @@ const factory = __importStar(require("../../../factory"));
|
|
|
30
30
|
*/
|
|
31
31
|
function publishConfirmationNumberIfNotExist(params) {
|
|
32
32
|
return async (repos) => {
|
|
33
|
-
let confirmationNumber = await repos.
|
|
33
|
+
let confirmationNumber = await repos.placeOrder.findInProgressConfirmationNumberById({
|
|
34
34
|
id: params.id,
|
|
35
35
|
status: { $in: params.status.$in }
|
|
36
36
|
});
|
|
@@ -41,13 +41,13 @@ function publishConfirmationNumberIfNotExist(params) {
|
|
|
41
41
|
// 確認番号を発行
|
|
42
42
|
confirmationNumber = await repos.confirmationNumber.publish({ orderDate: params.object.orderDate });
|
|
43
43
|
// 取引に存在しなければ保管
|
|
44
|
-
await repos.
|
|
44
|
+
await repos.placeOrder.saveConfirmationNumberIfNotExist({
|
|
45
45
|
id: params.id,
|
|
46
46
|
status: { $in: params.status.$in },
|
|
47
47
|
confirmationNumber
|
|
48
48
|
});
|
|
49
49
|
// 確認番号を取引から再取得
|
|
50
|
-
confirmationNumber = await repos.
|
|
50
|
+
confirmationNumber = await repos.placeOrder.findInProgressConfirmationNumberById({
|
|
51
51
|
id: params.id,
|
|
52
52
|
status: { $in: params.status.$in }
|
|
53
53
|
});
|
|
@@ -4,7 +4,7 @@ import type { MemberProgramRepo } from '../../../repo/memberProgram';
|
|
|
4
4
|
import type { PassportRepo } from '../../../repo/passport';
|
|
5
5
|
import type { ProjectMakesOfferRepo } from '../../../repo/projectMakesOffer';
|
|
6
6
|
import type { SellerRepo } from '../../../repo/seller';
|
|
7
|
-
import type {
|
|
7
|
+
import type { IStartedPlaceOrder, PlaceOrderRepo } from '../../../repo/transaction/placeOrder';
|
|
8
8
|
import { placeOrder as PlaceOrderFactory } from '../../../factory/transaction';
|
|
9
9
|
interface IStartOperationRepos {
|
|
10
10
|
issuer: IssuerRepo;
|
|
@@ -13,7 +13,7 @@ interface IStartOperationRepos {
|
|
|
13
13
|
passport: PassportRepo;
|
|
14
14
|
projectMakesOffer: ProjectMakesOfferRepo;
|
|
15
15
|
seller: SellerRepo;
|
|
16
|
-
|
|
16
|
+
placeOrder: PlaceOrderRepo;
|
|
17
17
|
}
|
|
18
18
|
type IStartOperation<T> = (repos: IStartOperationRepos) => Promise<T>;
|
|
19
19
|
type IStartParams = PlaceOrderFactory.IStartParams;
|
|
@@ -23,5 +23,5 @@ interface IStartOptions {
|
|
|
23
23
|
/**
|
|
24
24
|
* 取引開始
|
|
25
25
|
*/
|
|
26
|
-
declare function start(params: IStartParams, options: IStartOptions): IStartOperation<
|
|
26
|
+
declare function start(params: IStartParams, options: IStartOptions): IStartOperation<IStartedPlaceOrder>;
|
|
27
27
|
export { start };
|
|
@@ -54,7 +54,7 @@ function start(params, options) {
|
|
|
54
54
|
}
|
|
55
55
|
catch (error) {
|
|
56
56
|
// in case already locked
|
|
57
|
-
const alreadyStartedTransaction = (await repos.
|
|
57
|
+
const alreadyStartedTransaction = (await repos.placeOrder.findPlaceOrderTransactions({
|
|
58
58
|
limit: 1, page: 1,
|
|
59
59
|
typeOf: factory.transactionType.PlaceOrder,
|
|
60
60
|
project: { id: { $eq: startParams.project.id } },
|
|
@@ -72,7 +72,7 @@ function start(params, options) {
|
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
if (transaction === undefined) {
|
|
75
|
-
transaction = await repos.
|
|
75
|
+
transaction = await repos.placeOrder.startPlaceOrder(startParams);
|
|
76
76
|
}
|
|
77
77
|
return transaction;
|
|
78
78
|
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as factory from '../../../factory';
|
|
2
|
+
import type { OrderInTransactionRepo } from '../../../repo/orderInTransaction';
|
|
3
|
+
import type { OrderNumberRepo } from '../../../repo/orderNumber';
|
|
4
|
+
import type { ProjectRepo } from '../../../repo/project';
|
|
5
|
+
import type { PlaceOrderRepo } from '../../../repo/transaction/placeOrder';
|
|
6
|
+
/**
|
|
7
|
+
* 取引人プロフィール更新
|
|
8
|
+
*/
|
|
9
|
+
export declare function updateAgent(params: {
|
|
10
|
+
typeOf: factory.transactionType.PlaceOrder;
|
|
11
|
+
/**
|
|
12
|
+
* 取引ID
|
|
13
|
+
*/
|
|
14
|
+
id: string;
|
|
15
|
+
agent: factory.order.ICustomer & {
|
|
16
|
+
telephoneRegion?: string;
|
|
17
|
+
};
|
|
18
|
+
}): (repos: {
|
|
19
|
+
orderInTransaction: OrderInTransactionRepo;
|
|
20
|
+
orderNumber: OrderNumberRepo;
|
|
21
|
+
project: ProjectRepo;
|
|
22
|
+
placeOrder: PlaceOrderRepo;
|
|
23
|
+
}) => Promise<void>;
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.updateAgent = updateAgent;
|
|
27
|
+
const google_libphonenumber_1 = require("google-libphonenumber");
|
|
28
|
+
const factory = __importStar(require("../../../factory"));
|
|
29
|
+
const issueOrderNumberIfNotExist_1 = require("./issueOrderNumberIfNotExist");
|
|
30
|
+
// import { Settings } from '../settings';
|
|
31
|
+
// export type ITransactionOperation<T> = (repos: { transaction: TransactionRepo }) => Promise<T>;
|
|
32
|
+
function fixCustomer(params) {
|
|
33
|
+
return async (repos) => {
|
|
34
|
+
let formattedTelephone;
|
|
35
|
+
try {
|
|
36
|
+
const phoneUtil = google_libphonenumber_1.PhoneNumberUtil.getInstance();
|
|
37
|
+
const phoneNumber = phoneUtil.parse(params.agent.telephone, params.agent.telephoneRegion);
|
|
38
|
+
if (!phoneUtil.isValidNumber(phoneNumber)) {
|
|
39
|
+
throw new factory.errors.Argument('telephone', 'Invalid phone number');
|
|
40
|
+
}
|
|
41
|
+
formattedTelephone = phoneUtil.format(phoneNumber, google_libphonenumber_1.PhoneNumberFormat.E164);
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
throw new factory.errors.Argument('telephone', error.message);
|
|
45
|
+
}
|
|
46
|
+
const transaction = await repos.placeOrder.findPlaceOrderInProgressById({
|
|
47
|
+
typeOf: params.typeOf,
|
|
48
|
+
id: params.id
|
|
49
|
+
}, ['agent', 'object', 'typeOf', 'project']);
|
|
50
|
+
if (transaction.agent.id !== params.agent.id) {
|
|
51
|
+
throw new factory.errors.Forbidden('Transaction not yours');
|
|
52
|
+
}
|
|
53
|
+
// 注文取引の場合、object.customerにも適用
|
|
54
|
+
let customer;
|
|
55
|
+
if (transaction.typeOf === factory.transactionType.PlaceOrder) {
|
|
56
|
+
// いったんtransaction.object.customer?.typeOfは取引開始時にセットされている前提
|
|
57
|
+
const trasactionObject = transaction.object;
|
|
58
|
+
if (typeof trasactionObject.customer?.typeOf === 'string') {
|
|
59
|
+
customer = {
|
|
60
|
+
typeOf: trasactionObject.customer.typeOf,
|
|
61
|
+
id: trasactionObject.customer.id,
|
|
62
|
+
...(Array.isArray(trasactionObject.customer.identifier))
|
|
63
|
+
? { identifier: trasactionObject.customer.identifier }
|
|
64
|
+
: /* istanbul ignore next */ undefined,
|
|
65
|
+
// discontinue(2024-05-16~)
|
|
66
|
+
// ...(transaction.object.customer.typeOf === factory.personType.Person
|
|
67
|
+
// && typeof transaction.object.customer.memberOf?.typeOf === 'string')
|
|
68
|
+
// ? { memberOf: transaction.object.customer.memberOf }
|
|
69
|
+
// : undefined,
|
|
70
|
+
...(Array.isArray(params.agent.additionalProperty))
|
|
71
|
+
? { additionalProperty: params.agent.additionalProperty }
|
|
72
|
+
: /* istanbul ignore next */ undefined,
|
|
73
|
+
...(typeof params.agent.age === 'string') ? { age: params.agent.age }
|
|
74
|
+
: /* istanbul ignore next */ undefined,
|
|
75
|
+
...(typeof params.agent.address === 'string') ? { address: params.agent.address }
|
|
76
|
+
: /* istanbul ignore next */ undefined,
|
|
77
|
+
...(typeof params.agent.email === 'string') ? { email: params.agent.email }
|
|
78
|
+
: /* istanbul ignore next */ undefined,
|
|
79
|
+
...(typeof params.agent.familyName === 'string') ? { familyName: params.agent.familyName }
|
|
80
|
+
: /* istanbul ignore next */ undefined,
|
|
81
|
+
...(typeof params.agent.gender === 'string') ? { gender: params.agent.gender }
|
|
82
|
+
: /* istanbul ignore next */ undefined,
|
|
83
|
+
...(typeof params.agent.givenName === 'string') ? { givenName: params.agent.givenName }
|
|
84
|
+
: /* istanbul ignore next */ undefined,
|
|
85
|
+
...(typeof params.agent.name === 'string') ? { name: params.agent.name } : /* istanbul ignore next */ undefined,
|
|
86
|
+
...(typeof formattedTelephone === 'string') ? { telephone: formattedTelephone } : /* istanbul ignore next */ undefined,
|
|
87
|
+
...(typeof params.agent.url === 'string') ? { url: params.agent.url } : /* istanbul ignore next */ undefined
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return { customer, transaction };
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* 取引人プロフィール更新
|
|
96
|
+
*/
|
|
97
|
+
function updateAgent(params) {
|
|
98
|
+
return async (repos) => {
|
|
99
|
+
const { customer, transaction } = await fixCustomer(params)(repos);
|
|
100
|
+
// also save in orderInTransaction(2024-06-20~)
|
|
101
|
+
if (customer !== undefined) {
|
|
102
|
+
const orderNumber = await (0, issueOrderNumberIfNotExist_1.issueOrderNumberIfNotExist)({
|
|
103
|
+
project: { id: transaction.project.id },
|
|
104
|
+
id: params.id,
|
|
105
|
+
object: { orderDate: new Date() }
|
|
106
|
+
})(repos);
|
|
107
|
+
const customerName = (typeof customer.name === 'string' && customer.name !== '')
|
|
108
|
+
? customer.name
|
|
109
|
+
: (typeof customer.givenName === 'string' && typeof customer.familyName === 'string'
|
|
110
|
+
&& customer.givenName !== '' && customer.familyName !== '')
|
|
111
|
+
? `${customer.givenName} ${customer.familyName}`
|
|
112
|
+
: undefined;
|
|
113
|
+
const customerInOrder = {
|
|
114
|
+
...customer,
|
|
115
|
+
identifier: (Array.isArray(customer.identifier)) ? customer.identifier : [],
|
|
116
|
+
...(typeof customerName === 'string') ? { name: customerName } : undefined
|
|
117
|
+
};
|
|
118
|
+
await repos.orderInTransaction.setCustomer({
|
|
119
|
+
orderNumber,
|
|
120
|
+
project: transaction.project,
|
|
121
|
+
customer: customerInOrder
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
// return newAgent;
|
|
125
|
+
};
|
|
126
|
+
}
|
|
@@ -5,4 +5,5 @@ import { POINT_AWARD_IDENTIFIER_NAME } from '../../factory/order';
|
|
|
5
5
|
import { confirm } from './placeOrder/confirm';
|
|
6
6
|
import { exportTasksById } from './placeOrder/exportTasksById';
|
|
7
7
|
import { start } from './placeOrder/start';
|
|
8
|
-
|
|
8
|
+
import { updateAgent } from './placeOrder/updateAgent';
|
|
9
|
+
export { confirm, POINT_AWARD_IDENTIFIER_NAME, start, exportTasksById, updateAgent };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.exportTasksById = exports.start = exports.POINT_AWARD_IDENTIFIER_NAME = exports.confirm = void 0;
|
|
3
|
+
exports.updateAgent = exports.exportTasksById = exports.start = exports.POINT_AWARD_IDENTIFIER_NAME = exports.confirm = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* 注文取引サービス
|
|
6
6
|
*/
|
|
@@ -12,3 +12,5 @@ const exportTasksById_1 = require("./placeOrder/exportTasksById");
|
|
|
12
12
|
Object.defineProperty(exports, "exportTasksById", { enumerable: true, get: function () { return exportTasksById_1.exportTasksById; } });
|
|
13
13
|
const start_1 = require("./placeOrder/start");
|
|
14
14
|
Object.defineProperty(exports, "start", { enumerable: true, get: function () { return start_1.start; } });
|
|
15
|
+
const updateAgent_1 = require("./placeOrder/updateAgent");
|
|
16
|
+
Object.defineProperty(exports, "updateAgent", { enumerable: true, get: function () { return updateAgent_1.updateAgent; } });
|