@chevre/domain 23.2.0-alpha.61 → 23.2.0-alpha.62

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (476) hide show
  1. package/lib/chevre/credentials/customSearch.js +2 -0
  2. package/lib/chevre/credentials/lineNotify.js +4 -0
  3. package/lib/chevre/credentials/sendGrid.js +2 -0
  4. package/lib/chevre/credentials.js +15 -30
  5. package/lib/chevre/emailMessageBuilder.js +225 -250
  6. package/lib/chevre/errorHandler.js +38 -54
  7. package/lib/chevre/factory/event.js +69 -42
  8. package/lib/chevre/factory/transactionNumber.js +2 -0
  9. package/lib/chevre/index.js +15 -30
  10. package/lib/chevre/repo/acceptedOffer.js +178 -197
  11. package/lib/chevre/repo/acceptedPaymentMethod.js +131 -143
  12. package/lib/chevre/repo/account.js +196 -223
  13. package/lib/chevre/repo/accountTitle.js +9 -21
  14. package/lib/chevre/repo/accountTransaction.js +189 -189
  15. package/lib/chevre/repo/accountingReport.js +88 -107
  16. package/lib/chevre/repo/action.js +853 -880
  17. package/lib/chevre/repo/additionalProperty.js +65 -91
  18. package/lib/chevre/repo/advanceBookingRequirement.js +69 -90
  19. package/lib/chevre/repo/aggregateOffer.js +394 -427
  20. package/lib/chevre/repo/aggregateOrder.js +50 -62
  21. package/lib/chevre/repo/aggregateReservation.js +76 -89
  22. package/lib/chevre/repo/aggregation.js +42 -63
  23. package/lib/chevre/repo/assetTransaction.js +696 -716
  24. package/lib/chevre/repo/authorization.js +115 -127
  25. package/lib/chevre/repo/categoryCode.js +115 -143
  26. package/lib/chevre/repo/comment.js +74 -82
  27. package/lib/chevre/repo/concurrentLock.js +17 -29
  28. package/lib/chevre/repo/confirmationNumber.js +20 -32
  29. package/lib/chevre/repo/creativeWork.js +154 -176
  30. package/lib/chevre/repo/credentials.js +40 -51
  31. package/lib/chevre/repo/customer.js +65 -88
  32. package/lib/chevre/repo/customerType.js +52 -61
  33. package/lib/chevre/repo/emailMessage.js +52 -80
  34. package/lib/chevre/repo/event.js +646 -669
  35. package/lib/chevre/repo/eventOffer.js +122 -125
  36. package/lib/chevre/repo/eventSellerMakesOffer.js +64 -76
  37. package/lib/chevre/repo/eventSeries.js +208 -231
  38. package/lib/chevre/repo/identity.js +94 -106
  39. package/lib/chevre/repo/identityProvider.js +72 -95
  40. package/lib/chevre/repo/issuer.js +102 -135
  41. package/lib/chevre/repo/member.js +238 -258
  42. package/lib/chevre/repo/memberProgram.js +157 -177
  43. package/lib/chevre/repo/merchantReturnPolicy.js +62 -93
  44. package/lib/chevre/repo/message.js +122 -135
  45. package/lib/chevre/repo/mongoose/schemas/acceptedPaymentMethod.js +1 -1
  46. package/lib/chevre/repo/mongoose/schemas/account.js +1 -1
  47. package/lib/chevre/repo/mongoose/schemas/accountTitle.js +1 -1
  48. package/lib/chevre/repo/mongoose/schemas/accountTransaction.js +1 -1
  49. package/lib/chevre/repo/mongoose/schemas/accountingReport.js +1 -1
  50. package/lib/chevre/repo/mongoose/schemas/action.js +1 -1
  51. package/lib/chevre/repo/mongoose/schemas/actionRecipe.js +1 -1
  52. package/lib/chevre/repo/mongoose/schemas/additionalProperty.js +1 -1
  53. package/lib/chevre/repo/mongoose/schemas/advanceBookingRequirement.js +1 -1
  54. package/lib/chevre/repo/mongoose/schemas/aggregateOffer.js +1 -1
  55. package/lib/chevre/repo/mongoose/schemas/aggregateOrder.js +1 -1
  56. package/lib/chevre/repo/mongoose/schemas/aggregateReservation.js +1 -1
  57. package/lib/chevre/repo/mongoose/schemas/aggregation.js +1 -1
  58. package/lib/chevre/repo/mongoose/schemas/assetTransaction.js +1 -1
  59. package/lib/chevre/repo/mongoose/schemas/authorization.js +1 -1
  60. package/lib/chevre/repo/mongoose/schemas/categoryCode.js +1 -1
  61. package/lib/chevre/repo/mongoose/schemas/civicStructure.js +1 -1
  62. package/lib/chevre/repo/mongoose/schemas/creativeWork.js +1 -1
  63. package/lib/chevre/repo/mongoose/schemas/customer.js +1 -1
  64. package/lib/chevre/repo/mongoose/schemas/customerType.js +1 -1
  65. package/lib/chevre/repo/mongoose/schemas/event.js +1 -1
  66. package/lib/chevre/repo/mongoose/schemas/eventOffer.js +1 -1
  67. package/lib/chevre/repo/mongoose/schemas/eventSeries.js +1 -1
  68. package/lib/chevre/repo/mongoose/schemas/identity.js +1 -1
  69. package/lib/chevre/repo/mongoose/schemas/identityProvider.js +1 -1
  70. package/lib/chevre/repo/mongoose/schemas/issuer.js +1 -1
  71. package/lib/chevre/repo/mongoose/schemas/member/global.js +1 -1
  72. package/lib/chevre/repo/mongoose/schemas/member.js +1 -1
  73. package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.js +1 -1
  74. package/lib/chevre/repo/mongoose/schemas/message.js +1 -1
  75. package/lib/chevre/repo/mongoose/schemas/movieTicketTypes.js +1 -1
  76. package/lib/chevre/repo/mongoose/schemas/note.js +1 -1
  77. package/lib/chevre/repo/mongoose/schemas/offerCatalog.js +1 -1
  78. package/lib/chevre/repo/mongoose/schemas/offerCatalogItem.js +1 -1
  79. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.js +1 -1
  80. package/lib/chevre/repo/mongoose/schemas/order.js +1 -1
  81. package/lib/chevre/repo/mongoose/schemas/paymentService.js +1 -1
  82. package/lib/chevre/repo/mongoose/schemas/paymentServiceChannel.js +1 -1
  83. package/lib/chevre/repo/mongoose/schemas/pendingReservation.js +1 -1
  84. package/lib/chevre/repo/mongoose/schemas/pendingReservationAggregate.js +1 -1
  85. package/lib/chevre/repo/mongoose/schemas/place.js +1 -1
  86. package/lib/chevre/repo/mongoose/schemas/potentialAction.js +1 -1
  87. package/lib/chevre/repo/mongoose/schemas/product.js +1 -1
  88. package/lib/chevre/repo/mongoose/schemas/productModel.js +1 -1
  89. package/lib/chevre/repo/mongoose/schemas/productOffer.js +1 -1
  90. package/lib/chevre/repo/mongoose/schemas/reservation.js +1 -1
  91. package/lib/chevre/repo/mongoose/schemas/reserveInterface.js +1 -1
  92. package/lib/chevre/repo/mongoose/schemas/role.js +1 -1
  93. package/lib/chevre/repo/mongoose/schemas/schedule.js +1 -1
  94. package/lib/chevre/repo/mongoose/schemas/seller.js +1 -1
  95. package/lib/chevre/repo/mongoose/schemas/sellerReturnPolicy.js +1 -1
  96. package/lib/chevre/repo/mongoose/schemas/service/availableHour.js +1 -1
  97. package/lib/chevre/repo/mongoose/schemas/setting.js +1 -1
  98. package/lib/chevre/repo/mongoose/schemas/task.js +1 -1
  99. package/lib/chevre/repo/mongoose/schemas/ticket.js +1 -1
  100. package/lib/chevre/repo/mongoose/schemas/transaction.js +1 -1
  101. package/lib/chevre/repo/mongoose/schemas/transactionNumber.js +1 -1
  102. package/lib/chevre/repo/mongoose/schemas/trip.js +1 -1
  103. package/lib/chevre/repo/mongoose/schemas/webSite.js +1 -1
  104. package/lib/chevre/repo/movieTicketType.js +68 -89
  105. package/lib/chevre/repo/note.js +143 -146
  106. package/lib/chevre/repo/noteAboutOrder.js +112 -113
  107. package/lib/chevre/repo/offer/unitPriceInCatalog.js +331 -313
  108. package/lib/chevre/repo/offerCatalog.js +302 -333
  109. package/lib/chevre/repo/offerCatalogItem.js +289 -316
  110. package/lib/chevre/repo/offerItemCondition.js +60 -85
  111. package/lib/chevre/repo/order.js +563 -572
  112. package/lib/chevre/repo/orderInTransaction.js +113 -136
  113. package/lib/chevre/repo/orderNumber.js +99 -112
  114. package/lib/chevre/repo/ownershipInfo.js +213 -233
  115. package/lib/chevre/repo/passport.js +94 -102
  116. package/lib/chevre/repo/paymentMethod/creditCard.js +153 -169
  117. package/lib/chevre/repo/paymentService.js +180 -199
  118. package/lib/chevre/repo/paymentServiceChannel.js +76 -99
  119. package/lib/chevre/repo/paymentServiceProvider.js +186 -201
  120. package/lib/chevre/repo/pendingReservation.js +275 -305
  121. package/lib/chevre/repo/permit.js +47 -42
  122. package/lib/chevre/repo/person.js +227 -247
  123. package/lib/chevre/repo/place/busStop.js +77 -103
  124. package/lib/chevre/repo/place/entranceGate.js +123 -128
  125. package/lib/chevre/repo/place/hasPOS.js +108 -120
  126. package/lib/chevre/repo/place/movieTheater.js +187 -219
  127. package/lib/chevre/repo/place/screeningRoom.js +340 -324
  128. package/lib/chevre/repo/place/seat.js +539 -475
  129. package/lib/chevre/repo/place/section.js +329 -292
  130. package/lib/chevre/repo/potentialAction.js +67 -86
  131. package/lib/chevre/repo/priceSpecification.js +103 -141
  132. package/lib/chevre/repo/product.js +204 -238
  133. package/lib/chevre/repo/productHasOfferCatalog.js +39 -50
  134. package/lib/chevre/repo/productModel.js +94 -126
  135. package/lib/chevre/repo/productOffer.js +119 -118
  136. package/lib/chevre/repo/project.js +123 -141
  137. package/lib/chevre/repo/projectMakesOffer.js +96 -108
  138. package/lib/chevre/repo/rateLimit/offer.js +43 -56
  139. package/lib/chevre/repo/reservation.js +370 -345
  140. package/lib/chevre/repo/reserveInterface.js +31 -42
  141. package/lib/chevre/repo/role.js +94 -112
  142. package/lib/chevre/repo/schedule.js +25 -36
  143. package/lib/chevre/repo/seller.js +115 -145
  144. package/lib/chevre/repo/sellerMakesOffer.js +95 -110
  145. package/lib/chevre/repo/sellerPaymentAccepted.js +92 -109
  146. package/lib/chevre/repo/sellerReturnPolicy.js +74 -96
  147. package/lib/chevre/repo/service/availableHour.js +27 -38
  148. package/lib/chevre/repo/serviceOutput.js +55 -66
  149. package/lib/chevre/repo/serviceOutputIdentifier.js +46 -57
  150. package/lib/chevre/repo/setting/jwt.js +40 -50
  151. package/lib/chevre/repo/setting.js +48 -48
  152. package/lib/chevre/repo/stockHolder.js +179 -197
  153. package/lib/chevre/repo/task.js +615 -617
  154. package/lib/chevre/repo/telemetry.js +1 -0
  155. package/lib/chevre/repo/ticket.js +52 -65
  156. package/lib/chevre/repo/transaction.js +758 -795
  157. package/lib/chevre/repo/transactionNumber.js +67 -80
  158. package/lib/chevre/repo/transactionNumberCounter.js +69 -79
  159. package/lib/chevre/repo/transactionProcess.js +36 -47
  160. package/lib/chevre/repo/trip.js +145 -163
  161. package/lib/chevre/repo/webSite.js +90 -105
  162. package/lib/chevre/repository.js +455 -646
  163. package/lib/chevre/service/account.js +9 -18
  164. package/lib/chevre/service/accountTransaction/deposit.js +16 -17
  165. package/lib/chevre/service/accountTransaction/transfer.js +18 -19
  166. package/lib/chevre/service/accountTransaction/withdraw.js +16 -17
  167. package/lib/chevre/service/accountTransaction.js +4 -13
  168. package/lib/chevre/service/aggregation/event/aggregateOffers.js +63 -60
  169. package/lib/chevre/service/aggregation/event/aggregateScreeningEvent.js +52 -55
  170. package/lib/chevre/service/aggregation/event/findEventOffers.js +7 -17
  171. package/lib/chevre/service/aggregation/event/importFromCOA.js +4 -13
  172. package/lib/chevre/service/aggregation/project.js +10 -19
  173. package/lib/chevre/service/aggregation/system.js +182 -99
  174. package/lib/chevre/service/assetTransaction/cancelReservation/factory.js +31 -17
  175. package/lib/chevre/service/assetTransaction/cancelReservation/start.js +17 -23
  176. package/lib/chevre/service/assetTransaction/cancelReservation/startAndConfirm.js +17 -15
  177. package/lib/chevre/service/assetTransaction/cancelReservation.js +7 -16
  178. package/lib/chevre/service/assetTransaction/cancelReservationCOA/factory.js +11 -4
  179. package/lib/chevre/service/assetTransaction/cancelReservationCOA.js +4 -13
  180. package/lib/chevre/service/assetTransaction/fixInformAction.js +6 -16
  181. package/lib/chevre/service/assetTransaction/moneyTransfer/potentialActions.js +13 -25
  182. package/lib/chevre/service/assetTransaction/moneyTransfer.js +101 -88
  183. package/lib/chevre/service/assetTransaction/pay/cancel.js +3 -12
  184. package/lib/chevre/service/assetTransaction/pay/check.js +4 -14
  185. package/lib/chevre/service/assetTransaction/pay/confirm.js +18 -21
  186. package/lib/chevre/service/assetTransaction/pay/exportTasksById.js +4 -13
  187. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.js +33 -32
  188. package/lib/chevre/service/assetTransaction/pay/searchGMOTrade.js +7 -17
  189. package/lib/chevre/service/assetTransaction/pay/start/account/validation.js +6 -16
  190. package/lib/chevre/service/assetTransaction/pay/start/factory.js +64 -36
  191. package/lib/chevre/service/assetTransaction/pay/start/preStart/validateAcceptedPaymentMethodIfNeeded.js +7 -17
  192. package/lib/chevre/service/assetTransaction/pay/start/preStart/validateSeller.js +6 -16
  193. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeAccount.js +7 -17
  194. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeCreditCard.js +9 -15
  195. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.js +3 -12
  196. package/lib/chevre/service/assetTransaction/pay/start.js +29 -35
  197. package/lib/chevre/service/assetTransaction/refund/factory.js +36 -16
  198. package/lib/chevre/service/assetTransaction/refund/potentialActions.js +12 -21
  199. package/lib/chevre/service/assetTransaction/refund.js +35 -39
  200. package/lib/chevre/service/assetTransaction/registerService/factory.js +65 -28
  201. package/lib/chevre/service/assetTransaction/registerService/potentialActions.js +50 -41
  202. package/lib/chevre/service/assetTransaction/registerService.js +45 -52
  203. package/lib/chevre/service/assetTransaction/reserve/cancel.js +5 -14
  204. package/lib/chevre/service/assetTransaction/reserve/confirm/factory.js +15 -3
  205. package/lib/chevre/service/assetTransaction/reserve/confirm.js +21 -26
  206. package/lib/chevre/service/assetTransaction/reserve/exportTasksById.js +3 -12
  207. package/lib/chevre/service/assetTransaction/reserve/start/createSubReservations.js +99 -79
  208. package/lib/chevre/service/assetTransaction/reserve/start/factory/createPointAward.js +17 -12
  209. package/lib/chevre/service/assetTransaction/reserve/start/factory/createReservation.js +108 -70
  210. package/lib/chevre/service/assetTransaction/reserve/start/factory/createStartParams.js +69 -30
  211. package/lib/chevre/service/assetTransaction/reserve/start/factory/price.js +29 -20
  212. package/lib/chevre/service/assetTransaction/reserve/start.js +91 -106
  213. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/fixExtendedEventOffer.js +5 -15
  214. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/validateIssuedOfferIfExists.js +41 -54
  215. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/validateMemberTierIfExists.js +42 -55
  216. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/verifyTicketTokenAsNeeded.js +7 -17
  217. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest.js +15 -27
  218. package/lib/chevre/service/assetTransaction/reserveCOA/cancel.js +24 -24
  219. package/lib/chevre/service/assetTransaction/reserveCOA/factory.js +12 -4
  220. package/lib/chevre/service/assetTransaction/reserveCOA.js +4 -13
  221. package/lib/chevre/service/assetTransaction.js +17 -21
  222. package/lib/chevre/service/delivery/factory.js +3 -4
  223. package/lib/chevre/service/delivery/product/factory.js +16 -7
  224. package/lib/chevre/service/delivery/reservation/factory.js +14 -3
  225. package/lib/chevre/service/delivery.js +47 -49
  226. package/lib/chevre/service/event/processUpdateMovieTheater.js +21 -23
  227. package/lib/chevre/service/event/saveScreeningEventSeries.js +56 -37
  228. package/lib/chevre/service/event/saveScreeningEvents.js +14 -23
  229. package/lib/chevre/service/event.js +34 -27
  230. package/lib/chevre/service/iam.js +8 -17
  231. package/lib/chevre/service/moneyTransfer.js +128 -112
  232. package/lib/chevre/service/notification/factory.js +11 -8
  233. package/lib/chevre/service/notification/notifyAbortedTasksByEmail.js +11 -15
  234. package/lib/chevre/service/notification/notifyByEmail.js +7 -17
  235. package/lib/chevre/service/notification/sendEmailMessage.js +23 -26
  236. package/lib/chevre/service/notification/triggerWebhook.js +58 -54
  237. package/lib/chevre/service/offer/any.js +6 -15
  238. package/lib/chevre/service/offer/event/authorize/factory.js +139 -61
  239. package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre/requestedProgramMembershipUsed2permit.js +8 -18
  240. package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre.js +43 -27
  241. package/lib/chevre/service/offer/event/authorize.js +114 -68
  242. package/lib/chevre/service/offer/event/checkAvailability.js +5 -15
  243. package/lib/chevre/service/offer/event/importFromCOA/factory.js +9 -2
  244. package/lib/chevre/service/offer/event/importFromCOA.js +13 -19
  245. package/lib/chevre/service/offer/event/issueEventOfferTicket.js +38 -39
  246. package/lib/chevre/service/offer/event/searchEventTicketOffers.js +26 -38
  247. package/lib/chevre/service/offer/event/searchOfferAppliesToMovieTicket.js +11 -22
  248. package/lib/chevre/service/offer/event/searchOfferCatalogItemAvailability.js +13 -24
  249. package/lib/chevre/service/offer/event/searchOfferCatalogItems.js +15 -22
  250. package/lib/chevre/service/offer/event/searchOffersByIds.js +24 -36
  251. package/lib/chevre/service/offer/event/searchPriceSpecs4event.js +5 -14
  252. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.js +4 -13
  253. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4coa.js +6 -15
  254. package/lib/chevre/service/offer/event/voidTransaction.js +35 -39
  255. package/lib/chevre/service/offer/event/voidTransactionByActionId.js +14 -20
  256. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer/authorize.js +52 -40
  257. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer/factory.js +5 -1
  258. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer.js +34 -37
  259. package/lib/chevre/service/offer/eventServiceByCOA/authorize/factory.js +45 -22
  260. package/lib/chevre/service/offer/eventServiceByCOA/authorize/validateAcceptedOffers.js +67 -59
  261. package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +16 -26
  262. package/lib/chevre/service/offer/eventServiceByCOA/authorizeByAcceptAction.js +8 -18
  263. package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.js +42 -41
  264. package/lib/chevre/service/offer/eventServiceByCOA/findAcceptAction.js +22 -25
  265. package/lib/chevre/service/offer/factory.js +18 -7
  266. package/lib/chevre/service/offer/moneyTransfer/authorize.js +31 -36
  267. package/lib/chevre/service/offer/moneyTransfer/returnMoneyTransfer.js +9 -18
  268. package/lib/chevre/service/offer/moneyTransfer/settleTransaction.js +10 -19
  269. package/lib/chevre/service/offer/moneyTransfer/voidTransaction.js +14 -24
  270. package/lib/chevre/service/offer/onEventChanged.js +69 -64
  271. package/lib/chevre/service/offer/product/factory.js +54 -29
  272. package/lib/chevre/service/offer/product/searchProductOffers.js +30 -23
  273. package/lib/chevre/service/offer/product.js +106 -80
  274. package/lib/chevre/service/offer.js +48 -44
  275. package/lib/chevre/service/order/confirmPayTransaction.js +28 -27
  276. package/lib/chevre/service/order/createAccountingReportIfNotExist.js +54 -41
  277. package/lib/chevre/service/order/deleteOrder.js +28 -35
  278. package/lib/chevre/service/order/findPlaceOrderTransaction.js +3 -12
  279. package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +64 -68
  280. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.js +1 -2
  281. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled.js +3 -12
  282. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered/factory.js +11 -6
  283. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.js +5 -14
  284. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.js +22 -9
  285. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.js +5 -14
  286. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.js +23 -26
  287. package/lib/chevre/service/order/onOrderStatusChanged/onOrderPaymentDue.js +13 -19
  288. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/createSendEmailMessageTaskIfNotExist.js +5 -14
  289. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.js +24 -13
  290. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/processOrder.js +23 -32
  291. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.js +8 -18
  292. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.js +10 -9
  293. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned.js +23 -28
  294. package/lib/chevre/service/order/onOrderUpdated/factory.js +3 -5
  295. package/lib/chevre/service/order/onOrderUpdated.js +13 -15
  296. package/lib/chevre/service/order/payOrder.js +3 -12
  297. package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.js +9 -19
  298. package/lib/chevre/service/order/placeOrder/factory/orderedItem.js +31 -15
  299. package/lib/chevre/service/order/placeOrder/factory.js +35 -22
  300. package/lib/chevre/service/order/placeOrder/voidAcceptedOfferIfNecessary.js +3 -12
  301. package/lib/chevre/service/order/placeOrder.js +12 -22
  302. package/lib/chevre/service/order/placeOrderWithoutTransaction.js +10 -18
  303. package/lib/chevre/service/order/returnOrder.js +27 -29
  304. package/lib/chevre/service/order/sendOrder.js +37 -36
  305. package/lib/chevre/service/payment/any/authorize/fixTransactionNumber.js +19 -25
  306. package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.js +24 -37
  307. package/lib/chevre/service/payment/any/factory.js +106 -49
  308. package/lib/chevre/service/payment/any/fixOrderAsNeeded.js +4 -13
  309. package/lib/chevre/service/payment/any/onPayActionCompleted.js +13 -18
  310. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onPaid.js +34 -37
  311. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onRefunded.js +18 -24
  312. package/lib/chevre/service/payment/any/onPaymentStatusChanged.js +16 -16
  313. package/lib/chevre/service/payment/any/onRefundActionCompletedOrFailed.js +15 -20
  314. package/lib/chevre/service/payment/any/person2username.js +33 -45
  315. package/lib/chevre/service/payment/any/publishPaymentUrl/fixTransactionNumberOnPublishPaymentUrl.js +8 -18
  316. package/lib/chevre/service/payment/any/verifyTicketTokenAsNeeded.js +5 -15
  317. package/lib/chevre/service/payment/any.js +181 -137
  318. package/lib/chevre/service/payment/creditCard/authorize/handleAuthorizeError.js +2 -2
  319. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard.js +44 -24
  320. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3ds.js +6 -15
  321. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3dsResult2recipe.js +5 -1
  322. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCardResult2recipe.js +10 -2
  323. package/lib/chevre/service/payment/creditCard/authorize.js +20 -22
  324. package/lib/chevre/service/payment/creditCard/factory.js +22 -4
  325. package/lib/chevre/service/payment/creditCard/getGMOInfoFromSeller.js +8 -18
  326. package/lib/chevre/service/payment/creditCard/payCreditCard.js +31 -36
  327. package/lib/chevre/service/payment/creditCard/refundCreditCard.js +40 -49
  328. package/lib/chevre/service/payment/creditCard/searchGMOTrade.js +33 -45
  329. package/lib/chevre/service/payment/creditCard/voidTransaction.js +15 -25
  330. package/lib/chevre/service/payment/faceToFace.js +14 -23
  331. package/lib/chevre/service/payment/factory/createPayObjectServiceOutput.js +44 -25
  332. package/lib/chevre/service/payment/factory.js +50 -23
  333. package/lib/chevre/service/payment/movieTicket/authorize.js +35 -28
  334. package/lib/chevre/service/payment/movieTicket/checkMovieTicket.js +22 -25
  335. package/lib/chevre/service/payment/movieTicket/factory.js +33 -10
  336. package/lib/chevre/service/payment/movieTicket/getCredentials.js +5 -15
  337. package/lib/chevre/service/payment/movieTicket/payMovieTicket.js +29 -40
  338. package/lib/chevre/service/payment/movieTicket/processPurchaseNumberAuth.js +8 -18
  339. package/lib/chevre/service/payment/movieTicket/refundMovieTicket.js +60 -59
  340. package/lib/chevre/service/payment/movieTicket/validation.js +41 -36
  341. package/lib/chevre/service/payment/movieTicket/voidTransaction.js +8 -18
  342. package/lib/chevre/service/payment/paymentCard.js +87 -103
  343. package/lib/chevre/service/permit.js +36 -35
  344. package/lib/chevre/service/product.js +23 -27
  345. package/lib/chevre/service/project.js +22 -31
  346. package/lib/chevre/service/report/ownershipInfo.js +3 -4
  347. package/lib/chevre/service/report/telemetry.js +51 -55
  348. package/lib/chevre/service/reserve/cancelReservation.js +92 -90
  349. package/lib/chevre/service/reserve/checkInReservation.js +24 -29
  350. package/lib/chevre/service/reserve/confirmReservation.js +33 -38
  351. package/lib/chevre/service/reserve/factory.js +42 -20
  352. package/lib/chevre/service/reserve/findByCode.js +13 -18
  353. package/lib/chevre/service/reserve/potentialActions/onPendingReservationCanceled.js +18 -24
  354. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.js +17 -24
  355. package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.js +38 -29
  356. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +45 -35
  357. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +37 -32
  358. package/lib/chevre/service/reserve/potentialActions/onReservationsCreated.js +17 -23
  359. package/lib/chevre/service/reserve/searchByOrder.js +10 -19
  360. package/lib/chevre/service/reserve/useReservation.js +47 -32
  361. package/lib/chevre/service/reserve/verifyToken4reservation.js +7 -14
  362. package/lib/chevre/service/reserveCOA/cancelReservation.js +7 -16
  363. package/lib/chevre/service/reserveCOA/factory.js +5 -1
  364. package/lib/chevre/service/task/acceptCOAOffer.js +20 -24
  365. package/lib/chevre/service/task/aggregateOffers.js +3 -12
  366. package/lib/chevre/service/task/aggregateOnSystem.js +4 -14
  367. package/lib/chevre/service/task/aggregateScreeningEvent.js +3 -12
  368. package/lib/chevre/service/task/authorizePayment.js +9 -15
  369. package/lib/chevre/service/task/cancelMoneyTransfer.js +3 -12
  370. package/lib/chevre/service/task/cancelPendingReservation.js +10 -20
  371. package/lib/chevre/service/task/cancelReservation.js +3 -12
  372. package/lib/chevre/service/task/checkMovieTicket.js +16 -19
  373. package/lib/chevre/service/task/checkResource.js +7 -16
  374. package/lib/chevre/service/task/confirmMoneyTransfer.js +3 -12
  375. package/lib/chevre/service/task/confirmPayTransaction.js +6 -12
  376. package/lib/chevre/service/task/confirmRegisterService.js +3 -12
  377. package/lib/chevre/service/task/confirmRegisterServiceTransaction.js +24 -31
  378. package/lib/chevre/service/task/confirmReserveTransaction.js +48 -42
  379. package/lib/chevre/service/task/createAccountingReport.js +14 -20
  380. package/lib/chevre/service/task/deletePerson.js +48 -58
  381. package/lib/chevre/service/task/deleteTransaction.js +3 -12
  382. package/lib/chevre/service/task/givePointAward.js +3 -12
  383. package/lib/chevre/service/task/handleNotification.js +4 -14
  384. package/lib/chevre/service/task/importEventCapacitiesFromCOA.js +6 -16
  385. package/lib/chevre/service/task/importEventsFromCOA.js +6 -16
  386. package/lib/chevre/service/task/importOffersFromCOA.js +8 -18
  387. package/lib/chevre/service/task/invalidatePaymentUrl.js +6 -12
  388. package/lib/chevre/service/task/moneyTransfer.js +3 -12
  389. package/lib/chevre/service/task/onAssetTransactionStatusChanged.js +3 -12
  390. package/lib/chevre/service/task/onAuthorizationCreated.js +11 -18
  391. package/lib/chevre/service/task/onEventChanged.js +3 -12
  392. package/lib/chevre/service/task/onOrderPaymentCompleted.js +3 -12
  393. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByAggregateOffer.js +7 -16
  394. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByEventSeries.js +7 -16
  395. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByMovieTheater.js +8 -17
  396. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByOfferCatalog.js +10 -19
  397. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByProduct.js +8 -17
  398. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByRoom.js +6 -15
  399. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesBySeller.js +14 -23
  400. package/lib/chevre/service/task/onResourceDeleted.js +17 -26
  401. package/lib/chevre/service/task/onResourceUpdated/onAggregateOfferUpdated.js +9 -21
  402. package/lib/chevre/service/task/onResourceUpdated/onCategoryCodeUpdated.js +3 -12
  403. package/lib/chevre/service/task/onResourceUpdated/onHasPOSUpdated.js +11 -23
  404. package/lib/chevre/service/task/onResourceUpdated/onOfferCatalogUpdated.js +13 -25
  405. package/lib/chevre/service/task/onResourceUpdated/syncCategoryCode.js +9 -15
  406. package/lib/chevre/service/task/onResourceUpdated/syncOfferCatalog.js +21 -27
  407. package/lib/chevre/service/task/onResourceUpdated.js +113 -153
  408. package/lib/chevre/service/task/pay.js +8 -16
  409. package/lib/chevre/service/task/payment/invalidatePaymentUrlByTask.js +4 -14
  410. package/lib/chevre/service/task/payment/payByTask.js +49 -38
  411. package/lib/chevre/service/task/payment/refundByTask.js +7 -17
  412. package/lib/chevre/service/task/payment/voidPaymentByTask.js +6 -15
  413. package/lib/chevre/service/task/placeOrder.js +6 -12
  414. package/lib/chevre/service/task/publishPaymentUrl.js +9 -14
  415. package/lib/chevre/service/task/refund.js +8 -16
  416. package/lib/chevre/service/task/registerService.js +3 -12
  417. package/lib/chevre/service/task/reserve.js +3 -12
  418. package/lib/chevre/service/task/returnMoneyTransfer.js +3 -12
  419. package/lib/chevre/service/task/returnOrder.js +6 -12
  420. package/lib/chevre/service/task/returnPayTransaction.js +54 -48
  421. package/lib/chevre/service/task/returnPointAward.js +3 -12
  422. package/lib/chevre/service/task/returnReserveTransaction.js +29 -30
  423. package/lib/chevre/service/task/sendEmailMessage.js +6 -13
  424. package/lib/chevre/service/task/sendOrder.js +12 -15
  425. package/lib/chevre/service/task/syncResourcesFromCOA.js +39 -40
  426. package/lib/chevre/service/task/triggerWebhook.js +6 -12
  427. package/lib/chevre/service/task/useReservation.js +11 -14
  428. package/lib/chevre/service/task/voidMoneyTransferTransaction.js +3 -12
  429. package/lib/chevre/service/task/voidPayTransaction.js +7 -12
  430. package/lib/chevre/service/task/voidPayment.js +3 -12
  431. package/lib/chevre/service/task/voidRegisterServiceTransaction.js +3 -12
  432. package/lib/chevre/service/task/voidReserveTransaction.js +10 -16
  433. package/lib/chevre/service/task.js +16 -22
  434. package/lib/chevre/service/taskHandler/onOperationFailed/informTaskIfNeeded.js +9 -20
  435. package/lib/chevre/service/taskHandler/onOperationFailed.js +20 -17
  436. package/lib/chevre/service/taskHandler.js +19 -21
  437. package/lib/chevre/service/transaction/deleteTransaction.js +104 -84
  438. package/lib/chevre/service/transaction/moneyTransfer/exportTasks/factory.js +15 -6
  439. package/lib/chevre/service/transaction/moneyTransfer/factory.js +13 -4
  440. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.js +12 -24
  441. package/lib/chevre/service/transaction/moneyTransfer.js +119 -96
  442. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions/sendEmailMessage.js +49 -51
  443. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions.js +14 -25
  444. package/lib/chevre/service/transaction/placeOrder/confirm/publishCode.js +4 -14
  445. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validateInvoiceReferencesOrder.js +3 -4
  446. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validateMovieTicket.js +3 -4
  447. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validatePrice.js +2 -3
  448. package/lib/chevre/service/transaction/placeOrder/confirm/validation.js +30 -45
  449. package/lib/chevre/service/transaction/placeOrder/confirm.js +75 -55
  450. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +31 -13
  451. package/lib/chevre/service/transaction/placeOrder/exportTasksById.js +6 -15
  452. package/lib/chevre/service/transaction/placeOrder/publishConfirmationNumberIfNotExist.js +6 -15
  453. package/lib/chevre/service/transaction/placeOrder/publishOrderNumberIfNotExist.js +7 -16
  454. package/lib/chevre/service/transaction/placeOrder/start/factory.js +27 -7
  455. package/lib/chevre/service/transaction/placeOrder/start/validateStartRequest.js +53 -59
  456. package/lib/chevre/service/transaction/placeOrder/start.js +14 -18
  457. package/lib/chevre/service/transaction/returnOrder/exportTasks/factory.js +13 -6
  458. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +176 -190
  459. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPointAward.js +77 -89
  460. package/lib/chevre/service/transaction/returnOrder/potentialActions/sendEmailMessage.js +40 -48
  461. package/lib/chevre/service/transaction/returnOrder/potentialActions.js +52 -56
  462. package/lib/chevre/service/transaction/returnOrder/preStart/findApplicableReturnPolicy.js +100 -102
  463. package/lib/chevre/service/transaction/returnOrder/preStart/getReturnPolicyByProject.js +60 -80
  464. package/lib/chevre/service/transaction/returnOrder/preStart.js +42 -46
  465. package/lib/chevre/service/transaction/returnOrder.js +32 -36
  466. package/lib/chevre/service/transaction.js +75 -46
  467. package/lib/chevre/service/validation/validateEvent.js +2 -11
  468. package/lib/chevre/service/validation/validateOrder.js +7 -16
  469. package/lib/chevre/service.js +85 -128
  470. package/lib/chevre/settings/aggregation.js +4 -0
  471. package/lib/chevre/settings.js +7 -0
  472. package/package.json +6 -7
  473. package/example/src/chevre/addEventBySchedule.ts +0 -46
  474. package/example/src/idaas/auth0/adminApplications.ts +0 -183
  475. package/example/src/idaas/auth0/getToken.ts +0 -55
  476. 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.AccountRepo = void 0;
