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