@chevre/domain 21.2.0-alpha.14 → 21.2.0-alpha.141

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 (302) hide show
  1. package/example/src/chevre/aggregateEventReservation.ts +1 -1
  2. package/example/src/chevre/aggregation/aggregateSystem.ts +85 -27
  3. package/example/src/chevre/countDelayedTasks.ts +7 -2
  4. package/example/src/chevre/deleteTasksByName.ts +10 -2
  5. package/example/src/chevre/importEventsFromCOA.ts +3 -4
  6. package/example/src/chevre/lockStockHolder.ts +5 -2
  7. package/example/src/chevre/migrateOrderAdditionalProperties.ts +85 -0
  8. package/example/src/chevre/migrateScreeningEventSeriesVersion.ts +79 -0
  9. package/example/src/chevre/processPay.ts +5 -1
  10. package/example/src/chevre/processRegisterMembership.ts +8 -4
  11. package/example/src/chevre/processRegisterPaymentCard.ts +8 -4
  12. package/example/src/chevre/processReserve.ts +5 -2
  13. package/example/src/chevre/saveTasks.ts +13 -10
  14. package/example/src/chevre/searchAbortedTasks.ts +34 -0
  15. package/example/src/chevre/searchActions.ts +33 -0
  16. package/example/src/chevre/searchEventSeats.ts +5 -2
  17. package/example/src/chevre/searchHoldReservations.ts +38 -0
  18. package/example/src/chevre/searchPaymentServiceProviders.ts +38 -0
  19. package/example/src/chevre/searchReservationNumbersByOrderNumbers.ts +37 -1
  20. package/example/src/chevre/searchScreeningRooms.ts +23 -0
  21. package/example/src/chevre/searchSendEmailActions.ts +44 -0
  22. package/example/src/chevre/syncScreeningRooms.ts +21 -0
  23. package/example/src/chevre/syncScreeningRoomsAll.ts +41 -0
  24. package/example/src/chevre/task/executeTasks.ts +26 -0
  25. package/example/src/chevre/transaction/findCreditCard.ts +1 -1
  26. package/example/src/chevre/transaction/orderMembershipService.ts +1 -1
  27. package/example/src/chevre/transaction/processReturnOrder.ts +40 -0
  28. package/example/src/chevre/transaction/startExportTasks.ts +2 -1
  29. package/example/src/chevre/updateTransaction.ts +1 -1
  30. package/example/src/playOnMoment.ts +24 -0
  31. package/lib/chevre/credentials.d.ts +1 -0
  32. package/lib/chevre/credentials.js +2 -1
  33. package/lib/chevre/eventEmitter/assetTransaction.d.ts +21 -0
  34. package/lib/chevre/eventEmitter/assetTransaction.js +25 -0
  35. package/lib/chevre/eventEmitter/task.d.ts +2 -1
  36. package/lib/chevre/eventEmitter/task.js +1 -4
  37. package/lib/chevre/eventEmitter/transaction.d.ts +1 -1
  38. package/lib/chevre/eventEmitter/transaction.js +1 -4
  39. package/lib/chevre/eventEmitter.d.ts +2 -1
  40. package/lib/chevre/eventEmitter.js +3 -1
  41. package/lib/chevre/index.d.ts +1 -1
  42. package/lib/chevre/index.js +2 -2
  43. package/lib/chevre/repo/account.js +3 -2
  44. package/lib/chevre/repo/accountTransaction.d.ts +3 -1
  45. package/lib/chevre/repo/accountTransaction.js +3 -2
  46. package/lib/chevre/repo/action.d.ts +42 -2
  47. package/lib/chevre/repo/action.js +130 -57
  48. package/lib/chevre/repo/additionalProperty.js +2 -1
  49. package/lib/chevre/repo/aggregation.d.ts +3 -0
  50. package/lib/chevre/repo/aggregation.js +3 -0
  51. package/lib/chevre/repo/assetTransaction.d.ts +23 -8
  52. package/lib/chevre/repo/assetTransaction.js +253 -80
  53. package/lib/chevre/repo/categoryCode.d.ts +1 -1
  54. package/lib/chevre/repo/categoryCode.js +37 -25
  55. package/lib/chevre/repo/code.js +3 -2
  56. package/lib/chevre/repo/comment.d.ts +4 -1
  57. package/lib/chevre/repo/comment.js +22 -6
  58. package/lib/chevre/repo/confirmationNumber.d.ts +0 -1
  59. package/lib/chevre/repo/confirmationNumber.js +3 -15
  60. package/lib/chevre/repo/creativeWork.d.ts +2 -4
  61. package/lib/chevre/repo/creativeWork.js +35 -12
  62. package/lib/chevre/repo/customer.js +2 -1
  63. package/lib/chevre/repo/emailMessage.d.ts +1 -27
  64. package/lib/chevre/repo/emailMessage.js +2 -1
  65. package/lib/chevre/repo/event.d.ts +27 -1
  66. package/lib/chevre/repo/event.js +67 -33
  67. package/lib/chevre/repo/member.js +4 -3
  68. package/lib/chevre/repo/merchantReturnPolicy.d.ts +1 -3
  69. package/lib/chevre/repo/merchantReturnPolicy.js +2 -1
  70. package/lib/chevre/repo/mongoose/schemas/account.d.ts +4 -2
  71. package/lib/chevre/repo/mongoose/schemas/accountTitle.d.ts +29 -3
  72. package/lib/chevre/repo/mongoose/schemas/accountTransaction.d.ts +31 -3
  73. package/lib/chevre/repo/mongoose/schemas/accountTransaction.js +1 -1
  74. package/lib/chevre/repo/mongoose/schemas/accountingReport.d.ts +13 -3
  75. package/lib/chevre/repo/mongoose/schemas/action.d.ts +43 -3
  76. package/lib/chevre/repo/mongoose/schemas/action.js +19 -1
  77. package/lib/chevre/repo/mongoose/schemas/additionalProperty.d.ts +17 -3
  78. package/lib/chevre/repo/mongoose/schemas/aggregation.d.ts +4 -2
  79. package/lib/chevre/repo/mongoose/schemas/assetTransaction.d.ts +44 -3
  80. package/lib/chevre/repo/mongoose/schemas/assetTransaction.js +32 -19
  81. package/lib/chevre/repo/mongoose/schemas/authorization.d.ts +19 -3
  82. package/lib/chevre/repo/mongoose/schemas/authorization.js +1 -1
  83. package/lib/chevre/repo/mongoose/schemas/categoryCode.d.ts +25 -3
  84. package/lib/chevre/repo/mongoose/schemas/comments.d.ts +27 -3
  85. package/lib/chevre/repo/mongoose/schemas/comments.js +1 -1
  86. package/lib/chevre/repo/mongoose/schemas/creativeWork.d.ts +43 -3
  87. package/lib/chevre/repo/mongoose/schemas/customer.d.ts +25 -3
  88. package/lib/chevre/repo/mongoose/schemas/emailMessages.d.ts +21 -3
  89. package/lib/chevre/repo/mongoose/schemas/event.d.ts +71 -3
  90. package/lib/chevre/repo/mongoose/schemas/holdReservation.d.ts +75 -0
  91. package/lib/chevre/repo/mongoose/schemas/holdReservation.js +93 -0
  92. package/lib/chevre/repo/mongoose/schemas/member.d.ts +13 -3
  93. package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.d.ts +21 -3
  94. package/lib/chevre/repo/mongoose/schemas/offer.d.ts +65 -3
  95. package/lib/chevre/repo/mongoose/schemas/offerCatalog.d.ts +27 -3
  96. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.d.ts +74 -0
  97. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.js +45 -0
  98. package/lib/chevre/repo/mongoose/schemas/order.d.ts +51 -3
  99. package/lib/chevre/repo/mongoose/schemas/order.js +1 -1
  100. package/lib/chevre/repo/mongoose/schemas/ownershipInfo.d.ts +25 -3
  101. package/lib/chevre/repo/mongoose/schemas/ownershipInfo.js +1 -1
  102. package/lib/chevre/repo/mongoose/schemas/place.d.ts +55 -3
  103. package/lib/chevre/repo/mongoose/schemas/place.js +16 -1
  104. package/lib/chevre/repo/mongoose/schemas/priceSpecification.d.ts +29 -3
  105. package/lib/chevre/repo/mongoose/schemas/product.d.ts +31 -3
  106. package/lib/chevre/repo/mongoose/schemas/product.js +6 -0
  107. package/lib/chevre/repo/mongoose/schemas/project.d.ts +23 -3
  108. package/lib/chevre/repo/mongoose/schemas/reservation.d.ts +63 -5
  109. package/lib/chevre/repo/mongoose/schemas/reservation.js +1 -1
  110. package/lib/chevre/repo/mongoose/schemas/role.d.ts +11 -3
  111. package/lib/chevre/repo/mongoose/schemas/seller.d.ts +31 -3
  112. package/lib/chevre/repo/mongoose/schemas/seller.js +6 -0
  113. package/lib/chevre/repo/mongoose/schemas/serviceOutput.d.ts +11 -3
  114. package/lib/chevre/repo/mongoose/schemas/serviceOutput.js +1 -1
  115. package/lib/chevre/repo/mongoose/schemas/task.d.ts +30 -3
  116. package/lib/chevre/repo/mongoose/schemas/task.js +2 -1
  117. package/lib/chevre/repo/mongoose/schemas/telemetry.d.ts +21 -3
  118. package/lib/chevre/repo/mongoose/schemas/transaction.d.ts +40 -3
  119. package/lib/chevre/repo/mongoose/schemas/transaction.js +2 -1
  120. package/lib/chevre/repo/mongoose/schemas/trip.d.ts +11 -3
  121. package/lib/chevre/repo/offer.js +3 -2
  122. package/lib/chevre/repo/offerCatalog.js +0 -27
  123. package/lib/chevre/repo/offerItemCondition.d.ts +22 -0
  124. package/lib/chevre/repo/offerItemCondition.js +121 -0
  125. package/lib/chevre/repo/order.d.ts +55 -3
  126. package/lib/chevre/repo/order.js +62 -10
  127. package/lib/chevre/repo/ownershipInfo.js +2 -7
  128. package/lib/chevre/repo/place.d.ts +97 -24
  129. package/lib/chevre/repo/place.js +266 -76
  130. package/lib/chevre/repo/priceSpecification.js +3 -2
  131. package/lib/chevre/repo/product.d.ts +18 -3
  132. package/lib/chevre/repo/product.js +139 -5
  133. package/lib/chevre/repo/project.js +2 -1
  134. package/lib/chevre/repo/reservation.d.ts +20 -4
  135. package/lib/chevre/repo/reservation.js +40 -59
  136. package/lib/chevre/repo/role.js +3 -2
  137. package/lib/chevre/repo/seller.d.ts +1 -1
  138. package/lib/chevre/repo/seller.js +44 -23
  139. package/lib/chevre/repo/serviceOutput.js +2 -1
  140. package/lib/chevre/repo/stockHolder.d.ts +143 -7
  141. package/lib/chevre/repo/stockHolder.js +622 -104
  142. package/lib/chevre/repo/task.d.ts +42 -2
  143. package/lib/chevre/repo/task.js +68 -20
  144. package/lib/chevre/repo/transaction.d.ts +21 -2
  145. package/lib/chevre/repo/transaction.js +160 -48
  146. package/lib/chevre/repo/trip.js +2 -1
  147. package/lib/chevre/repository.d.ts +5 -2
  148. package/lib/chevre/repository.js +8 -4
  149. package/lib/chevre/service/aggregation/event/aggregateScreeningEvent.js +6 -2
  150. package/lib/chevre/service/aggregation/event/aggregateUseActionsOnEvent.js +19 -8
  151. package/lib/chevre/service/aggregation/system.d.ts +110 -23
  152. package/lib/chevre/service/aggregation/system.js +213 -91
  153. package/lib/chevre/service/assetTransaction/cancelReservation.js +1 -28
  154. package/lib/chevre/service/assetTransaction/moneyTransfer.js +2 -24
  155. package/lib/chevre/service/assetTransaction/pay/account/validation.js +1 -1
  156. package/lib/chevre/service/assetTransaction/pay/potentialActions.js +17 -1
  157. package/lib/chevre/service/assetTransaction/pay.d.ts +5 -1
  158. package/lib/chevre/service/assetTransaction/pay.js +20 -34
  159. package/lib/chevre/service/assetTransaction/refund.js +2 -24
  160. package/lib/chevre/service/assetTransaction/registerService.js +1 -25
  161. package/lib/chevre/service/assetTransaction/reserve/factory.d.ts +15 -5
  162. package/lib/chevre/service/assetTransaction/reserve/factory.js +122 -58
  163. package/lib/chevre/service/assetTransaction/reserve.d.ts +10 -1
  164. package/lib/chevre/service/assetTransaction/reserve.js +92 -69
  165. package/lib/chevre/service/assetTransaction.d.ts +6 -0
  166. package/lib/chevre/service/assetTransaction.js +9 -4
  167. package/lib/chevre/service/event.d.ts +3 -0
  168. package/lib/chevre/service/event.js +54 -22
  169. package/lib/chevre/service/notification/factory.js +2 -2
  170. package/lib/chevre/service/notification.d.ts +3 -1
  171. package/lib/chevre/service/notification.js +41 -7
  172. package/lib/chevre/service/offer/event/authorize.d.ts +3 -0
  173. package/lib/chevre/service/offer/event/authorize.js +8 -2
  174. package/lib/chevre/service/offer/event/factory.d.ts +3 -0
  175. package/lib/chevre/service/offer/event/factory.js +16 -5
  176. package/lib/chevre/service/offer/event/importFromCOA.js +2 -2
  177. package/lib/chevre/service/offer/event/voidTransaction.d.ts +2 -0
  178. package/lib/chevre/service/offer/event/voidTransaction.js +17 -1
  179. package/lib/chevre/service/offer/eventServiceByCOA.js +7 -9
  180. package/lib/chevre/service/offer/product.js +2 -2
  181. package/lib/chevre/service/offer.d.ts +16 -8
  182. package/lib/chevre/service/offer.js +71 -8
  183. package/lib/chevre/service/order/deleteOrder.d.ts +3 -1
  184. package/lib/chevre/service/order/deleteOrder.js +8 -8
  185. package/lib/chevre/service/order/onOrderStatusChanged/factory.d.ts +5 -2
  186. package/lib/chevre/service/order/onOrderStatusChanged/factory.js +41 -81
  187. package/lib/chevre/service/order/onOrderStatusChanged.js +1 -3
  188. package/lib/chevre/service/order/onOrderUpdated.d.ts +16 -0
  189. package/lib/chevre/service/order/onOrderUpdated.js +22 -0
  190. package/lib/chevre/service/order/placeOrder.d.ts +1 -0
  191. package/lib/chevre/service/order/placeOrder.js +41 -24
  192. package/lib/chevre/service/order/returnOrder.d.ts +1 -0
  193. package/lib/chevre/service/order/returnOrder.js +7 -12
  194. package/lib/chevre/service/order/sendOrder.d.ts +1 -0
  195. package/lib/chevre/service/order/sendOrder.js +7 -10
  196. package/lib/chevre/service/order.d.ts +2 -1
  197. package/lib/chevre/service/order.js +3 -1
  198. package/lib/chevre/service/payment/any/onPaid.js +1 -1
  199. package/lib/chevre/service/payment/any/onRefund.js +1 -1
  200. package/lib/chevre/service/payment/any.d.ts +9 -5
  201. package/lib/chevre/service/payment/any.js +80 -18
  202. package/lib/chevre/service/payment/creditCard.d.ts +1 -1
  203. package/lib/chevre/service/payment/creditCard.js +23 -17
  204. package/lib/chevre/service/payment/movieTicket/checkByIdentifier.d.ts +8 -7
  205. package/lib/chevre/service/payment/movieTicket/factory.d.ts +1 -1
  206. package/lib/chevre/service/payment/movieTicket/getCredentials.d.ts +1 -1
  207. package/lib/chevre/service/payment/movieTicket/getCredentials.js +1 -1
  208. package/lib/chevre/service/payment/movieTicket/validation.d.ts +6 -6
  209. package/lib/chevre/service/payment/movieTicket/validation.js +65 -37
  210. package/lib/chevre/service/payment/movieTicket.d.ts +2 -2
  211. package/lib/chevre/service/payment/movieTicket.js +7 -6
  212. package/lib/chevre/service/product.js +1 -5
  213. package/lib/chevre/service/report/telemetry.d.ts +0 -11
  214. package/lib/chevre/service/report/telemetry.js +21 -24
  215. package/lib/chevre/service/reserve/cancelReservation.d.ts +5 -3
  216. package/lib/chevre/service/reserve/cancelReservation.js +162 -142
  217. package/lib/chevre/service/reserve/checkInReservation.d.ts +9 -4
  218. package/lib/chevre/service/reserve/checkInReservation.js +77 -3
  219. package/lib/chevre/service/reserve/confirmReservation.d.ts +7 -4
  220. package/lib/chevre/service/reserve/confirmReservation.js +133 -58
  221. package/lib/chevre/service/reserve/factory.d.ts +1 -1
  222. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.d.ts +17 -5
  223. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.js +26 -24
  224. package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.js +2 -3
  225. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +2 -31
  226. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +2 -3
  227. package/lib/chevre/service/reserve/useReservation.d.ts +7 -3
  228. package/lib/chevre/service/reserve/useReservation.js +61 -71
  229. package/lib/chevre/service/reserve/verifyToken4reservation.d.ts +15 -0
  230. package/lib/chevre/service/reserve/verifyToken4reservation.js +56 -0
  231. package/lib/chevre/service/reserve.d.ts +3 -2
  232. package/lib/chevre/service/reserve.js +4 -2
  233. package/lib/chevre/service/task/aggregateScreeningEvent.js +1 -1
  234. package/lib/chevre/service/task/cancelPendingReservation.js +6 -2
  235. package/lib/chevre/service/task/cancelReservation.js +1 -1
  236. package/lib/chevre/service/task/confirmRegisterServiceTransaction.js +1 -1
  237. package/lib/chevre/service/task/deleteTransaction.js +10 -8
  238. package/lib/chevre/service/task/importOffersFromCOA.js +4 -0
  239. package/lib/chevre/service/task/onAuthorizationCreated.d.ts +7 -0
  240. package/lib/chevre/service/task/onAuthorizationCreated.js +108 -0
  241. package/lib/chevre/service/task/onEventChanged.d.ts +7 -0
  242. package/lib/chevre/service/task/{deleteOrder.js → onEventChanged.js} +8 -14
  243. package/lib/chevre/service/task/onResourceUpdated.d.ts +10 -0
  244. package/lib/chevre/service/task/onResourceUpdated.js +423 -0
  245. package/lib/chevre/service/task/placeOrder.js +1 -1
  246. package/lib/chevre/service/task/reserve.js +10 -7
  247. package/lib/chevre/service/task/returnOrder.js +1 -1
  248. package/lib/chevre/service/task/returnPayTransaction.js +2 -12
  249. package/lib/chevre/service/task/sendOrder.js +1 -1
  250. package/lib/chevre/service/task/syncScreeningRooms.d.ts +7 -0
  251. package/lib/chevre/service/task/syncScreeningRooms.js +23 -0
  252. package/lib/chevre/service/task/useReservation.d.ts +7 -0
  253. package/lib/chevre/service/task/useReservation.js +36 -0
  254. package/lib/chevre/service/task/voidReserveTransaction.js +4 -2
  255. package/lib/chevre/service/task.d.ts +6 -0
  256. package/lib/chevre/service/task.js +22 -4
  257. package/lib/chevre/service/transaction/deleteTransaction.d.ts +21 -0
  258. package/lib/chevre/service/transaction/deleteTransaction.js +232 -0
  259. package/lib/chevre/service/transaction/moneyTransfer/exportTasks/factory.js +11 -1
  260. package/lib/chevre/service/transaction/moneyTransfer/factory.d.ts +1 -1
  261. package/lib/chevre/service/transaction/moneyTransfer/factory.js +3 -1
  262. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.d.ts +1 -0
  263. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.js +1 -1
  264. package/lib/chevre/service/transaction/moneyTransfer.js +10 -13
  265. package/lib/chevre/service/transaction/orderProgramMembership/findCreditCard.js +1 -1
  266. package/lib/chevre/service/transaction/orderProgramMembership/findPaymentCardPermit.js +1 -1
  267. package/lib/chevre/service/transaction/orderProgramMembership.js +7 -3
  268. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +42 -30
  269. package/lib/chevre/service/transaction/placeOrder.js +1 -5
  270. package/lib/chevre/service/transaction/placeOrderInProgress/factory.js +1 -1
  271. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.d.ts +1 -0
  272. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.js +1 -1
  273. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.d.ts +1 -0
  274. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.js +1 -1
  275. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions.d.ts +1 -0
  276. package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.d.ts +3 -0
  277. package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.js +7 -3
  278. package/lib/chevre/service/transaction/placeOrderInProgress/result.d.ts +1 -0
  279. package/lib/chevre/service/transaction/placeOrderInProgress/result.js +2 -2
  280. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.d.ts +1 -1
  281. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.js +2 -2
  282. package/lib/chevre/service/transaction/placeOrderInProgress/validation.d.ts +2 -1
  283. package/lib/chevre/service/transaction/placeOrderInProgress/validation.js +23 -17
  284. package/lib/chevre/service/transaction/placeOrderInProgress.d.ts +0 -3
  285. package/lib/chevre/service/transaction/placeOrderInProgress.js +28 -15
  286. package/lib/chevre/service/transaction/returnOrder/exportTasks/factory.js +10 -1
  287. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +25 -17
  288. package/lib/chevre/service/transaction/returnOrder.d.ts +4 -0
  289. package/lib/chevre/service/transaction/returnOrder.js +228 -36
  290. package/lib/chevre/service/transaction.d.ts +7 -13
  291. package/lib/chevre/service/transaction.js +12 -139
  292. package/lib/chevre/settings.d.ts +13 -2
  293. package/lib/chevre/settings.js +56 -7
  294. package/package.json +5 -5
  295. package/example/src/chevre/createManyEventsIfNotExist.ts +0 -205
  296. package/example/src/chevre/eventCatalog2eventService.ts +0 -123
  297. package/example/src/chevre/migrateMoneyTransferPendingTransactionIdentifier.ts +0 -96
  298. package/example/src/chevre/migrateMovieAdditionalProperties.ts +0 -98
  299. package/example/src/chevre/migrateStockHolderKeys.ts +0 -89
  300. package/lib/chevre/service/task/deleteAssetTransaction.d.ts +0 -12
  301. package/lib/chevre/service/task/deleteAssetTransaction.js +0 -65
  302. package/lib/chevre/service/task/deleteOrder.d.ts +0 -6