13
4
  const account_1 = require("./mongoose/schemas/account");
@@ -17,12 +8,12 @@ const settings_1 = require("../settings");
17
8
  * 口座リポジトリ
18
9
  */
19
10
  class AccountRepo {
11
+ accountModel;
20
12
  constructor(connection) {
21
13
  this.accountModel = connection.model(account_1.modelName, (0, account_1.createSchema)());
22
14
  }
23
15
  // 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;
26
17
  const andConditions = [];
27
18
  const accountTypeEq = params.accountType;
28
19
  // tslint:disable-next-line:no-single-line-block-comment
@@ -58,7 +49,7 @@ class AccountRepo {
58
49
  }
59
50
  }
60
51
  }
61
- const accountNumberEq = (_a = params.accountNumber) === null || _a === void 0 ? void 0 : _a.$eq;
52
+ const accountNumberEq = params.accountNumber?.$eq;
62
53
  // tslint:disable-next-line:no-single-line-block-comment
63
54
  /* istanbul ignore else */
64
55
  if (typeof accountNumberEq === 'string') {
@@ -66,7 +57,7 @@ class AccountRepo {
66
57
  accountNumber: { $eq: accountNumberEq }
67
58
  });
68
59
  }
69
- const accountNumberIn = (_b = params.accountNumber) === null || _b === void 0 ? void 0 : _b.$in;
60
+ const accountNumberIn = params.accountNumber?.$in;
70
61
  // tslint:disable-next-line:no-single-line-block-comment
