@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.ReservationRepo = void 0;
|
|
13
4
|
const reservation_1 = require("./mongoose/schemas/reservation");
|
|
@@ -17,30 +8,28 @@ const settings_1 = require("../settings");
|
|
|
17
8
|
* 予約リポジトリ
|
|
18
9
|
*/
|
|
19
10
|
class ReservationRepo {
|
|
11
|
+
// private化(2022-06-08~)
|
|
12
|
+
reservationModel;
|
|
20
13
|
constructor(connection) {
|
|
21
14
|
this.reservationModel = connection.model(reservation_1.modelName, (0, reservation_1.createSchema)());
|
|
22
15
|
}
|
|
23
|
-
// tslint:disable-next-line:cyclomatic-complexity max-func-body-length
|
|
24
16
|
static CREATE_MONGO_CONDITIONS(params) {
|
|
25
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21;
|
|
26
17
|
// MongoDB検索条件
|
|
27
18
|
const andConditions = [
|
|
28
19
|
{ typeOf: { $eq: params.typeOf } }
|
|
29
20
|
];
|
|
30
|
-
const projectIdEq =
|
|
21
|
+
const projectIdEq = params.project?.id?.$eq;
|
|
31
22
|
if (typeof projectIdEq === 'string') {
|
|
32
23
|
andConditions.push({ 'project.id': { $eq: projectIdEq } });
|
|
33
24
|
}
|
|
34
|
-
const providerIdEq =
|
|
25
|
+
const providerIdEq = params.provider?.id?.$eq;
|
|
35
26
|
if (typeof providerIdEq === 'string') {
|
|
36
27
|
andConditions.push({ 'provider.id': { $eq: providerIdEq } });
|
|
37
28
|
}
|
|
38
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
39
29
|
/* istanbul ignore else */
|
|
40
30
|
if (Array.isArray(params.ids)) {
|
|
41
31
|
andConditions.push({ _id: { $in: params.ids } });
|
|
42
32
|
}
|
|
43
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
44
33
|
/* istanbul ignore else */
|
|
45
34
|
if (params.id !== undefined && params.id !== null) {
|
|
46
35
|
if (typeof params.id.$eq === 'string') {
|
|
@@ -56,7 +45,6 @@ class ReservationRepo {
|
|
|
56
45
|
andConditions.push({ _id: { $nin: params.id.$nin } });
|
|
57
46
|
}
|
|
58
47
|
}
|
|
59
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
60
48
|
/* istanbul ignore else */
|
|
61
49
|
if (Array.isArray(params.reservationNumbers)) {
|
|
62
50
|
andConditions.push({
|
|
@@ -65,7 +53,6 @@ class ReservationRepo {
|
|
|
65
53
|
}
|
|
66
54
|
});
|
|
67
55
|
}
|
|
68
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
69
56
|
/* istanbul ignore else */
|
|
70
57
|
if (params.reservationNumber !== undefined && params.reservationNumber !== null) {
|
|
71
58
|
if (typeof params.reservationNumber === 'string') {
|
|
@@ -108,7 +95,6 @@ class ReservationRepo {
|
|
|
108
95
|
}
|
|
109
96
|
}
|
|
110
97
|
}
|
|
111
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
112
98
|
/* istanbul ignore else */
|
|
113
99
|
if (params.additionalTicketText !== undefined && params.additionalTicketText !== null) {
|
|
114
100
|
if (typeof params.additionalTicketText === 'string') {
|
|
@@ -152,47 +138,47 @@ class ReservationRepo {
|
|
|
152
138
|
}
|
|
153
139
|
});
|
|
154
140
|
}
|
|
155
|
-
const additionalTicketTextRegex =
|
|
141
|
+
const additionalTicketTextRegex = params.additionalTicketText?.$regex;
|
|
156
142
|
if (typeof additionalTicketTextRegex === 'string' && additionalTicketTextRegex.length > 0) {
|
|
157
|
-
const additionalTicketTextOptions =
|
|
143
|
+
const additionalTicketTextOptions = params.additionalTicketText?.$options;
|
|
158
144
|
andConditions.push({
|
|
159
|
-
additionalTicketText:
|
|
145
|
+
additionalTicketText: {
|
|
146
|
+
$exists: true,
|
|
147
|
+
$regex: new RegExp(additionalTicketTextRegex),
|
|
148
|
+
...(typeof additionalTicketTextOptions === 'string') ? { $options: additionalTicketTextOptions } : undefined
|
|
149
|
+
}
|
|
160
150
|
});
|
|
161
151
|
}
|
|
162
152
|
}
|
|
163
153
|
}
|
|
164
|
-
const reservationStatusEq =
|
|
154
|
+
const reservationStatusEq = params.reservationStatus?.$eq;
|
|
165
155
|
if (typeof reservationStatusEq === 'string') {
|
|
166
156
|
andConditions.push({ reservationStatus: { $eq: reservationStatusEq } });
|
|
167
157
|
}
|
|
168
|
-
const reservationStatusNe =
|
|
158
|
+
const reservationStatusNe = params.reservationStatus?.$ne;
|
|
169
159
|
if (typeof reservationStatusNe === 'string') {
|
|
170
160
|
andConditions.push({ reservationStatus: { $ne: reservationStatusNe } });
|
|
171
161
|
}
|
|
172
|
-
const reservationStatusIn =
|
|
162
|
+
const reservationStatusIn = params.reservationStatus?.$in;
|
|
173
163
|
if (Array.isArray(reservationStatusIn)) {
|
|
174
164
|
andConditions.push({ reservationStatus: { $in: reservationStatusIn } });
|
|
175
165
|
}
|
|
176
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
177
166
|
/* istanbul ignore else */
|
|
178
167
|
if (Array.isArray(params.reservationStatuses)) {
|
|
179
168
|
andConditions.push({ reservationStatus: { $in: params.reservationStatuses } });
|
|
180
169
|
}
|
|
181
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
182
170
|
/* istanbul ignore else */
|
|
183
171
|
if (params.modifiedFrom instanceof Date) {
|
|
184
172
|
andConditions.push({
|
|
185
173
|
modifiedTime: { $gte: params.modifiedFrom }
|
|
186
174
|
});
|
|
187
175
|
}
|
|
188
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
189
176
|
/* istanbul ignore else */
|
|
190
177
|
if (params.modifiedThrough instanceof Date) {
|
|
191
178
|
andConditions.push({
|
|
192
179
|
modifiedTime: { $lte: params.modifiedThrough }
|
|
193
180
|
});
|
|
194
181
|
}
|
|
195
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
196
182
|
/* istanbul ignore else */
|
|
197
183
|
if (params.bookingFrom instanceof Date) {
|
|
198
184
|
andConditions.push({
|
|
@@ -202,7 +188,6 @@ class ReservationRepo {
|
|
|
202
188
|
}
|
|
203
189
|
});
|
|
204
190
|
}
|
|
205
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
206
191
|
/* istanbul ignore else */
|
|
207
192
|
if (params.bookingThrough instanceof Date) {
|
|
208
193
|
andConditions.push({
|
|
@@ -214,7 +199,7 @@ class ReservationRepo {
|
|
|
214
199
|
}
|
|
215
200
|
switch (params.typeOf) {
|
|
216
201
|
case factory.reservationType.BusReservation:
|
|
217
|
-
const reservationForTypeOfEq =
|
|
202
|
+
const reservationForTypeOfEq = params.reservationFor?.typeOf;
|
|
218
203
|
if (typeof reservationForTypeOfEq === 'string') {
|
|
219
204
|
andConditions.push({
|
|
220
205
|
'reservationFor.typeOf': {
|
|
@@ -223,7 +208,7 @@ class ReservationRepo {
|
|
|
223
208
|
}
|
|
224
209
|
});
|
|
225
210
|
}
|
|
226
|
-
const reservationForIdEq =
|
|
211
|
+
const reservationForIdEq = params.reservationFor?.id?.$eq;
|
|
227
212
|
if (typeof reservationForIdEq === 'string') {
|
|
228
213
|
andConditions.push({
|
|
229
214
|
'reservationFor.id': {
|
|
@@ -232,7 +217,7 @@ class ReservationRepo {
|
|
|
232
217
|
}
|
|
233
218
|
});
|
|
234
219
|
}
|
|
235
|
-
const reservationForIdIn =
|
|
220
|
+
const reservationForIdIn = params.reservationFor?.id?.$in;
|
|
236
221
|
if (Array.isArray(reservationForIdIn)) {
|
|
237
222
|
andConditions.push({
|
|
238
223
|
'reservationFor.id': {
|
|
@@ -243,7 +228,7 @@ class ReservationRepo {
|
|
|
243
228
|
}
|
|
244
229
|
break;
|
|
245
230
|
case factory.reservationType.EventReservation:
|
|
246
|
-
if (typeof
|
|
231
|
+
if (typeof params.reservationFor?.id === 'string') {
|
|
247
232
|
andConditions.push({
|
|
248
233
|
'reservationFor.id': {
|
|
249
234
|
$exists: true,
|
|
@@ -252,7 +237,7 @@ class ReservationRepo {
|
|
|
252
237
|
});
|
|
253
238
|
}
|
|
254
239
|
else {
|
|
255
|
-
const reservationForIdEq4eventReservation =
|
|
240
|
+
const reservationForIdEq4eventReservation = params.reservationFor?.id?.$eq;
|
|
256
241
|
if (typeof reservationForIdEq4eventReservation === 'string') {
|
|
257
242
|
andConditions.push({
|
|
258
243
|
'reservationFor.id': {
|
|
@@ -262,10 +247,8 @@ class ReservationRepo {
|
|
|
262
247
|
});
|
|
263
248
|
}
|
|
264
249
|
}
|
|
265
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
266
250
|
/* istanbul ignore else */
|
|
267
251
|
if (params.reservationFor !== undefined) {
|
|
268
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
269
252
|
/* istanbul ignore else */
|
|
270
253
|
if (params.reservationFor.typeOf !== undefined) {
|
|
271
254
|
andConditions.push({
|
|
@@ -275,7 +258,6 @@ class ReservationRepo {
|
|
|
275
258
|
}
|
|
276
259
|
});
|
|
277
260
|
}
|
|
278
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
279
261
|
/* istanbul ignore else */
|
|
280
262
|
if (Array.isArray(params.reservationFor.ids)) {
|
|
281
263
|
andConditions.push({
|
|
@@ -285,10 +267,8 @@ class ReservationRepo {
|
|
|
285
267
|
}
|
|
286
268
|
});
|
|
287
269
|
}
|
|
288
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
289
270
|
/* istanbul ignore else */
|
|
290
271
|
if (params.reservationFor.location !== undefined) {
|
|
291
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
292
272
|
/* istanbul ignore else */
|
|
293
273
|
if (Array.isArray(params.reservationFor.location.ids)) {
|
|
294
274
|
andConditions.push({
|
|
@@ -298,7 +278,6 @@ class ReservationRepo {
|
|
|
298
278
|
}
|
|
299
279
|
});
|
|
300
280
|
}
|
|
301
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
302
281
|
/* istanbul ignore else */
|
|
303
282
|
if (Array.isArray(params.reservationFor.location.branchCodes)) {
|
|
304
283
|
andConditions.push({
|
|
@@ -309,7 +288,6 @@ class ReservationRepo {
|
|
|
309
288
|
});
|
|
310
289
|
}
|
|
311
290
|
}
|
|
312
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
313
291
|
/* istanbul ignore else */
|
|
314
292
|
if (params.reservationFor.startFrom instanceof Date) {
|
|
315
293
|
andConditions.push({
|
|
@@ -319,7 +297,6 @@ class ReservationRepo {
|
|
|
319
297
|
}
|
|
320
298
|
});
|
|
321
299
|
}
|
|
322
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
323
300
|
/* istanbul ignore else */
|
|
324
301
|
if (params.reservationFor.startThrough instanceof Date) {
|
|
325
302
|
andConditions.push({
|
|
@@ -329,7 +306,6 @@ class ReservationRepo {
|
|
|
329
306
|
}
|
|
330
307
|
});
|
|
331
308
|
}
|
|
332
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
333
309
|
/* istanbul ignore else */
|
|
334
310
|
if (params.reservationFor.endFrom instanceof Date) {
|
|
335
311
|
andConditions.push({
|
|
@@ -339,7 +315,6 @@ class ReservationRepo {
|
|
|
339
315
|
}
|
|
340
316
|
});
|
|
341
317
|
}
|
|
342
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
343
318
|
/* istanbul ignore else */
|
|
344
319
|
if (params.reservationFor.endThrough instanceof Date) {
|
|
345
320
|
andConditions.push({
|
|
@@ -349,10 +324,8 @@ class ReservationRepo {
|
|
|
349
324
|
}
|
|
350
325
|
});
|
|
351
326
|
}
|
|
352
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
353
327
|
/* istanbul ignore else */
|
|
354
328
|
if (params.reservationFor.superEvent !== undefined) {
|
|
355
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
356
329
|
/* istanbul ignore else */
|
|
357
330
|
if (params.reservationFor.superEvent.id !== undefined) {
|
|
358
331
|
andConditions.push({
|
|
@@ -362,7 +335,6 @@ class ReservationRepo {
|
|
|
362
335
|
}
|
|
363
336
|
});
|
|
364
337
|
}
|
|
365
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
366
338
|
/* istanbul ignore else */
|
|
367
339
|
if (Array.isArray(params.reservationFor.superEvent.ids)) {
|
|
368
340
|
andConditions.push({
|
|
@@ -372,10 +344,8 @@ class ReservationRepo {
|
|
|
372
344
|
}
|
|
373
345
|
});
|
|
374
346
|
}
|
|
375
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
376
347
|
/* istanbul ignore else */
|
|
377
348
|
if (params.reservationFor.superEvent.location !== undefined) {
|
|
378
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
379
349
|
/* istanbul ignore else */
|
|
380
350
|
if (Array.isArray(params.reservationFor.superEvent.location.ids)) {
|
|
381
351
|
andConditions.push({
|
|
@@ -385,7 +355,6 @@ class ReservationRepo {
|
|
|
385
355
|
}
|
|
386
356
|
});
|
|
387
357
|
}
|
|
388
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
389
358
|
/* istanbul ignore else */
|
|
390
359
|
if (Array.isArray(params.reservationFor.superEvent.location.branchCodes)) {
|
|
391
360
|
andConditions.push({
|
|
@@ -396,10 +365,8 @@ class ReservationRepo {
|
|
|
396
365
|
});
|
|
397
366
|
}
|
|
398
367
|
}
|
|
399
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
400
368
|
/* istanbul ignore else */
|
|
401
369
|
if (params.reservationFor.superEvent.workPerformed !== undefined) {
|
|
402
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
403
370
|
/* istanbul ignore else */
|
|
404
371
|
if (Array.isArray(params.reservationFor.superEvent.workPerformed.ids)) {
|
|
405
372
|
andConditions.push({
|
|
@@ -409,7 +376,6 @@ class ReservationRepo {
|
|
|
409
376
|
}
|
|
410
377
|
});
|
|
411
378
|
}
|
|
412
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
413
379
|
/* istanbul ignore else */
|
|
414
380
|
if (Array.isArray(params.reservationFor.superEvent.workPerformed.identifiers)) {
|
|
415
381
|
andConditions.push({
|
|
@@ -427,13 +393,10 @@ class ReservationRepo {
|
|
|
427
393
|
break;
|
|
428
394
|
default:
|
|
429
395
|
}
|
|
430
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
431
396
|
/* istanbul ignore else */
|
|
432
397
|
if (params.reservedTicket !== undefined) {
|
|
433
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
434
398
|
/* istanbul ignore else */
|
|
435
399
|
if (params.reservedTicket.ticketType !== undefined) {
|
|
436
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
437
400
|
/* istanbul ignore else */
|
|
438
401
|
if (Array.isArray(params.reservedTicket.ticketType.ids)) {
|
|
439
402
|
andConditions.push({
|
|
@@ -443,10 +406,8 @@ class ReservationRepo {
|
|
|
443
406
|
}
|
|
444
407
|
});
|
|
445
408
|
}
|
|
446
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
447
409
|
/* istanbul ignore else */
|
|
448
410
|
if (params.reservedTicket.ticketType.category !== undefined) {
|
|
449
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
450
411
|
/* istanbul ignore else */
|
|
451
412
|
if (Array.isArray(params.reservedTicket.ticketType.category.ids)) {
|
|
452
413
|
andConditions.push({
|
|
@@ -456,7 +417,6 @@ class ReservationRepo {
|
|
|
456
417
|
}
|
|
457
418
|
});
|
|
458
419
|
}
|
|
459
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
460
420
|
/* istanbul ignore else */
|
|
461
421
|
if (params.reservedTicket.ticketType.category.codeValue !== undefined
|
|
462
422
|
&& params.reservedTicket.ticketType.category !== null) {
|
|
@@ -471,10 +431,8 @@ class ReservationRepo {
|
|
|
471
431
|
}
|
|
472
432
|
}
|
|
473
433
|
}
|
|
474
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
475
434
|
/* istanbul ignore else */
|
|
476
435
|
if (params.reservedTicket.ticketedSeat !== undefined) {
|
|
477
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
478
436
|
/* istanbul ignore else */
|
|
479
437
|
if (Array.isArray(params.reservedTicket.ticketedSeat.seatNumbers)) {
|
|
480
438
|
andConditions.push({
|
|
@@ -484,7 +442,6 @@ class ReservationRepo {
|
|
|
484
442
|
}
|
|
485
443
|
});
|
|
486
444
|
}
|
|
487
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
488
445
|
/* istanbul ignore else */
|
|
489
446
|
if (Array.isArray(params.reservedTicket.ticketedSeat.seatRows)) {
|
|
490
447
|
andConditions.push({
|
|
@@ -494,7 +451,6 @@ class ReservationRepo {
|
|
|
494
451
|
}
|
|
495
452
|
});
|
|
496
453
|
}
|
|
497
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
498
454
|
/* istanbul ignore else */
|
|
499
455
|
if (Array.isArray(params.reservedTicket.ticketedSeat.seatSections)) {
|
|
500
456
|
andConditions.push({
|
|
@@ -504,9 +460,8 @@ class ReservationRepo {
|
|
|
504
460
|
}
|
|
505
461
|
});
|
|
506
462
|
}
|
|
507
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
508
463
|
/* istanbul ignore else */
|
|
509
|
-
const ticketedSeatSeatingTypeIn =
|
|
464
|
+
const ticketedSeatSeatingTypeIn = params.reservedTicket.ticketedSeat?.seatingType?.$in;
|
|
510
465
|
if (Array.isArray(ticketedSeatSeatingTypeIn)) {
|
|
511
466
|
andConditions.push({
|
|
512
467
|
'reservedTicket.ticketedSeat.seatingType': {
|
|
@@ -517,7 +472,7 @@ class ReservationRepo {
|
|
|
517
472
|
}
|
|
518
473
|
}
|
|
519
474
|
}
|
|
520
|
-
const brokerIdRegex =
|
|
475
|
+
const brokerIdRegex = params.broker?.id;
|
|
521
476
|
if (typeof brokerIdRegex === 'string' && brokerIdRegex.length > 0) {
|
|
522
477
|
andConditions.push({
|
|
523
478
|
'broker.id': {
|
|
@@ -526,7 +481,7 @@ class ReservationRepo {
|
|
|
526
481
|
}
|
|
527
482
|
});
|
|
528
483
|
}
|
|
529
|
-
const brokerIdentifierAll =
|
|
484
|
+
const brokerIdentifierAll = params.broker?.identifier?.$all;
|
|
530
485
|
if (Array.isArray(brokerIdentifierAll)) {
|
|
531
486
|
andConditions.push({
|
|
532
487
|
'broker.identifier': {
|
|
@@ -535,7 +490,7 @@ class ReservationRepo {
|
|
|
535
490
|
}
|
|
536
491
|
});
|
|
537
492
|
}
|
|
538
|
-
const brokerIdentifierIn =
|
|
493
|
+
const brokerIdentifierIn = params.broker?.identifier?.$in;
|
|
539
494
|
if (Array.isArray(brokerIdentifierIn)) {
|
|
540
495
|
andConditions.push({
|
|
541
496
|
'broker.identifier': {
|
|
@@ -544,7 +499,7 @@ class ReservationRepo {
|
|
|
544
499
|
}
|
|
545
500
|
});
|
|
546
501
|
}
|
|
547
|
-
const brokerIdentifierNin =
|
|
502
|
+
const brokerIdentifierNin = params.broker?.identifier?.$nin;
|
|
548
503
|
if (Array.isArray(brokerIdentifierNin)) {
|
|
549
504
|
andConditions.push({
|
|
550
505
|
'broker.identifier': {
|
|
@@ -552,7 +507,7 @@ class ReservationRepo {
|
|
|
552
507
|
}
|
|
553
508
|
});
|
|
554
509
|
}
|
|
555
|
-
const brokerIdentifierElemMatch =
|
|
510
|
+
const brokerIdentifierElemMatch = params.broker?.identifier?.$elemMatch;
|
|
556
511
|
if (brokerIdentifierElemMatch !== undefined && brokerIdentifierElemMatch !== null) {
|
|
557
512
|
andConditions.push({
|
|
558
513
|
'broker.identifier': {
|
|
@@ -561,10 +516,8 @@ class ReservationRepo {
|
|
|
561
516
|
}
|
|
562
517
|
});
|
|
563
518
|
}
|
|
564
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
565
519
|
/* istanbul ignore else */
|
|
566
520
|
if (params.underName !== undefined) {
|
|
567
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
568
521
|
/* istanbul ignore else */
|
|
569
522
|
if (typeof params.underName.id === 'string' && params.underName.id.length > 0) {
|
|
570
523
|
andConditions.push({
|
|
@@ -574,7 +527,6 @@ class ReservationRepo {
|
|
|
574
527
|
}
|
|
575
528
|
});
|
|
576
529
|
}
|
|
577
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
578
530
|
/* istanbul ignore else */
|
|
579
531
|
if (typeof params.underName.email === 'string') {
|
|
580
532
|
if (params.underName.email.length > 0) {
|
|
@@ -587,15 +539,18 @@ class ReservationRepo {
|
|
|
587
539
|
}
|
|
588
540
|
}
|
|
589
541
|
else {
|
|
590
|
-
const emailRegex =
|
|
542
|
+
const emailRegex = params.underName.email?.$regex;
|
|
591
543
|
if (typeof emailRegex === 'string' && emailRegex.length > 0) {
|
|
592
|
-
const emailOptions =
|
|
544
|
+
const emailOptions = params.underName.email?.$options;
|
|
593
545
|
andConditions.push({
|
|
594
|
-
'underName.email':
|
|
546
|
+
'underName.email': {
|
|
547
|
+
$exists: true,
|
|
548
|
+
$regex: new RegExp(emailRegex),
|
|
549
|
+
...(typeof emailOptions === 'string') ? { $options: emailOptions } : undefined
|
|
550
|
+
}
|
|
595
551
|
});
|
|
596
552
|
}
|
|
597
553
|
}
|
|
598
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
599
554
|
/* istanbul ignore else */
|
|
600
555
|
if (typeof params.underName.name === 'string') {
|
|
601
556
|
if (params.underName.name.length > 0) {
|
|
@@ -608,15 +563,18 @@ class ReservationRepo {
|
|
|
608
563
|
}
|
|
609
564
|
}
|
|
610
565
|
else {
|
|
611
|
-
const underNameNameRegex =
|
|
566
|
+
const underNameNameRegex = params.underName.name?.$regex;
|
|
612
567
|
if (typeof underNameNameRegex === 'string' && underNameNameRegex.length > 0) {
|
|
613
|
-
const underNameNameOptions =
|
|
568
|
+
const underNameNameOptions = params.underName.name?.$options;
|
|
614
569
|
andConditions.push({
|
|
615
|
-
'underName.name':
|
|
570
|
+
'underName.name': {
|
|
571
|
+
$exists: true,
|
|
572
|
+
$regex: new RegExp(underNameNameRegex),
|
|
573
|
+
...(typeof underNameNameOptions === 'string') ? { $options: underNameNameOptions } : undefined
|
|
574
|
+
}
|
|
616
575
|
});
|
|
617
576
|
}
|
|
618
577
|
}
|
|
619
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
620
578
|
/* istanbul ignore else */
|
|
621
579
|
if (typeof params.underName.telephone === 'string' && params.underName.telephone.length > 0) {
|
|
622
580
|
andConditions.push({
|
|
@@ -626,7 +584,6 @@ class ReservationRepo {
|
|
|
626
584
|
}
|
|
627
585
|
});
|
|
628
586
|
}
|
|
629
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
630
587
|
/* istanbul ignore else */
|
|
631
588
|
if (typeof params.underName.givenName === 'string') {
|
|
632
589
|
if (params.underName.givenName.length > 0) {
|
|
@@ -639,15 +596,18 @@ class ReservationRepo {
|
|
|
639
596
|
}
|
|
640
597
|
}
|
|
641
598
|
else {
|
|
642
|
-
const givenNameRegex =
|
|
599
|
+
const givenNameRegex = params.underName.givenName?.$regex;
|
|
643
600
|
if (typeof givenNameRegex === 'string' && givenNameRegex.length > 0) {
|
|
644
|
-
const givenNameOptions =
|
|
601
|
+
const givenNameOptions = params.underName.givenName?.$options;
|
|
645
602
|
andConditions.push({
|
|
646
|
-
'underName.givenName':
|
|
603
|
+
'underName.givenName': {
|
|
604
|
+
$exists: true,
|
|
605
|
+
$regex: new RegExp(givenNameRegex),
|
|
606
|
+
...(typeof givenNameOptions === 'string') ? { $options: givenNameOptions } : undefined
|
|
607
|
+
}
|
|
647
608
|
});
|
|
648
609
|
}
|
|
649
610
|
}
|
|
650
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
651
611
|
/* istanbul ignore else */
|
|
652
612
|
if (typeof params.underName.familyName === 'string') {
|
|
653
613
|
if (params.underName.familyName.length > 0) {
|
|
@@ -660,15 +620,18 @@ class ReservationRepo {
|
|
|
660
620
|
}
|
|
661
621
|
}
|
|
662
622
|
else {
|
|
663
|
-
const familyNameRegex =
|
|
623
|
+
const familyNameRegex = params.underName.familyName?.$regex;
|
|
664
624
|
if (typeof familyNameRegex === 'string' && familyNameRegex.length > 0) {
|
|
665
|
-
const familyNameOptions =
|
|
625
|
+
const familyNameOptions = params.underName.familyName?.$options;
|
|
666
626
|
andConditions.push({
|
|
667
|
-
'underName.familyName':
|
|
627
|
+
'underName.familyName': {
|
|
628
|
+
$exists: true,
|
|
629
|
+
$regex: new RegExp(familyNameRegex),
|
|
630
|
+
...(typeof familyNameOptions === 'string') ? { $options: familyNameOptions } : undefined
|
|
631
|
+
}
|
|
668
632
|
});
|
|
669
633
|
}
|
|
670
634
|
}
|
|
671
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
672
635
|
/* istanbul ignore else */
|
|
673
636
|
if (params.underName.identifier !== undefined) {
|
|
674
637
|
if (Array.isArray(params.underName.identifier.$all)) {
|
|
@@ -703,7 +666,6 @@ class ReservationRepo {
|
|
|
703
666
|
});
|
|
704
667
|
}
|
|
705
668
|
}
|
|
706
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
707
669
|
/* istanbul ignore else */
|
|
708
670
|
if (Array.isArray(params.underName.identifiers)) {
|
|
709
671
|
andConditions.push({
|
|
@@ -714,21 +676,18 @@ class ReservationRepo {
|
|
|
714
676
|
});
|
|
715
677
|
}
|
|
716
678
|
}
|
|
717
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
718
679
|
/* istanbul ignore else */
|
|
719
680
|
if (typeof params.attended === 'boolean') {
|
|
720
681
|
andConditions.push({
|
|
721
682
|
attended: params.attended
|
|
722
683
|
});
|
|
723
684
|
}
|
|
724
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
725
685
|
/* istanbul ignore else */
|
|
726
686
|
if (typeof params.checkedIn === 'boolean') {
|
|
727
687
|
andConditions.push({
|
|
728
688
|
checkedIn: params.checkedIn
|
|
729
689
|
});
|
|
730
690
|
}
|
|
731
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
732
691
|
/* istanbul ignore else */
|
|
733
692
|
if (params.additionalProperty !== undefined) {
|
|
734
693
|
if (Array.isArray(params.additionalProperty.$all)) {
|
|
@@ -763,7 +722,7 @@ class ReservationRepo {
|
|
|
763
722
|
});
|
|
764
723
|
}
|
|
765
724
|
}
|
|
766
|
-
const programMembershipUsedIdentifierEq =
|
|
725
|
+
const programMembershipUsedIdentifierEq = params.programMembershipUsed?.identifier?.$eq;
|
|
767
726
|
if (typeof programMembershipUsedIdentifierEq === 'string') {
|
|
768
727
|
andConditions.push({
|
|
769
728
|
'programMembershipUsed.identifier': {
|
|
@@ -772,7 +731,7 @@ class ReservationRepo {
|
|
|
772
731
|
}
|
|
773
732
|
});
|
|
774
733
|
}
|
|
775
|
-
const programMembershipUsedIssuedThroughServiceTypeCodeValueEq =
|
|
734
|
+
const programMembershipUsedIssuedThroughServiceTypeCodeValueEq = params.programMembershipUsed?.issuedThrough?.serviceType?.codeValue?.$eq;
|
|
776
735
|
if (typeof programMembershipUsedIssuedThroughServiceTypeCodeValueEq === 'string') {
|
|
777
736
|
andConditions.push({
|
|
778
737
|
'programMembershipUsed.issuedThrough.serviceType.codeValue': {
|
|
@@ -781,7 +740,7 @@ class ReservationRepo {
|
|
|
781
740
|
}
|
|
782
741
|
});
|
|
783
742
|
}
|
|
784
|
-
const appliesToMovieTicketIdentifierEq =
|
|
743
|
+
const appliesToMovieTicketIdentifierEq = params.price?.priceComponent?.appliesToMovieTicket?.identifier?.$eq;
|
|
785
744
|
if (typeof appliesToMovieTicketIdentifierEq === 'string') {
|
|
786
745
|
andConditions.push({
|
|
787
746
|
'price.priceComponent.appliesToMovieTicket.identifier': {
|
|
@@ -795,361 +754,373 @@ class ReservationRepo {
|
|
|
795
754
|
/**
|
|
796
755
|
* 汎用予約カウント
|
|
797
756
|
*/
|
|
798
|
-
count(params) {
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
.exec();
|
|
804
|
-
});
|
|
757
|
+
async count(params) {
|
|
758
|
+
const conditions = ReservationRepo.CREATE_MONGO_CONDITIONS(params);
|
|
759
|
+
return this.reservationModel.countDocuments((conditions.length > 0) ? { $and: conditions } : {})
|
|
760
|
+
.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
|
|
761
|
+
.exec();
|
|
805
762
|
}
|
|
806
763
|
/**
|
|
807
764
|
* 予約検索
|
|
808
765
|
* migrate from search(2024-08-08~)
|
|
809
766
|
*/
|
|
810
|
-
projectFields(params, inclusion) {
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
if (value === 1 && field !== '_id' && field !== 'id') {
|
|
823
|
-
projection[field] = 1;
|
|
824
|
-
}
|
|
767
|
+
async projectFields(params, inclusion) {
|
|
768
|
+
const conditions = ReservationRepo.CREATE_MONGO_CONDITIONS(params);
|
|
769
|
+
let projection = {};
|
|
770
|
+
if (inclusion !== undefined && inclusion !== null) {
|
|
771
|
+
projection = {
|
|
772
|
+
_id: 0, // hide _id(2024-08-08~)
|
|
773
|
+
id: { $toString: '$_id' }
|
|
774
|
+
};
|
|
775
|
+
for (const [field, value] of Object.entries(inclusion)) {
|
|
776
|
+
// 厳密に1を指定されたフィールドのみprojectionに追加
|
|
777
|
+
if (value === 1 && field !== '_id' && field !== 'id') {
|
|
778
|
+
projection[field] = 1;
|
|
825
779
|
}
|
|
826
780
|
}
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
}
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
});
|
|
781
|
+
}
|
|
782
|
+
else {
|
|
783
|
+
projection = {
|
|
784
|
+
_id: 0, // hide _id(2024-08-08~)
|
|
785
|
+
id: { $toString: '$_id' },
|
|
786
|
+
project: 1,
|
|
787
|
+
provider: 1,
|
|
788
|
+
typeOf: 1,
|
|
789
|
+
additionalTicketText: 1,
|
|
790
|
+
bookingTime: 1,
|
|
791
|
+
broker: 1,
|
|
792
|
+
modifiedTime: 1,
|
|
793
|
+
numSeats: 1,
|
|
794
|
+
previousReservationStatus: 1,
|
|
795
|
+
price: 1,
|
|
796
|
+
priceCurrency: 1,
|
|
797
|
+
programMembershipUsed: 1,
|
|
798
|
+
reservationFor: 1,
|
|
799
|
+
reservationNumber: 1,
|
|
800
|
+
reservationStatus: 1,
|
|
801
|
+
reservedTicket: 1,
|
|
802
|
+
subReservation: 1,
|
|
803
|
+
underName: 1,
|
|
804
|
+
checkedIn: 1,
|
|
805
|
+
attended: 1,
|
|
806
|
+
additionalProperty: 1,
|
|
807
|
+
issuedThrough: 1
|
|
808
|
+
};
|
|
809
|
+
}
|
|
810
|
+
const query = this.reservationModel.find((conditions.length > 0) ? { $and: conditions } : {}, projection);
|
|
811
|
+
if (typeof params.limit === 'number' && params.limit > 0) {
|
|
812
|
+
const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
|
|
813
|
+
query.limit(params.limit)
|
|
814
|
+
.skip(params.limit * (page - 1));
|
|
815
|
+
}
|
|
816
|
+
/* istanbul ignore else */
|
|
817
|
+
if (params.sort?.bookingTime !== undefined) {
|
|
818
|
+
query.sort({ bookingTime: params.sort.bookingTime });
|
|
819
|
+
}
|
|
820
|
+
return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
|
|
821
|
+
.lean()
|
|
822
|
+
.exec();
|
|
870
823
|
}
|
|
871
|
-
projectFieldsById(params) {
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
return doc;
|
|
896
|
-
});
|
|
824
|
+
async projectFieldsById(params) {
|
|
825
|
+
let projection = {};
|
|
826
|
+
if (Array.isArray(params.inclusion) && params.inclusion.length > 0) {
|
|
827
|
+
projection = {
|
|
828
|
+
_id: 0, // hide _id(2024-08-08~)
|
|
829
|
+
id: { $toString: '$_id' }
|
|
830
|
+
};
|
|
831
|
+
params.inclusion.forEach((field) => {
|
|
832
|
+
if (String(field) !== '_id' && field !== 'id') {
|
|
833
|
+
projection[field] = 1;
|
|
834
|
+
}
|
|
835
|
+
});
|
|
836
|
+
}
|
|
837
|
+
else {
|
|
838
|
+
// discontinue(2024-08-08~)
|
|
839
|
+
throw new factory.errors.ArgumentNull('inclusion', 'inclusion must be specified');
|
|
840
|
+
}
|
|
841
|
+
const doc = await this.reservationModel.findById(params.id, projection)
|
|
842
|
+
.lean() // 2024-08-08~
|
|
843
|
+
.exec();
|
|
844
|
+
if (doc === null) {
|
|
845
|
+
throw new factory.errors.NotFound(this.reservationModel.modelName);
|
|
846
|
+
}
|
|
847
|
+
return doc;
|
|
897
848
|
}
|
|
898
|
-
confirmManyIfNotExist(params) {
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
849
|
+
async confirmManyIfNotExist(params) {
|
|
850
|
+
const modifiedTime = new Date();
|
|
851
|
+
const bulkWriteOps = [];
|
|
852
|
+
if (Array.isArray(params.subReservation)) {
|
|
853
|
+
params.subReservation.forEach((subReservation) => {
|
|
854
|
+
let setOnInsert;
|
|
855
|
+
switch (subReservation.typeOf) {
|
|
856
|
+
case factory.reservationType.BusReservation:
|
|
857
|
+
setOnInsert = {
|
|
858
|
+
...subReservation,
|
|
859
|
+
_id: subReservation.id,
|
|
860
|
+
bookingTime: params.bookingTime,
|
|
861
|
+
checkedIn: false,
|
|
862
|
+
attended: false,
|
|
863
|
+
issuedThrough: params.issuedThrough,
|
|
864
|
+
project: { id: params.project.id, typeOf: factory.organizationType.Project },
|
|
865
|
+
reservationFor: params.reservationFor,
|
|
866
|
+
reservationNumber: params.reservationNumber,
|
|
867
|
+
reservationStatus: factory.reservationStatusType.ReservationConfirmed,
|
|
868
|
+
modifiedTime,
|
|
869
|
+
// providerを追加(2023-07-19~)
|
|
870
|
+
provider: params.provider,
|
|
871
|
+
...(params.underName !== undefined) ? { underName: params.underName } : undefined,
|
|
872
|
+
...(typeof params.broker?.typeOf === 'string') ? { broker: params.broker } : undefined
|
|
873
|
+
};
|
|
874
|
+
break;
|
|
875
|
+
case factory.reservationType.EventReservation:
|
|
876
|
+
setOnInsert = {
|
|
877
|
+
...subReservation,
|
|
878
|
+
_id: subReservation.id,
|
|
879
|
+
bookingTime: params.bookingTime,
|
|
880
|
+
checkedIn: false,
|
|
881
|
+
attended: false,
|
|
882
|
+
issuedThrough: params.issuedThrough,
|
|
883
|
+
project: { id: params.project.id, typeOf: factory.organizationType.Project },
|
|
884
|
+
reservationFor: params.reservationFor,
|
|
885
|
+
reservationNumber: params.reservationNumber,
|
|
886
|
+
reservationStatus: factory.reservationStatusType.ReservationConfirmed,
|
|
887
|
+
modifiedTime,
|
|
888
|
+
// providerを追加(2023-07-19~)
|
|
889
|
+
provider: params.provider,
|
|
890
|
+
...(params.underName !== undefined) ? { underName: params.underName } : undefined,
|
|
891
|
+
...(typeof params.broker?.typeOf === 'string') ? { broker: params.broker } : undefined
|
|
892
|
+
};
|
|
893
|
+
break;
|
|
894
|
+
default:
|
|
895
|
+
throw new factory.errors.NotImplemented(`${subReservation.typeOf} not implemented`);
|
|
896
|
+
}
|
|
897
|
+
bulkWriteOps.push({
|
|
898
|
+
updateOne: {
|
|
899
|
+
filter: { _id: { $eq: subReservation.id } },
|
|
900
|
+
update: {
|
|
901
|
+
$setOnInsert: setOnInsert
|
|
902
|
+
},
|
|
903
|
+
upsert: true
|
|
919
904
|
}
|
|
920
|
-
bulkWriteOps.push({
|
|
921
|
-
updateOne: {
|
|
922
|
-
filter: { _id: { $eq: subReservation.id } },
|
|
923
|
-
update: {
|
|
924
|
-
$setOnInsert: setOnInsert
|
|
925
|
-
},
|
|
926
|
-
upsert: true
|
|
927
|
-
}
|
|
928
|
-
});
|
|
929
905
|
});
|
|
930
|
-
}
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
}
|
|
934
|
-
}
|
|
906
|
+
});
|
|
907
|
+
}
|
|
908
|
+
if (bulkWriteOps.length > 0) {
|
|
909
|
+
return this.reservationModel.bulkWrite(bulkWriteOps, { ordered: false });
|
|
910
|
+
}
|
|
935
911
|
}
|
|
936
912
|
/**
|
|
937
913
|
* 予約取消
|
|
938
914
|
*/
|
|
939
|
-
cancelById(params) {
|
|
940
|
-
|
|
941
|
-
|
|
915
|
+
async cancelById(params) {
|
|
916
|
+
const conditions = {
|
|
917
|
+
_id: { $eq: String(params.id) },
|
|
918
|
+
// 変更前ステータスの指定があれば条件に追加
|
|
919
|
+
...(typeof params.previousReservationStatus === 'string')
|
|
942
920
|
? { reservationStatus: { $eq: params.previousReservationStatus } }
|
|
943
|
-
: undefined
|
|
944
|
-
|
|
945
|
-
|
|
921
|
+
: undefined
|
|
922
|
+
};
|
|
923
|
+
const update = {
|
|
924
|
+
$set: {
|
|
925
|
+
reservationStatus: factory.reservationStatusType.ReservationCancelled,
|
|
926
|
+
modifiedTime: params.modifiedTime,
|
|
927
|
+
...(typeof params.previousReservationStatus === 'string')
|
|
946
928
|
? { previousReservationStatus: params.previousReservationStatus }
|
|
947
|
-
: undefined
|
|
948
|
-
};
|
|
949
|
-
const doc = yield this.reservationModel.findOneAndUpdate(conditions, update, { new: true, projection: { _id: 1 } })
|
|
950
|
-
.lean() // 2024-08-07~
|
|
951
|
-
// .select({ __v: 0, createdAt: 0, updatedAt: 0 })
|
|
952
|
-
.exec();
|
|
953
|
-
// NotFoundであれば状態確認
|
|
954
|
-
if (doc === null) {
|
|
955
|
-
const { reservationStatus } = yield this.projectFieldsById({ id: String(params.id), inclusion: ['reservationStatus'] });
|
|
956
|
-
if (reservationStatus === factory.reservationStatusType.ReservationCancelled) {
|
|
957
|
-
// すでに取消済の場合
|
|
958
|
-
return;
|
|
959
|
-
// return reservation;
|
|
960
|
-
}
|
|
961
|
-
else {
|
|
962
|
-
throw new factory.errors.Argument('id', `Reservation ${params.id} already changed -> ${reservationStatus}`);
|
|
963
|
-
}
|
|
929
|
+
: undefined
|
|
964
930
|
}
|
|
965
|
-
}
|
|
931
|
+
};
|
|
932
|
+
const doc = await this.reservationModel.findOneAndUpdate(conditions, update, { new: true, projection: { _id: 1 } })
|
|
933
|
+
.lean() // 2024-08-07~
|
|
934
|
+
// .select({ __v: 0, createdAt: 0, updatedAt: 0 })
|
|
935
|
+
.exec();
|
|
936
|
+
// NotFoundであれば状態確認
|
|
937
|
+
if (doc === null) {
|
|
938
|
+
const { reservationStatus } = await this.projectFieldsById({ id: String(params.id), inclusion: ['reservationStatus'] });
|
|
939
|
+
if (reservationStatus === factory.reservationStatusType.ReservationCancelled) {
|
|
940
|
+
// すでに取消済の場合
|
|
941
|
+
return;
|
|
942
|
+
// return reservation;
|
|
943
|
+
}
|
|
944
|
+
else {
|
|
945
|
+
throw new factory.errors.Argument('id', `Reservation ${params.id} already changed -> ${reservationStatus}`);
|
|
946
|
+
}
|
|
947
|
+
}
|
|
966
948
|
}
|
|
967
949
|
/**
|
|
968
950
|
* 予約取消
|
|
969
951
|
*/
|
|
970
|
-
cancelByReservationNumber(params) {
|
|
971
|
-
|
|
972
|
-
|
|
952
|
+
async cancelByReservationNumber(params) {
|
|
953
|
+
const conditions = {
|
|
954
|
+
reservationNumber: { $eq: String(params.reservationNumber) },
|
|
955
|
+
// 変更前ステータスの指定があれば条件に追加
|
|
956
|
+
...(typeof params.previousReservationStatus === 'string')
|
|
973
957
|
? { reservationStatus: { $eq: params.previousReservationStatus } }
|
|
974
|
-
: undefined
|
|
975
|
-
|
|
976
|
-
|
|
958
|
+
: undefined
|
|
959
|
+
};
|
|
960
|
+
const update = {
|
|
961
|
+
$set: {
|
|
962
|
+
reservationStatus: factory.reservationStatusType.ReservationCancelled,
|
|
963
|
+
modifiedTime: params.modifiedTime,
|
|
964
|
+
...(typeof params.previousReservationStatus === 'string')
|
|
977
965
|
? { previousReservationStatus: params.previousReservationStatus }
|
|
978
|
-
: undefined
|
|
979
|
-
}
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
966
|
+
: undefined
|
|
967
|
+
}
|
|
968
|
+
};
|
|
969
|
+
return this.reservationModel.updateMany(conditions, update)
|
|
970
|
+
.exec();
|
|
983
971
|
}
|
|
984
972
|
/**
|
|
985
973
|
* 発券する
|
|
986
974
|
*/
|
|
987
|
-
checkInIfNot(params) {
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
975
|
+
async checkInIfNot(params) {
|
|
976
|
+
const { now } = params;
|
|
977
|
+
if (!(now instanceof Date)) {
|
|
978
|
+
throw new factory.errors.Argument('now', 'must be Date');
|
|
979
|
+
}
|
|
980
|
+
const conditions = [];
|
|
981
|
+
if (typeof params.id === 'string') {
|
|
982
|
+
if (params.id.length > 0) {
|
|
983
|
+
conditions.push({ _id: { $eq: params.id } });
|
|
993
984
|
}
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
}
|
|
985
|
+
}
|
|
986
|
+
else {
|
|
987
|
+
const idIn = params.id?.$in;
|
|
988
|
+
if (Array.isArray(idIn)) {
|
|
989
|
+
conditions.push({ _id: { $in: idIn } });
|
|
999
990
|
}
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
}
|
|
991
|
+
}
|
|
992
|
+
if (typeof params.reservationNumber === 'string') {
|
|
993
|
+
if (params.reservationNumber.length > 0) {
|
|
994
|
+
conditions.push({ reservationNumber: { $eq: params.reservationNumber } });
|
|
1005
995
|
}
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
996
|
+
}
|
|
997
|
+
else {
|
|
998
|
+
const reservationNumberIn = params.reservationNumber?.$in;
|
|
999
|
+
if (Array.isArray(reservationNumberIn)) {
|
|
1000
|
+
conditions.push({ reservationNumber: { $in: reservationNumberIn } });
|
|
1010
1001
|
}
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1002
|
+
}
|
|
1003
|
+
// 無条件で実行されないように
|
|
1004
|
+
if (conditions.length > 0) {
|
|
1005
|
+
// false->trueのみ(2023-01-31~)
|
|
1006
|
+
conditions.push({ checkedIn: { $eq: false } });
|
|
1007
|
+
return this.reservationModel.updateMany({ $and: conditions }, {
|
|
1008
|
+
$set: {
|
|
1009
|
+
checkedIn: true,
|
|
1010
|
+
modifiedTime: now,
|
|
1011
|
+
'reservedTicket.dateIssued': now // set reservedTicket.dateIssued(2024-12-03~)
|
|
1015
1012
|
}
|
|
1016
|
-
}
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
$set: {
|
|
1023
|
-
checkedIn: true,
|
|
1024
|
-
modifiedTime: now,
|
|
1025
|
-
'reservedTicket.dateIssued': now // set reservedTicket.dateIssued(2024-12-03~)
|
|
1026
|
-
}
|
|
1027
|
-
})
|
|
1028
|
-
.exec();
|
|
1029
|
-
}
|
|
1030
|
-
else {
|
|
1031
|
-
return;
|
|
1032
|
-
}
|
|
1033
|
-
});
|
|
1013
|
+
})
|
|
1014
|
+
.exec();
|
|
1015
|
+
}
|
|
1016
|
+
else {
|
|
1017
|
+
return;
|
|
1018
|
+
}
|
|
1034
1019
|
}
|
|
1035
1020
|
/**
|
|
1036
1021
|
* 入場する
|
|
1037
1022
|
*/
|
|
1038
|
-
attendIfNotAttended(params) {
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
'reservedTicket.dateUsed': params.now
|
|
1048
|
-
}
|
|
1049
|
-
}, {
|
|
1050
|
-
new: true,
|
|
1051
|
-
projection: {
|
|
1052
|
-
_id: 0,
|
|
1053
|
-
id: { $toString: '$_id' },
|
|
1054
|
-
typeOf: 1,
|
|
1055
|
-
project: 1,
|
|
1056
|
-
modifiedTime: 1,
|
|
1057
|
-
'reservedTicket.dateUsed': 1,
|
|
1058
|
-
'reservationFor.id': 1,
|
|
1059
|
-
'reservationFor.typeOf': 1
|
|
1060
|
-
}
|
|
1061
|
-
})
|
|
1062
|
-
.lean() // 2024-08-08~
|
|
1063
|
-
// .select({ __v: 0, createdAt: 0, updatedAt: 0 })
|
|
1064
|
-
.exec();
|
|
1065
|
-
if (doc === null) {
|
|
1066
|
-
return this.projectFieldsById({
|
|
1067
|
-
id: params.id,
|
|
1068
|
-
inclusion: [
|
|
1069
|
-
'typeOf', 'project', 'modifiedTime', 'reservedTicket.dateUsed', 'reservationFor.id', 'reservationFor.typeOf'
|
|
1070
|
-
] // inclusion(2024-08-08~)
|
|
1071
|
-
});
|
|
1072
|
-
// throw new factory.errors.NotFound(this.reservationModel.modelName);
|
|
1023
|
+
async attendIfNotAttended(params) {
|
|
1024
|
+
const doc = await this.reservationModel.findOneAndUpdate({
|
|
1025
|
+
_id: { $eq: params.id },
|
|
1026
|
+
attended: { $eq: false }
|
|
1027
|
+
}, {
|
|
1028
|
+
$set: {
|
|
1029
|
+
attended: true,
|
|
1030
|
+
modifiedTime: params.now,
|
|
1031
|
+
'reservedTicket.dateUsed': params.now
|
|
1073
1032
|
}
|
|
1074
|
-
|
|
1075
|
-
|
|
1033
|
+
}, {
|
|
1034
|
+
new: true,
|
|
1035
|
+
projection: {
|
|
1036
|
+
_id: 0,
|
|
1037
|
+
id: { $toString: '$_id' },
|
|
1038
|
+
typeOf: 1,
|
|
1039
|
+
project: 1,
|
|
1040
|
+
modifiedTime: 1,
|
|
1041
|
+
'reservedTicket.dateUsed': 1,
|
|
1042
|
+
'reservationFor.id': 1,
|
|
1043
|
+
'reservationFor.typeOf': 1
|
|
1044
|
+
}
|
|
1045
|
+
})
|
|
1046
|
+
.lean() // 2024-08-08~
|
|
1047
|
+
// .select({ __v: 0, createdAt: 0, updatedAt: 0 })
|
|
1048
|
+
.exec();
|
|
1049
|
+
if (doc === null) {
|
|
1050
|
+
return this.projectFieldsById({
|
|
1051
|
+
id: params.id,
|
|
1052
|
+
inclusion: [
|
|
1053
|
+
'typeOf', 'project', 'modifiedTime', 'reservedTicket.dateUsed', 'reservationFor.id', 'reservationFor.typeOf'
|
|
1054
|
+
] // inclusion(2024-08-08~)
|
|
1055
|
+
});
|
|
1056
|
+
// throw new factory.errors.NotFound(this.reservationModel.modelName);
|
|
1057
|
+
}
|
|
1058
|
+
return doc;
|
|
1076
1059
|
}
|
|
1077
1060
|
/**
|
|
1078
1061
|
* 予約部分更新
|
|
1079
1062
|
*/
|
|
1080
|
-
updatePartiallyById(params) {
|
|
1081
|
-
return
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
}
|
|
1089
|
-
});
|
|
1063
|
+
async updatePartiallyById(params) {
|
|
1064
|
+
return this.reservationModel.findOneAndUpdate({ _id: { $eq: params.id } }, params.update, { new: true })
|
|
1065
|
+
.select({ _id: 1 })
|
|
1066
|
+
.exec()
|
|
1067
|
+
.then((doc) => {
|
|
1068
|
+
if (doc === null) {
|
|
1069
|
+
throw new factory.errors.ArgumentNull(this.reservationModel.modelName);
|
|
1070
|
+
}
|
|
1090
1071
|
});
|
|
1091
1072
|
}
|
|
1092
|
-
deleteByIds(params) {
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
.exec();
|
|
1099
|
-
});
|
|
1073
|
+
async deleteByIds(params) {
|
|
1074
|
+
await this.reservationModel.deleteMany({
|
|
1075
|
+
'project.id': { $eq: params.project.id },
|
|
1076
|
+
_id: { $in: params.ids }
|
|
1077
|
+
})
|
|
1078
|
+
.exec();
|
|
1100
1079
|
}
|
|
1101
|
-
deleteByReservationNumbers(params) {
|
|
1102
|
-
return
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
};
|
|
1116
|
-
});
|
|
1080
|
+
async deleteByReservationNumbers(params) {
|
|
1081
|
+
return this.reservationModel.deleteMany({
|
|
1082
|
+
'project.id': { $eq: params.project.id },
|
|
1083
|
+
reservationNumber: { $in: params.reservationNumbers }
|
|
1084
|
+
})
|
|
1085
|
+
.exec()
|
|
1086
|
+
.then((result) => {
|
|
1087
|
+
return {
|
|
1088
|
+
// n: result?.n,
|
|
1089
|
+
// opTime: result.opTime,
|
|
1090
|
+
// ok: result?.ok,
|
|
1091
|
+
// operationTime,
|
|
1092
|
+
deletedCount: result?.deletedCount
|
|
1093
|
+
};
|
|
1117
1094
|
});
|
|
1118
1095
|
}
|
|
1119
|
-
deleteByProject(params) {
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
.exec();
|
|
1125
|
-
});
|
|
1096
|
+
async deleteByProject(params) {
|
|
1097
|
+
await this.reservationModel.deleteMany({
|
|
1098
|
+
'project.id': { $eq: params.project.id }
|
|
1099
|
+
})
|
|
1100
|
+
.exec();
|
|
1126
1101
|
}
|
|
1127
|
-
searchIdsByReservationNumber(params) {
|
|
1128
|
-
return
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
.then((docs) => docs.map(({ id }) => id));
|
|
1141
|
-
});
|
|
1102
|
+
async searchIdsByReservationNumber(params) {
|
|
1103
|
+
return this.reservationModel.find({
|
|
1104
|
+
reservationNumber: {
|
|
1105
|
+
$in: params.reservationNumber.$in
|
|
1106
|
+
}
|
|
1107
|
+
}, {
|
|
1108
|
+
_id: 0,
|
|
1109
|
+
id: { $toString: '$_id' }
|
|
1110
|
+
})
|
|
1111
|
+
.lean()
|
|
1112
|
+
.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
|
|
1113
|
+
.exec()
|
|
1114
|
+
.then((docs) => docs.map(({ id }) => id));
|
|
1142
1115
|
}
|
|
1143
1116
|
getCursor(conditions, projection) {
|
|
1144
1117
|
return this.reservationModel.find(conditions, projection)
|
|
1145
1118
|
.sort({ bookingTime: factory.sortType.Descending })
|
|
1146
1119
|
.cursor();
|
|
1147
1120
|
}
|
|
1148
|
-
unsetUnnecessaryFields(params) {
|
|
1149
|
-
return
|
|
1150
|
-
|
|
1151
|
-
.exec();
|
|
1152
|
-
});
|
|
1121
|
+
async unsetUnnecessaryFields(params) {
|
|
1122
|
+
return this.reservationModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
|
|
1123
|
+
.exec();
|
|
1153
1124
|
}
|
|
1154
1125
|
}
|
|
1155
1126
|
exports.ReservationRepo = ReservationRepo;
|