@@ -111,15 +111,11 @@ exports.sendEmailMessage = sendEmailMessage;
111
111
  * https://notify-bot.line.me/doc/ja/
112
112
  */
113
113
  function report2developers(subject, content, imageThumbnail, imageFullsize) {
114
- return () => __awaiter(this, void 0, void 0, function* () {
114
+ return (repos) => __awaiter(this, void 0, void 0, function* () {
115
115
  const LINE_NOTIFY_URL = credentials_1.credentials.lineNotify.url;
116
- const LINE_NOTIFY_ACCESS_TOKEN = credentials_1.credentials.lineNotify.accessToken;
117
116
  if (LINE_NOTIFY_URL === undefined) {
118
117
  throw new Error('Environment variable LINE_NOTIFY_URL not set');
119
118
  }
120
- if (LINE_NOTIFY_ACCESS_TOKEN === undefined) {
121
- throw new Error('Environment variable LINE_NOTIFY_ACCESS_TOKEN not set');
122
- }
123
119
  const message = `--------
124
120
  ${subject}
125
121
  --------
@@ -130,7 +126,7 @@ ${content}`;
130
126
  var _a;
131
127
  request.post({
132
128
  url: LINE_NOTIFY_URL,
133
- auth: { bearer: LINE_NOTIFY_ACCESS_TOKEN },
129
+ auth: { bearer: repos.accessToken },
134
130
  form: formData,
135
131
  json: true,
136
132
  timeout: (_a = settings_1.settings.webhook) === null || _a === void 0 ? void 0 : _a.timeout
@@ -154,6 +150,45 @@ ${content}`;
154
150
  exports.report2developers = report2developers;
155
151
  const USERNAME_ARGUMENT_REQUIRED_MESSAGE = 'Missing required key \'Username\' in params';
156
152
  function triggerWebhook(params) {
153
+ return (repos) => __awaiter(this, void 0, void 0, function* () {
154
+ // retryableにする(2023-05-12~)
155
+ let retry = true;
156
+ let numberOfTry = 0;
157
+ while (numberOfTry >= 0) {
158
+ try {
159
+ numberOfTry += 1;
160
+ if (numberOfTry > settings_1.TRIGGER_WEBHOOK_MAX_RETRY_COUNT) {
161
+ retry = false;
162
+ }
163
+ // retryInterval
164
+ if (numberOfTry > 1) {
165
+ yield sleep(settings_1.TRIGGER_WEBHOOK_RETRY_INTERVAL_IN_MS * (numberOfTry - 1));
166
+ }
167
+ yield processInformAction(params)(repos);
168
+ break;
169
+ }
170
+ catch (error) {
171
+ if (retry) {
172
+ continue;
173
+ }
174
+ else {
175
+ throw error;
176
+ }
177
+ }
178
+ }
179
+ });
180
+ }
181
+ exports.triggerWebhook = triggerWebhook;
182
+ function sleep(waitTime) {
183
+ return __awaiter(this, void 0, void 0, function* () {
184
+ return new Promise((resolve) => {
185
+ setTimeout(() => {
186
+ resolve();
187
+ }, waitTime);
188
+ });
189
+ });
190
+ }
191
+ function processInformAction(params) {
157
192
  return (repos) => __awaiter(this, void 0, void 0, function* () {
158
193
  var _a, _b;
159
194
  // アクション開始
@@ -219,4 +254,3 @@ function triggerWebhook(params) {
219
254
  yield repos.action.complete({ typeOf: action.typeOf, id: action.id, result: result });
220
255
  });
221
256
  }
222
- exports.triggerWebhook = triggerWebhook;
@@ -57,5 +57,8 @@ declare function authorize(params: {
57
57
  */
58
58
  id: string;
59
59
  };
60
+ disablePendingReservations: boolean;
61
+ useHoldStockByTransactionNumber: boolean;
62
+ stockHoldUntilDaysAfterEventEnd: number;
60
63
  }): IAuthorizeOperation<IAuthorizeOfferAction>;
61
64
  export { authorize };
@@ -66,7 +66,10 @@ function authorize(params) {
66
66
  ticketOffers,
67
67
  unitPriceOffers,
68
68
  validateEvent: params.validateEvent === true,
69
- validateEventOfferPeriod: params.validateEventOfferPeriod === true
69
+ validateEventOfferPeriod: params.validateEventOfferPeriod === true,
70
+ disablePendingReservations: params.disablePendingReservations,
71
+ useHoldStockByTransactionNumber: params.useHoldStockByTransactionNumber,
72
+ stockHoldUntilDaysAfterEventEnd: params.stockHoldUntilDaysAfterEventEnd
70
73
  })(repos);
71
74
  // requestBody = processStartReserveResult.requestBody;
72
75
  // responseBody = processStartReserveResult.responseBody;
@@ -162,9 +165,12 @@ function processStartReserve4chevre(params) {
162
165
  // requestBody = startParams;
163
166
  const startParamObject = yield validateObjectWithoutDetail(startParams)(repos);
164
167
  // 予約取引開始
165
- responseBody = yield ReserveTransactionService.start(Object.assign(Object.assign({}, startParams), { object: startParamObject, preSearchedEvent: event, preSearchedTicketOffers: params.ticketOffers, preSearchedUnitPriceOffers: params.unitPriceOffers, availableAtOrFrom: { id: params.availableAtOrFrom.id }, validateEvent: params.validateEvent, validateEventOfferPeriod: params.validateEventOfferPeriod, validateAppliesToMovieTicket: true }))(repos);
168
+ const startReserveTransactionResult = yield ReserveTransactionService.start(Object.assign(Object.assign({}, startParams), { object: startParamObject, preSearchedEvent: event, preSearchedTicketOffers: params.ticketOffers, preSearchedUnitPriceOffers: params.unitPriceOffers, availableAtOrFrom: { id: params.availableAtOrFrom.id }, validateEvent: params.validateEvent, validateEventOfferPeriod: params.validateEventOfferPeriod, validateAppliesToMovieTicket: true, disablePendingReservations: params.disablePendingReservations, useHoldStockByTransactionNumber: params.useHoldStockByTransactionNumber, stockHoldUntilDaysAfterEventEnd: params.stockHoldUntilDaysAfterEventEnd }))(repos);
169
+ responseBody = startReserveTransactionResult.transaction;
166
170
  // 予約取引からオファー情報を生成する
167
171
  acceptedOffers4result = (0, factory_1.responseBody2acceptedOffers4result)({
172
+ issuedThrough: startReserveTransactionResult.issuedThrough,
173
+ objectSubReservations: startReserveTransactionResult.objectSubReservations,
168
174
  responseBody: responseBody,
169
175
  event: event,
170
176
  project: transaction.project,
@@ -23,8 +23,11 @@ export declare function createAuthorizeSeatReservationActionAttributes(params: {
23
23
  export declare function acceptedOffers2amount(params: {
24
24
  acceptedOffers: IResultAcceptedOffer[];
25
25
  }): number;
26
+ type IObjectSubReservation = factory.assetTransaction.reserve.IObjectSubReservation;
26
27
  type IResultAcceptedOffer = factory.action.authorize.offer.seatReservation.IResultAcceptedOffer;
27
28
  export declare function responseBody2acceptedOffers4result(params: {
29
+ issuedThrough: factory.assetTransaction.reserve.IIssuedThrough;
30
+ objectSubReservations: IObjectSubReservation[];
28
31
  responseBody: factory.assetTransaction.reserve.ITransaction;
29
32
  event: IMinimizedIndividualEvent<factory.eventType.ScreeningEvent>;
30
33
  project: {
@@ -154,10 +154,15 @@ exports.acceptedOffers2amount = acceptedOffers2amount;
154
154
  function responseBody2acceptedOffers4result(params) {
155
155
  let acceptedOffers4result = [];
156
156
  // 予約取引からacceptedOffers4resultを生成する
157
- if (Array.isArray(params.responseBody.object.subReservation)) {
158
- acceptedOffers4result = params.responseBody.object.subReservation.map((itemOffered) => {
157
+ if (Array.isArray(params.objectSubReservations)) {
158
+ acceptedOffers4result = params.objectSubReservations.map((itemOffered) => {
159
159
  var _a;
160
- const reservation = createReservation({ project: params.project, itemOffered, event: params.event });
160
+ const reservation = createReservation({
161
+ project: params.project,
162
+ itemOffered,
163
+ event: params.event,
164
+ issuedThrough: params.issuedThrough
165
+ });
161
166
  // appliesToMovieTicketがArrayでないケースは廃止(2022-09-12~)
162
167
  const priceSpecification = itemOffered.price;
163
168
  const priceComponent = priceSpecification.priceComponent.map((c) => {
@@ -244,7 +249,10 @@ function createReservation(params) {
244
249
  // 最適化(2022-05-31~)
245
250
  superEvent: Object.assign(Object.assign({ typeOf: event.superEvent.typeOf, id: event.superEvent.id, kanaName: event.superEvent.kanaName, location: event.superEvent.location, name: event.superEvent.name, soundFormat: event.superEvent.soundFormat, videoFormat: event.superEvent.videoFormat, workPerformed }, (typeof event.superEvent.duration === 'string') ? { duration: event.superEvent.duration } : undefined), (event.superEvent.headline !== undefined) ? { headline: event.superEvent.headline } : undefined)
246
251
  };
247
- reservationItem = Object.assign({ project: itemOffered.project, typeOf: itemOffered.typeOf, additionalProperty: itemOffered.additionalProperty, additionalTicketText: itemOffered.additionalTicketText, id: itemOffered.id, issuedThrough: itemOffered.issuedThrough, reservationNumber: itemOffered.reservationNumber, reservationFor,
252
+ if (params.issuedThrough.typeOf !== factory.product.ProductType.EventService) {
253
+ throw new factory.errors.Argument('issuedThrough', `issuedThrough.typeOf must be ${factory.product.ProductType.EventService}`);
254
+ }
255
+ reservationItem = Object.assign({ project: itemOffered.project, typeOf: itemOffered.typeOf, additionalProperty: itemOffered.additionalProperty, additionalTicketText: itemOffered.additionalTicketText, id: itemOffered.id, issuedThrough: params.issuedThrough, reservationNumber: itemOffered.reservationNumber, reservationFor,
248
256
  reservedTicket }, (typeof ((_a = itemOffered.programMembershipUsed) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string')
249
257
  ? { programMembershipUsed: itemOffered.programMembershipUsed }
250
258
  : undefined);
@@ -269,7 +277,10 @@ function createReservation(params) {
269
277
  busNumber: tripByEvent.busNumber,
270
278
  identifier: tripByEvent.identifier
271
279
  };
272
- reservationItem = Object.assign({ project: itemOffered.project, typeOf: itemOffered.typeOf, additionalProperty: itemOffered.additionalProperty, additionalTicketText: itemOffered.additionalTicketText, id: itemOffered.id, issuedThrough: itemOffered.issuedThrough, reservationNumber: itemOffered.reservationNumber, reservationFor,
280
+ if (params.issuedThrough.typeOf !== factory.product.ProductType.Transportation) {
281
+ throw new factory.errors.Argument('issuedThrough', `issuedThrough.typeOf must be ${factory.product.ProductType.Transportation}`);
282
+ }
283
+ reservationItem = Object.assign({ project: itemOffered.project, typeOf: itemOffered.typeOf, additionalProperty: itemOffered.additionalProperty, additionalTicketText: itemOffered.additionalTicketText, id: itemOffered.id, issuedThrough: params.issuedThrough, reservationNumber: itemOffered.reservationNumber, reservationFor,
273
284
  reservedTicket }, (typeof ((_d = itemOffered.programMembershipUsed) === null || _d === void 0 ? void 0 : _d.typeOf) === 'string')
274
285
  ? { programMembershipUsed: itemOffered.programMembershipUsed }
275
286
  : undefined);
@@ -20,7 +20,7 @@ function importFromCOA(params) {
20
20
  page: 1,
21
21
  project: { id: { $eq: params.project.id } },
22
22
  inCodeSet: { identifier: { $eq: factory.categoryCode.CategorySetIdentifier.CurrencyType } }
23
- });
23
+ }, [], []);
24
24
  const defaultCurrencyType = currencyTypes.shift();
25
25
  // メンバーシップ区分検索
26
26
  const membershipTypes = yield repos.categoryCode.search({
@@ -28,7 +28,7 @@ function importFromCOA(params) {
28
28
  page: 1,
29
29
  project: { id: { $eq: params.project.id } },
30
30
  inCodeSet: { identifier: { $eq: factory.categoryCode.CategorySetIdentifier.MembershipType } }
31
- });
31
+ }, [], []);
32
32
  const defaultMembershipType = membershipTypes.shift();
33
33
  try {
34
34
  const ticketResults = yield repos.masterService.ticket({ theaterCode: params.theaterCode });
@@ -5,6 +5,7 @@ import { RedisRepository as OfferRateLimitRepo } from '../../../repo/rateLimit/o
5
5
  import { MongoRepository as ReservationRepo } from '../../../repo/reservation';
6
6
  import { StockHolderRepository as StockHolderRepo } from '../../../repo/stockHolder';
7
7
  import { MongoRepository as TaskRepo } from '../../../repo/task';
8
+ import { MongoRepository as TransactionRepo } from '../../../repo/transaction';
8
9
  export import WebAPIIdentifier = factory.service.webAPI.Identifier;
9
10
  interface IVoidTransactionRepos {
10
11
  action: ActionRepo;
@@ -13,6 +14,7 @@ interface IVoidTransactionRepos {
13
14
  offerRateLimit: OfferRateLimitRepo;
14
15
  reservation: ReservationRepo;
15
16
  task: TaskRepo;
17
+ transaction: TransactionRepo;
16
18
  }
17
19
  /**
18
20
  * イベントオファー承認取消(タスクから実行)
@@ -26,8 +26,13 @@ exports.WebAPIIdentifier = factory.service.webAPI.Identifier;
26
26
  */
27
27
  function voidTransaction(params) {
28
28
  return (repos) => __awaiter(this, void 0, void 0, function* () {
29
+ const transaction = yield repos.transaction.findById({
30
+ typeOf: params.purpose.typeOf,
31
+ id: params.purpose.id,
32
+ inclusion: ['_id', 'typeOf', 'status']
33
+ });
29
34
  // 座席仮予約アクション検索
30
- const authorizeActions = yield repos.action.searchByPurpose({
35
+ let authorizeActions = yield repos.action.searchByPurpose({
31
36
  typeOf: factory.actionType.AuthorizeAction,
32
37
  purpose: {
33
38
  typeOf: params.purpose.typeOf,
@@ -36,6 +41,17 @@ function voidTransaction(params) {
36
41
  })
37
42
  .then((actions) => actions
38
43
  .filter((a) => a.object.typeOf === factory.action.authorize.offer.seatReservation.ObjectType.SeatReservation));
44
+ switch (transaction.status) {
45
+ case factory.transactionStatusType.InProgress:
46
+ throw new factory.errors.NotImplemented(`${transaction.status} not implemented`);
47
+ // 確定取引に対応(2023-05-07~)
48
+ case factory.transactionStatusType.Confirmed:
49
+ // アクションステータスを検証する
50
+ authorizeActions = authorizeActions.filter((a) => a.actionStatus !== factory.actionStatusType.CompletedActionStatus);
51
+ break;
52
+ default:
53
+ // no op
54
+ }
39
55
  yield Promise.all(authorizeActions.map((action) => __awaiter(this, void 0, void 0, function* () {
40
56
  yield repos.action.cancel({ typeOf: action.typeOf, id: action.id });
41
57
  switch (action.instrument.identifier) {
@@ -29,21 +29,19 @@ function authorize(params) {
29
29
  throw new factory.errors.Forbidden('Transaction not yours');
30
30
  }
31
31
  // イベント取得属性最適化(2023-01-23~)
32
- const screeningEvent = yield repos.event.findMinimizedIndividualEventById({
33
- id: params.object.event.id
34
- });
32
+ const screeningEvent = yield repos.event.findMinimizedIndividualEventById({ id: params.object.event.id });
35
33
  const availablePaymentMethodTypes = yield repos.categoryCode.search({
36
34
  project: { id: { $eq: transaction.project.id } },
37
35
  inCodeSet: { identifier: { $eq: factory.categoryCode.CategorySetIdentifier.PaymentMethodType } }
38
- });
36
+ }, [], []);
39
37
  const seatingTypes = yield repos.categoryCode.search({
40
38
  project: { id: { $eq: transaction.project.id } },
41
39
  inCodeSet: { identifier: { $eq: factory.categoryCode.CategorySetIdentifier.SeatingType } }
42
- });
40
+ }, [], []);
43
41
  const videoFormatTypes = yield repos.categoryCode.search({
44
42
  project: { id: { $eq: transaction.project.id } },
45
43
  inCodeSet: { identifier: { $eq: factory.categoryCode.CategorySetIdentifier.VideoFormatType } }
46
- });
44
+ }, [], []);
47
45
  // COA仮予約後にリクエストが来る前提
48
46
  const { acceptedOffers } = yield (0, validateAcceptedOffers_1.validateAcceptedOffers)({
49
47
  object: params.object,
@@ -183,15 +181,15 @@ function changeOffers(params) {
183
181
  const availablePaymentMethodTypes = yield repos.categoryCode.search({
184
182
  project: { id: { $eq: transaction.project.id } },
185
183
  inCodeSet: { identifier: { $eq: factory.categoryCode.CategorySetIdentifier.PaymentMethodType } }
186
- });
184
+ }, [], []);
187
185
  const seatingTypes = yield repos.categoryCode.search({
188
186
  project: { id: { $eq: transaction.project.id } },
189
187
  inCodeSet: { identifier: { $eq: factory.categoryCode.CategorySetIdentifier.SeatingType } }
190
- });
188
+ }, [], []);
191
189
  const videoFormatTypes = yield repos.categoryCode.search({
192
190
  project: { id: { $eq: transaction.project.id } },
193
191
  inCodeSet: { identifier: { $eq: factory.categoryCode.CategorySetIdentifier.VideoFormatType } }
194
- });
192
+ }, [], []);
195
193
  // COA仮予約後にリクエストが来る前提
196
194
  const { acceptedOffers } = yield (0, validateAcceptedOffers_1.validateAcceptedOffers)({
197
195
  object: params.object,
@@ -32,7 +32,7 @@ function search(params) {
32
32
  page: 1,
33
33
  project: { id: { $eq: params.project.id } },
34
34
  id: { $eq: params.itemOffered.id }
35
- });
35
+ }, [], []);
36
36
  const product = searchProductsResult.shift();
37
37
  if (product === undefined) {
38
38
  throw new factory.errors.NotFound('Product');
@@ -206,7 +206,7 @@ function fixProductAndOffers(params) {
206
206
  page: 1,
207
207
  project: { id: { $eq: params.project.id } },
208
208
  id: { $eq: productId }
209
- });
209
+ }, [], []);
210
210
  const product = searchProductsResult.shift();
211
211
  if (product === undefined) {
212
212
  throw new factory.errors.NotFound('Product');
@@ -47,19 +47,17 @@ export declare function searchEventSeatOffersWithPaging(params: {
47
47
  stockHolder: StockHolderRepo;
48
48
  place: PlaceRepo;
49
49
  }) => Promise<factory.place.seat.IPlaceWithOffer[]>;
50
- interface IChangedEvent {
51
- id: string;
52
- typeOf: factory.eventType;
53
- project: {
54
- id: string;
55
- };
56
- }
57
50
  /**
58
51
  * イベント変更時処理
59
52
  */
60
53
  export declare function onEventChanged(params: {
61
- event: IChangedEvent | IChangedEvent[];
54
+ id: string[];
55
+ typeOf: factory.eventType;
56
+ project: {
57
+ id: string;
58
+ };
62
59
  isNew: boolean;
60
+ useInform?: boolean;
63
61
  }): (repos: {
64
62
  event: EventRepo;
65
63
  project: ProjectRepo;
@@ -76,3 +74,13 @@ export declare function createAggregateScreeningEventIfNotExist(params: {
76
74
  }): (repos: {
77
75
  task: TaskRepo;
78
76
  }) => Promise<void>;
77
+ export declare function createInformTasks(params: {
78
+ project: {
79
+ id: string;
80
+ };
81
+ ids: string[];
82
+ typeOf: factory.eventType;
83
+ }): (repos: {
84
+ event: EventRepo;
85
+ task: TaskRepo;
86
+ }) => Promise<void>;
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.createAggregateScreeningEventIfNotExist = exports.onEventChanged = exports.searchEventSeatOffersWithPaging = exports.addOffers2Seat = exports.product = exports.moneyTransfer = exports.eventServiceByCOA = exports.event = void 0;
12
+ exports.createInformTasks = exports.createAggregateScreeningEventIfNotExist = exports.onEventChanged = exports.searchEventSeatOffersWithPaging = exports.addOffers2Seat = exports.product = exports.moneyTransfer = exports.eventServiceByCOA = exports.event = void 0;
13
13
  const moment = require("moment");
14
14
  const factory = require("../factory");
15
15
  const EventOfferService = require("./offer/event");
@@ -20,6 +20,8 @@ const MoneyTransferOfferService = require("./offer/moneyTransfer");
20
20
  exports.moneyTransfer = MoneyTransferOfferService;
21
21
  const ProductOfferService = require("./offer/product");
22
22
  exports.product = ProductOfferService;
23
+ const settings_1 = require("../settings");
24
+ const informEvents = settings_1.settings.onEventChanged.informEvent;
23
25
  /**
24
26
  * 座席にオファー情報を付加する
25
27
  */
@@ -89,9 +91,11 @@ function searchEventSeatOffersWithPaging(params) {
89
91
  } }));
90
92
  if (seats.length > 0) {
91
93
  const availabilities = yield repos.stockHolder.searchHolders({
94
+ project: { id: event.project.id },
92
95
  eventId: params.event.id,
93
96
  startDate: moment(event.startDate)
94
97
  .toDate(),
98
+ hasTicketedSeat: true,
95
99
  offers: seats.map((s) => {
96
100
  var _a;
97
101
  return {
@@ -117,24 +121,33 @@ function searchEventSeatOffersWithPaging(params) {
117
121
  });
118
122
  }
119
123
  exports.searchEventSeatOffersWithPaging = searchEventSeatOffersWithPaging;
124
+ // type IChangedEvent = factory.task.onEventChanged.IChangedEvent;
120
125
  /**
121
126
  * イベント変更時処理
122
127
  */
123
128
  function onEventChanged(params) {
124
129
  return (repos) => __awaiter(this, void 0, void 0, function* () {
125
- const changedEvents = (Array.isArray(params.event)) ? params.event : [params.event];
126
- if (changedEvents.length > 0) {
130
+ // const changedEvents = (Array.isArray(params.event)) ? params.event : [params.event];
131
+ if (params.id.length > 0) {
127
132
  // ScreeningEventであれば集計タスク
128
- if (changedEvents[0].typeOf === factory.eventType.ScreeningEvent) {
133
+ if (params.typeOf === factory.eventType.ScreeningEvent) {
129
134
  yield createAggregateScreeningEventIfNotExist({
130
- project: { id: changedEvents[0].project.id },
131
- reservationFor: changedEvents.map((changedEvent) => {
132
- return { id: changedEvent.id };
135
+ project: { id: params.project.id },
136
+ reservationFor: params.id.map((id) => {
137
+ return { id };
133
138
  }),
134
139
  // 新規作成の場合は強制的に集計
135
140
  force: params.isNew
136
141
  })(repos);
137
142
  }
143
+ // 通知タスク作成(2023-06-08~)
144
+ if (params.useInform === true) {
145
+ yield createInformTasks({
146
+ project: { id: params.project.id },
147
+ ids: params.id,
148
+ typeOf: params.typeOf
149
+ })(repos);
150
+ }
138
151
  }
139
152
  });
140
153
  }
@@ -186,8 +199,58 @@ function createAggregateScreeningEventIfNotExist(params) {
186
199
  }
187
200
  }
188
201
  if (aggregateTasks.length > 0) {
189
- yield repos.task.saveMany(aggregateTasks);
202
+ yield repos.task.saveMany(aggregateTasks, { emitImmediately: true });
190
203
  }
191
204
  });
192
205
  }
193
206
  exports.createAggregateScreeningEventIfNotExist = createAggregateScreeningEventIfNotExist;
207
+ function createInformTasks(params) {
208
+ return (repos) => __awaiter(this, void 0, void 0, function* () {
209
+ const events4inform = yield repos.event.search({
210
+ id: { $in: params.ids },
211
+ typeOf: params.typeOf
212
+ }, {
213
+ aggregateEntranceGate: 0, aggregateOffer: 0, aggregateReservation: 0,
214
+ remainingAttendeeCapacity: 0, checkInCount: 0, attendeeCount: 0
215
+ });
216
+ if (events4inform.length > 0) {
217
+ const taskRunsAt = new Date();
218
+ const informTasks = [];
219
+ informEvents === null || informEvents === void 0 ? void 0 : informEvents.forEach((informEvent) => {
220
+ var _a;
221
+ const informUrl = String((_a = informEvent.recipient) === null || _a === void 0 ? void 0 : _a.url);
222
+ events4inform.forEach((event4inform) => {
223
+ var _a;
224
+ // _idは不要であり、存在すると予期せぬ影響を及ぼす可能性がある
225
+ delete event4inform._id;
226
+ const informActionAttributes = {
227
+ agent: event4inform.project,
228
+ object: event4inform,
229
+ project: event4inform.project,
230
+ recipient: {
231
+ id: '',
232
+ name: String((_a = informEvent.recipient) === null || _a === void 0 ? void 0 : _a.name),
233
+ typeOf: factory.creativeWorkType.WebApplication,
234
+ url: informUrl
235
+ },
236
+ typeOf: factory.actionType.InformAction
237
+ };
238
+ informTasks.push({
239
+ project: event4inform.project,
240
+ name: factory.taskName.TriggerWebhook,
241
+ status: factory.taskStatus.Ready,
242
+ runsAt: taskRunsAt,
243
+ remainingNumberOfTries: 10,
244
+ numberOfTried: 0,
245
+ executionResults: [],
246
+ data: informActionAttributes
247
+ });
248
+ });
249
+ });
250
+ if (informTasks.length > 0) {
251
+ yield repos.task.saveMany(informTasks, { emitImmediately: true });
252
+ }
253
+ }
254
+ });
255
+ }
256
+ exports.createInformTasks = createInformTasks;
@@ -7,7 +7,9 @@ import * as factory from '../../factory';
7
7
  * 注文に関わるリソースを削除する
8
8
  * 冪等性を確保すること
9
9
  */
10
- declare function deleteOrder(params: factory.task.IData<factory.taskName.DeleteOrder>): (repos: {
10
+ declare function deleteOrder(params: {
11
+ object: Pick<factory.order.IOrder, 'project' | 'typeOf' | 'confirmationNumber' | 'orderDate' | 'orderNumber'>;
12
+ }): (repos: {
11
13
  accountingReport: AccountingReportRepo;
12
14
  order: OrderRepo;
13
15
  ownershipInfo: OwnershipInfoRepo;
@@ -18,7 +18,14 @@ const factory = require("../../factory");
18
18
  */
19
19
  function deleteOrder(params) {
20
20
  return (repos) => __awaiter(this, void 0, void 0, function* () {
21
- const order = params.object;
21
+ const orders = yield repos.order.search({
22
+ orderNumbers: [params.object.orderNumber]
23
+ });
24
+ const order = orders.shift();
25
+ if (order === undefined) {
26
+ // すでに削除済
27
+ return;
28
+ }
22
29
  // 注文アイテムの予約を削除
23
30
  yield deleteReservationsByOrder(order)(repos);
24
31
  // 所有権削除
@@ -63,13 +70,6 @@ function deleteOwnershipInfosByOrder(order) {
63
70
  // 所有期限切れのもの(ownedThroughの存在しないものは削除してはいけない)
64
71
  ownedThrough: { $lt: now }
65
72
  });
66
- // await repos.ownershipInfo.ownershipInfoModel.deleteMany({
67
- // 'project.id': { $eq: order.project.id },
68
- // identifier: { $in: ownershipIdentifiers },
69
- // // 所有期限切れのもの(ownedThroughの存在しないものは削除してはいけない)
70
- // ownedThrough: { $exists: true, $lt: now }
71
- // })
72
- // .exec();
73
73
  }
74
74
  });
75
75
  }
@@ -6,8 +6,11 @@ export declare function getOrderWithToken(params: {
6
6
  order: factory.order.IOrder;
7
7
  expiresIn: number;
8
8
  }): Promise<factory.order.IOrder | IOrderWithToken>;
9
- export declare function createInformTasks(order: factory.order.IOrder | IOrderWithToken): factory.task.IAttributes<factory.taskName.TriggerWebhook>[];
10
- export declare function createDeleteTasks(order: factory.order.IOrder): factory.task.IAttributes<factory.taskName.DeleteOrder>[];
9
+ export type IUpdatedOrder4inform = Pick<factory.order.IOrder, 'typeOf' | 'orderNumber' | 'name' | 'additionalProperty' | 'project'> & {
10
+ orderStatus?: undefined;
11
+ updatedAt: Date;
12
+ };
13
+ export declare function createInformTasks(order: factory.order.IOrder | IOrderWithToken | IUpdatedOrder4inform): factory.task.IAttributes<factory.taskName.TriggerWebhook>[];
11
14
  export declare function createConfirmReservationActionObject4ChevreByOrder(params: {
12
15
  order: factory.order.IOrder;
13
16
  }): factory.action.interact.confirm.reservation.IObject<factory.service.webAPI.Identifier.Chevre>[];