71
62
  /* istanbul ignore else */
72
63
  if (Array.isArray(accountNumberIn)) {
@@ -74,7 +65,7 @@ class AccountRepo {
74
65
  accountNumber: { $in: accountNumberIn }
75
66
  });
76
67
  }
77
- const accountNumberRegex = (_c = params.accountNumber) === null || _c === void 0 ? void 0 : _c.$regex;
68
+ const accountNumberRegex = params.accountNumber?.$regex;
78
69
  // tslint:disable-next-line:no-single-line-block-comment
79
70
  /* istanbul ignore else */
80
71
  if (typeof accountNumberRegex === 'string' && accountNumberRegex.length > 0) {
@@ -96,7 +87,7 @@ class AccountRepo {
96
87
  // status: { $in: params.statuses }
97
88
  // });
98
89
  // }
99
- const nameRegex = (_d = params.name) === null || _d === void 0 ? void 0 : _d.$regex;
90
+ const nameRegex = params.name?.$regex;
100
91
  // tslint:disable-next-line:no-single-line-block-comment
101
92
  /* istanbul ignore else */
102
93
  if (typeof nameRegex === 'string' && nameRegex.length > 0) {
@@ -111,7 +102,7 @@ class AccountRepo {
111
102
  name: new RegExp(params.name)
112
103
  });
113
104
  }
114
- const openDateGte = (_e = params.openDate) === null || _e === void 0 ? void 0 : _e.$gte;
105
+ const openDateGte = params.openDate?.$gte;
115
106
  // tslint:disable-next-line:no-single-line-block-comment
116
107
  /* istanbul ignore else */
117
108
  if (openDateGte instanceof Date) {
@@ -119,7 +110,7 @@ class AccountRepo {
119
110
  openDate: { $gte: openDateGte }
120
111
  });
121
112
  }
122
- const openDateLte = (_f = params.openDate) === null || _f === void 0 ? void 0 : _f.$lte;
113
+ const openDateLte = params.openDate?.$lte;
123
114
  // tslint:disable-next-line:no-single-line-block-comment
124
115
  /* istanbul ignore else */
125
116
  if (openDateLte instanceof Date) {
@@ -127,13 +118,13 @@ class AccountRepo {
127
118
  openDate: { $lte: openDateLte }
128
119
  });
129
120
  }
130
- const typeOfEq = (_g = params.typeOf) === null || _g === void 0 ? void 0 : _g.$eq;
121
+ const typeOfEq = params.typeOf?.$eq;
131
122
  if (typeof typeOfEq === 'string') {
132
123
  andConditions.push({
133
124
  typeOf: { $eq: typeOfEq }
134
125
  });
135
126
  }
136
- const typeOfIn = (_h = params.typeOf) === null || _h === void 0 ? void 0 : _h.$in;
127
+ const typeOfIn = params.typeOf?.$in;
137
128
  if (Array.isArray(typeOfIn)) {
138
129
  andConditions.push({
139
130
  typeOf: { $in: typeOfIn }
@@ -144,33 +135,31 @@ class AccountRepo {
144
135
  /**
145
136
  * 口座を開設する
146
137
  */
147
- open(params) {
148
- return __awaiter(this, void 0, void 0, function* () {
149
- if (params.length > 0) {
150
- const accounts = params.map((p) => {
151
- return {
152
- project: { typeOf: factory.organizationType.Project, id: p.project.id },
153
- typeOf: factory.accountType.Account,
154
- accountType: p.accountType,
155
- accountNumber: p.accountNumber,
156
- name: p.name,
157
- balance: p.initialBalance,
158
- availableBalance: p.initialBalance,
159
- pendingTransactions: [],
160
- openDate: p.openDate
161
- };
162
- });
163
- const result = yield this.accountModel.insertMany(accounts, { ordered: false, rawResult: true });
164
- if (result.insertedCount !== accounts.length) {
165
- throw new factory.errors.Internal('all accounts not saved');
166
- }
167
- // return result.ops;
168
- return accounts;
169
- }
170
- else {
171
- return [];
138
+ async open(params) {
139
+ if (params.length > 0) {
140
+ const accounts = params.map((p) => {
141
+ return {
142
+ project: { typeOf: factory.organizationType.Project, id: p.project.id },
143
+ typeOf: factory.accountType.Account,
144
+ accountType: p.accountType,
145
+ accountNumber: p.accountNumber,
146
+ name: p.name,
147
+ balance: p.initialBalance,
148
+ availableBalance: p.initialBalance,
149
+ pendingTransactions: [],
150
+ openDate: p.openDate
151
+ };
152
+ });
153
+ const result = await this.accountModel.insertMany(accounts, { ordered: false, rawResult: true });
154
+ if (result.insertedCount !== accounts.length) {
155
+ throw new factory.errors.Internal('all accounts not saved');
172
156
  }
173
- });
157
+ // return result.ops;
158
+ return accounts;
159
+ }
160
+ else {
161
+ return [];
162
+ }
174
163
  }
175
164
  /**
176
165
  * 口座を解約する
@@ -219,217 +208,201 @@ class AccountRepo {
219
208
  /**
220
209
  * 口座番号で検索する
221
210
  */
222
- findByAccountNumber(params) {
223
- return __awaiter(this, void 0, void 0, function* () {
224
- const doc = yield this.accountModel.findOne({
225
- accountNumber: params.accountNumber
226
- })
227
- .exec();
228
- if (doc === null) {
229
- throw new factory.errors.NotFound(this.accountModel.modelName);
230
- }
231
- return doc.toObject();
232
- });
211
+ async findByAccountNumber(params) {
212
+ const doc = await this.accountModel.findOne({
213
+ accountNumber: params.accountNumber
214
+ })
215
+ .exec();
216
+ if (doc === null) {
217
+ throw new factory.errors.NotFound(this.accountModel.modelName);
218
+ }
219
+ return doc.toObject();
233
220
  }
234
221
  /**
235
222
  * 金額を確保する
236
223
  * https://en.wikipedia.org/wiki/Authorization_hold
237
224
  */
238
- authorizeAmount(params) {
239
- return __awaiter(this, void 0, void 0, function* () {
240
- const doc = yield this.accountModel.findOneAndUpdate(Object.assign({ accountNumber: params.accountNumber }, (params.force === true) ? undefined : { availableBalance: { $gte: params.amount } } // 利用可能金額確認
241
- ), {
242
- $inc: { availableBalance: -params.amount }, // 残高を減らす
243
- $push: { pendingTransactions: params.transaction } // 進行中取引追加
244
- }, { new: true })
245
- .exec();
246
- // NotFoundであれば口座状態確認
247
- if (doc === null) {
248
- const account = yield this.findByAccountNumber({
249
- accountNumber: params.accountNumber
250
- });
251
- // if (account.status === factory.account.AccountStatusType.Closed) {
252
- // // 口座解約済の場合
253
- // throw new factory.errors.Argument('accountNumber', 'Account already closed');
254
- // } else
255
- if (typeof account.availableBalance === 'number' && account.availableBalance < params.amount) {
256
- // 残高不足の場合
257
- throw new factory.errors.Argument('accountNumber', 'Insufficient balance');
258
- }
259
- else {
260
- throw new factory.errors.NotFound(this.accountModel.modelName);
261
- }
225
+ async authorizeAmount(params) {
226
+ const doc = await this.accountModel.findOneAndUpdate({
227
+ accountNumber: params.accountNumber,
228
+ // status: factory.account.AccountStatusType.Opened, // 開いている口座
229
+ ...(params.force === true) ? undefined : { availableBalance: { $gte: params.amount } } // 利用可能金額確認
230
+ }, {
231
+ $inc: { availableBalance: -params.amount }, // 残高を減らす
232
+ $push: { pendingTransactions: params.transaction } // 進行中取引追加
233
+ }, { new: true })
234
+ .exec();
235
+ // NotFoundであれば口座状態確認
236
+ if (doc === null) {
237
+ const account = await this.findByAccountNumber({
238
+ accountNumber: params.accountNumber
239
+ });
240
+ // if (account.status === factory.account.AccountStatusType.Closed) {
241
+ // // 口座解約済の場合
242
+ // throw new factory.errors.Argument('accountNumber', 'Account already closed');
243
+ // } else
244
+ if (typeof account.availableBalance === 'number' && account.availableBalance < params.amount) {
245
+ // 残高不足の場合
246
+ throw new factory.errors.Argument('accountNumber', 'Insufficient balance');
262
247
  }
263
- });
248
+ else {
249
+ throw new factory.errors.NotFound(this.accountModel.modelName);
250
+ }
251
+ }
264
252
  }
265
253
  /**
266
254
  * 取引を開始する
267
255
  */
268
- startTransaction(params) {
269
- return __awaiter(this, void 0, void 0, function* () {
270
- const doc = yield this.accountModel.findOneAndUpdate({
271
- accountNumber: params.accountNumber
272
- // status: factory.account.AccountStatusType.Opened // 開いている口座
273
- }, { $push: { pendingTransactions: params.transaction } })
274
- .exec();
275
- // NotFoundであれば口座状態確認
276
- if (doc === null) {
277
- // const account = await this.findByAccountNumber({
278
- // accountNumber: params.accountNumber
279
- // });
280
- // if (account.status === factory.account.AccountStatusType.Closed) {
281
- // // 口座解約済の場合
282
- // throw new factory.errors.Argument('accountNumber', 'Account already closed');
283
- // } else {
284
- // throw new factory.errors.NotFound(this.accountModel.modelName);
285
- // }
286
- throw new factory.errors.NotFound(this.accountModel.modelName);
287
- }
288
- });
256
+ async startTransaction(params) {
257
+ const doc = await this.accountModel.findOneAndUpdate({
258
+ accountNumber: params.accountNumber
259
+ // status: factory.account.AccountStatusType.Opened // 開いている口座
260
+ }, { $push: { pendingTransactions: params.transaction } })
261
+ .exec();
262
+ // NotFoundであれば口座状態確認
263
+ if (doc === null) {
264
+ // const account = await this.findByAccountNumber({
265
+ // accountNumber: params.accountNumber
266
+ // });
267
+ // if (account.status === factory.account.AccountStatusType.Closed) {
268
+ // // 口座解約済の場合
269
+ // throw new factory.errors.Argument('accountNumber', 'Account already closed');
270
+ // } else {
271
+ // throw new factory.errors.NotFound(this.accountModel.modelName);
272
+ // }
273
+ throw new factory.errors.NotFound(this.accountModel.modelName);
274
+ }
289
275
  }
290
276
  /**
291
277
  * 決済処理を実行する
292
278
  * 口座上で進行中の取引について、実際に金額移動処理を実行します。
293
279
  */
294
- settleTransaction(params) {
295
- return __awaiter(this, void 0, void 0, function* () {
296
- // 転送元があれば残高調整
297
- if (params.fromAccountNumber !== undefined) {
298
- yield this.accountModel.findOneAndUpdate({
299
- accountNumber: params.fromAccountNumber,
300
- 'pendingTransactions.id': params.transactionId
301
- }, {
302
- $inc: {
303
- balance: -params.amount // 残高調整
304
- },
305
- $pull: { pendingTransactions: { id: params.transactionId } }
306
- })
307
- .exec();
308
- }
309
- // 転送先へがあれば入金
310
- if (params.toAccountNumber !== undefined) {
311
- yield this.accountModel.findOneAndUpdate({
312
- accountNumber: params.toAccountNumber,
313
- 'pendingTransactions.id': params.transactionId
314
- }, {
315
- $inc: {
316
- balance: params.amount,
317
- availableBalance: params.amount
318
- },
319
- $pull: { pendingTransactions: { id: params.transactionId } }
320
- })
321
- .exec();
322
- }
323
- });
280
+ async settleTransaction(params) {
281
+ // 転送元があれば残高調整
282
+ if (params.fromAccountNumber !== undefined) {
283
+ await this.accountModel.findOneAndUpdate({
284
+ accountNumber: params.fromAccountNumber,
285
+ 'pendingTransactions.id': params.transactionId
286
+ }, {
287
+ $inc: {
288
+ balance: -params.amount // 残高調整
289
+ },
290
+ $pull: { pendingTransactions: { id: params.transactionId } }
291
+ })
292
+ .exec();
293
+ }
294
+ // 転送先へがあれば入金
295
+ if (params.toAccountNumber !== undefined) {
296
+ await this.accountModel.findOneAndUpdate({
297
+ accountNumber: params.toAccountNumber,
298
+ 'pendingTransactions.id': params.transactionId
299
+ }, {
300
+ $inc: {
301
+ balance: params.amount,
302
+ availableBalance: params.amount
303
+ },
304
+ $pull: { pendingTransactions: { id: params.transactionId } }
305
+ })
306
+ .exec();
307
+ }
324
308
  }
325
309
  /**
326
310
  * 取引を取り消す
327
311
  * 口座上で進行中の取引を中止します。
328
312
  * https://www.investopedia.com/terms/v/void-transaction.asp
329
313
  */
330
- voidTransaction(params) {
331
- return __awaiter(this, void 0, void 0, function* () {
332
- // 転送元があればhold解除
333
- if (params.fromAccountNumber !== undefined) {
334
- yield this.accountModel.findOneAndUpdate({
335
- accountNumber: params.fromAccountNumber,
336
- 'pendingTransactions.id': params.transactionId
337
- }, {
338
- $inc: {
339
- availableBalance: params.amount // 残高調整
340
- },
341
- $pull: { pendingTransactions: { id: params.transactionId } }
342
- })
343
- .exec();
344
- }
345
- // 転送先へがあれば進行中取引削除
346
- if (params.toAccountNumber !== undefined) {
347
- yield this.accountModel.findOneAndUpdate({
348
- accountNumber: params.toAccountNumber,
349
- 'pendingTransactions.id': params.transactionId
350
- }, {
351
- $pull: { pendingTransactions: { id: params.transactionId } }
352
- })
353
- .exec();
354
- }
355
- });
314
+ async voidTransaction(params) {
315
+ // 転送元があればhold解除
316
+ if (params.fromAccountNumber !== undefined) {
317
+ await this.accountModel.findOneAndUpdate({
318
+ accountNumber: params.fromAccountNumber,
319
+ 'pendingTransactions.id': params.transactionId
320
+ }, {
321
+ $inc: {
322
+ availableBalance: params.amount // 残高調整
323
+ },
324
+ $pull: { pendingTransactions: { id: params.transactionId } }
325
+ })
326
+ .exec();
327
+ }
328
+ // 転送先へがあれば進行中取引削除
329
+ if (params.toAccountNumber !== undefined) {
330
+ await this.accountModel.findOneAndUpdate({
331
+ accountNumber: params.toAccountNumber,
332
+ 'pendingTransactions.id': params.transactionId
333
+ }, {
334
+ $pull: { pendingTransactions: { id: params.transactionId } }
335
+ })
336
+ .exec();
337
+ }
356
338
  }
357
339
  /**
358
340
  * 通貨転送返金
359
341
  */
360
- returnTransaction(params) {
361
- return __awaiter(this, void 0, void 0, function* () {
362
- if (params.fromAccountNumber !== undefined) {
363
- yield this.accountModel.findOneAndUpdate({
364
- accountNumber: params.fromAccountNumber,
365
- 'retunedTransaction.id': { $ne: params.transactionId }
366
- }, {
367
- $inc: {
368
- balance: params.amount,
369
- availableBalance: params.amount
370
- },
371
- $push: { retunedTransaction: { id: params.transactionId } }
372
- })
373
- .exec();
374
- }
375
- if (params.toAccountNumber !== undefined) {
376
- yield this.accountModel.findOneAndUpdate({
377
- accountNumber: params.toAccountNumber,
378
- 'retunedTransaction.id': { $ne: params.transactionId }
379
- }, {
380
- $inc: {
381
- balance: -params.amount,
382
- availableBalance: -params.amount
383
- },
384
- $push: { retunedTransaction: { id: params.transactionId } }
385
- })
386
- .exec();
387
- }
388
- });
389
- }
390
- count(params) {
391
- return __awaiter(this, void 0, void 0, function* () {
392
- const conditions = AccountRepo.CREATE_MONGO_CONDITIONS(params);
393
- return this.accountModel.countDocuments((conditions.length > 0) ? { $and: conditions } : {})
394
- .setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
342
+ async returnTransaction(params) {
343
+ if (params.fromAccountNumber !== undefined) {
344
+ await this.accountModel.findOneAndUpdate({
345
+ accountNumber: params.fromAccountNumber,
346
+ 'retunedTransaction.id': { $ne: params.transactionId }
347
+ }, {
348
+ $inc: {
349
+ balance: params.amount,
350
+ availableBalance: params.amount
351
+ },
352
+ $push: { retunedTransaction: { id: params.transactionId } }
353
+ })
395
354
  .exec();
396
- });
355
+ }
356
+ if (params.toAccountNumber !== undefined) {
357
+ await this.accountModel.findOneAndUpdate({
358
+ accountNumber: params.toAccountNumber,
359
+ 'retunedTransaction.id': { $ne: params.transactionId }
360
+ }, {
361
+ $inc: {
362
+ balance: -params.amount,
363
+ availableBalance: -params.amount
364
+ },
365
+ $push: { retunedTransaction: { id: params.transactionId } }
366
+ })
367
+ .exec();
368
+ }
369
+ }
370
+ async count(params) {
371
+ const conditions = AccountRepo.CREATE_MONGO_CONDITIONS(params);
372
+ return this.accountModel.countDocuments((conditions.length > 0) ? { $and: conditions } : {})
373
+ .setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
374
+ .exec();
397
375
  }
398
376
  /**
399
377
  * 口座を検索する
400
378
  */
401
- search(params) {
402
- return __awaiter(this, void 0, void 0, function* () {
403
- var _a;
404
- const conditions = AccountRepo.CREATE_MONGO_CONDITIONS(params);
405
- const query = this.accountModel.find((conditions.length > 0) ? { $and: conditions } : {}, {
406
- __v: 0,
407
- createdAt: 0,
408
- updatedAt: 0,
409
- pendingTransactions: 0
410
- });
411
- // tslint:disable-next-line:no-single-line-block-comment
412
- /* istanbul ignore else */
413
- if (typeof params.limit === 'number' && params.limit > 0) {
414
- const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
415
- query.limit(params.limit)
416
- .skip(params.limit * (page - 1));
417
- }
418
- // tslint:disable-next-line:no-single-line-block-comment
419
- /* istanbul ignore else */
420
- if (((_a = params.sort) === null || _a === void 0 ? void 0 : _a.openDate) !== undefined) {
421
- query.sort({ openDate: params.sort.openDate });
422
- }
423
- return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
424
- .exec()
425
- .then((docs) => docs.map((doc) => doc.toObject()));
379
+ async search(params) {
380
+ const conditions = AccountRepo.CREATE_MONGO_CONDITIONS(params);
381
+ const query = this.accountModel.find((conditions.length > 0) ? { $and: conditions } : {}, {
382
+ __v: 0,
383
+ createdAt: 0,
384
+ updatedAt: 0,
385
+ pendingTransactions: 0
426
386
  });
387
+ // tslint:disable-next-line:no-single-line-block-comment
388
+ /* istanbul ignore else */
389
+ if (typeof params.limit === 'number' && params.limit > 0) {
390
+ const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
391
+ query.limit(params.limit)
392
+ .skip(params.limit * (page - 1));
393
+ }
394
+ // tslint:disable-next-line:no-single-line-block-comment
395
+ /* istanbul ignore else */
396
+ if (params.sort?.openDate !== undefined) {
397
+ query.sort({ openDate: params.sort.openDate });
398
+ }
399
+ return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
400
+ .exec()
401
+ .then((docs) => docs.map((doc) => doc.toObject()));
427
402
  }
428
- unsetUnnecessaryFields(params) {
429
- return __awaiter(this, void 0, void 0, function* () {
430
- return this.accountModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
431
- .exec();
432
- });
403
+ async unsetUnnecessaryFields(params) {
404
+ return this.accountModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
405
+ .exec();
433
406
  }
434
407
  }
435
408
  exports.AccountRepo = AccountRepo;
@@ -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.AccountTitleRepo = void 0;
13
4
  const factory = require("../factory");
@@ -16,27 +7,24 @@ const accountTitle_1 = require("./mongoose/schemas/accountTitle");
16
7
  * 科目リポジトリ
17
8
  */
18
9
  class AccountTitleRepo {
10
+ accountTitleModel;
19
11
  constructor(connection) {
20
12
  this.accountTitleModel = connection.model(accountTitle_1.modelName, (0, accountTitle_1.createSchema)());
21
13
  }
22
- deleteByProject(params) {
23
- return __awaiter(this, void 0, void 0, function* () {
24
- yield this.accountTitleModel.deleteMany({
25
- 'project.id': { $exists: true, $eq: params.project.id }
26
- })
27
- .exec();
28
- });
14
+ async deleteByProject(params) {
15
+ await this.accountTitleModel.deleteMany({
16
+ 'project.id': { $exists: true, $eq: params.project.id }
17
+ })
18
+ .exec();
29
19
  }
30
20
  getCursor(conditions, projection) {
31
21
  return this.accountTitleModel.find(conditions, projection)
32
22
  .sort({ codeValue: factory.sortType.Descending })
33
23
  .cursor();
34
24
  }
35
- unsetUnnecessaryFields(params) {
36
- return __awaiter(this, void 0, void 0, function* () {
37
- return this.accountTitleModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
38
- .exec();
39
- });
25
+ async unsetUnnecessaryFields(params) {
26
+ return this.accountTitleModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
27
+ .exec();
40
28
  }
41
29
  }
42
30
  exports.AccountTitleRepo = AccountTitleRepo;