@chevre/domain 21.20.0-alpha.9 → 21.20.1

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 (226) hide show
  1. package/example/src/chevre/findTransactionById.ts +21 -0
  2. package/example/src/chevre/importCategoryCodesFromCOA.ts +2 -1
  3. package/example/src/chevre/importOffersFromCOA.ts +2 -1
  4. package/example/src/chevre/migrateActionInstrumentTransactionNumber.ts +93 -0
  5. package/example/src/chevre/migrateDeleteTransactionTasks.ts +119 -0
  6. package/example/src/chevre/migrateEventMakesOfferAvailableAtOrFrom.ts +87 -0
  7. package/example/src/chevre/migrateIAMMemberPOSRoles.ts +3 -2
  8. package/example/src/chevre/migrateOfferAvailableAtOrFrom.ts +63 -0
  9. package/example/src/chevre/{migrateOrderPaymentMethodIdentifier.ts → migrateOrderAcceptedOfferSerialNumber.ts} +18 -19
  10. package/example/src/chevre/onAssetTransactionStatusChanged.ts +36 -0
  11. package/example/src/chevre/retryTasks.ts +39 -0
  12. package/example/src/chevre/searchActions.ts +13 -7
  13. package/example/src/chevre/searchOrderAcceptedOffers.ts +13 -3
  14. package/example/src/chevre/searchOrders.ts +13 -15
  15. package/example/src/chevre/searchSlicedAcceptedOffersByOrderNumber.ts +28 -0
  16. package/example/src/chevre/sendOrder.ts +37 -0
  17. package/example/src/chevre/transaction/processPlaceOrder.ts +2 -3
  18. package/example/src/verifyToken.ts +44 -0
  19. package/lib/chevre/credentials.d.ts +2 -0
  20. package/lib/chevre/credentials.js +4 -2
  21. package/lib/chevre/errorHandler.js +3 -0
  22. package/lib/chevre/factory/order.d.ts +1 -0
  23. package/lib/chevre/factory/order.js +2 -1
  24. package/lib/chevre/factory/reservedAgentIdentifireNames.js +2 -1
  25. package/lib/chevre/factory/transaction.d.ts +10 -1
  26. package/lib/chevre/repo/acceptedOffer.d.ts +58 -2
  27. package/lib/chevre/repo/acceptedOffer.js +100 -4
  28. package/lib/chevre/repo/accountingReport.d.ts +33 -7
  29. package/lib/chevre/repo/accountingReport.js +157 -5
  30. package/lib/chevre/repo/action.d.ts +32 -8
  31. package/lib/chevre/repo/action.js +114 -54
  32. package/lib/chevre/repo/event.d.ts +20 -0
  33. package/lib/chevre/repo/event.js +22 -0
  34. package/lib/chevre/repo/member.d.ts +8 -1
  35. package/lib/chevre/repo/member.js +7 -1
  36. package/lib/chevre/repo/mongoose/schemas/accountingReport.js +2 -1
  37. package/lib/chevre/repo/mongoose/schemas/action.d.ts +1 -1
  38. package/lib/chevre/repo/mongoose/schemas/action.js +25 -11
  39. package/lib/chevre/repo/mongoose/schemas/order.d.ts +1 -1
  40. package/lib/chevre/repo/mongoose/schemas/order.js +38 -11
  41. package/lib/chevre/repo/offer.d.ts +42 -0
  42. package/lib/chevre/repo/offer.js +35 -0
  43. package/lib/chevre/repo/order.js +43 -20
  44. package/lib/chevre/repo/orderInTransaction.d.ts +44 -0
  45. package/lib/chevre/repo/orderInTransaction.js +164 -0
  46. package/lib/chevre/repo/paymentServiceProvider.js +2 -1
  47. package/lib/chevre/repo/person.js +1 -4
  48. package/lib/chevre/repo/task.d.ts +26 -3
  49. package/lib/chevre/repo/task.js +61 -46
  50. package/lib/chevre/repo/transaction.d.ts +2 -2
  51. package/lib/chevre/repo/transaction.js +13 -36
  52. package/lib/chevre/repository.d.ts +5 -0
  53. package/lib/chevre/repository.js +15 -2
  54. package/lib/chevre/service/aggregation/event/importFromCOA.js +5 -5
  55. package/lib/chevre/service/assetTransaction/pay/factory.js +1 -6
  56. package/lib/chevre/service/assetTransaction/pay/potentialActions/createPayObjectServiceOutput.d.ts +9 -0
  57. package/lib/chevre/service/assetTransaction/pay/potentialActions/createPayObjectServiceOutput.js +143 -0
  58. package/lib/chevre/service/assetTransaction/pay/potentialActions.d.ts +11 -3
  59. package/lib/chevre/service/assetTransaction/pay/potentialActions.js +4 -165
  60. package/lib/chevre/service/assetTransaction/pay.d.ts +21 -4
  61. package/lib/chevre/service/assetTransaction/pay.js +64 -23
  62. package/lib/chevre/service/assetTransaction/reserve/factory.js +11 -14
  63. package/lib/chevre/service/assetTransaction/reserveCOA.d.ts +19 -0
  64. package/lib/chevre/service/assetTransaction/reserveCOA.js +46 -0
  65. package/lib/chevre/service/code.js +1 -1
  66. package/lib/chevre/service/delivery.js +2 -2
  67. package/lib/chevre/service/event/createEvent.js +1 -1
  68. package/lib/chevre/service/event.js +16 -24
  69. package/lib/chevre/service/moneyTransfer.js +1 -1
  70. package/lib/chevre/service/notification.js +71 -66
  71. package/lib/chevre/service/offer/any.d.ts +35 -0
  72. package/lib/chevre/service/offer/any.js +67 -0
  73. package/lib/chevre/service/offer/event/authorize.d.ts +7 -0
  74. package/lib/chevre/service/offer/event/authorize.js +27 -17
  75. package/lib/chevre/service/offer/event/cancel.d.ts +2 -0
  76. package/lib/chevre/service/offer/event/cancel.js +13 -1
  77. package/lib/chevre/service/offer/event/factory.d.ts +1 -1
  78. package/lib/chevre/service/offer/event/factory.js +11 -22
  79. package/lib/chevre/service/offer/event/importFromCOA.js +6 -8
  80. package/lib/chevre/service/offer/event/voidTransaction.d.ts +2 -0
  81. package/lib/chevre/service/offer/event/voidTransaction.js +24 -7
  82. package/lib/chevre/service/offer/eventServiceByCOA/authorize.d.ts +54 -0
  83. package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +138 -0
  84. package/lib/chevre/service/offer/eventServiceByCOA/cancel.d.ts +39 -0
  85. package/lib/chevre/service/offer/eventServiceByCOA/cancel.js +59 -0
  86. package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.d.ts +25 -0
  87. package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.js +165 -0
  88. package/lib/chevre/service/offer/eventServiceByCOA/factory.js +10 -23
  89. package/lib/chevre/service/offer/eventServiceByCOA.d.ts +4 -89
  90. package/lib/chevre/service/offer/eventServiceByCOA.js +7 -292
  91. package/lib/chevre/service/offer/moneyTransfer/authorize.d.ts +10 -1
  92. package/lib/chevre/service/offer/moneyTransfer/authorize.js +49 -3
  93. package/lib/chevre/service/offer/moneyTransfer/returnMoneyTransfer.js +1 -1
  94. package/lib/chevre/service/offer/moneyTransfer/settleTransaction.d.ts +2 -0
  95. package/lib/chevre/service/offer/moneyTransfer/settleTransaction.js +47 -2
  96. package/lib/chevre/service/offer/moneyTransfer/voidTransaction.js +1 -1
  97. package/lib/chevre/service/offer/product/factory.js +2 -5
  98. package/lib/chevre/service/offer/product.d.ts +2 -0
  99. package/lib/chevre/service/offer/product.js +11 -23
  100. package/lib/chevre/service/order/confirmPayTransaction.d.ts +3 -1
  101. package/lib/chevre/service/order/confirmPayTransaction.js +4 -4
  102. package/lib/chevre/service/order/createAccountingReportIfNotExist.js +1 -1
  103. package/lib/chevre/service/order/onAssetTransactionStatusChanged.d.ts +12 -1
  104. package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +206 -7
  105. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.d.ts +1 -1
  106. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered/factory.d.ts +1 -1
  107. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered/factory.js +51 -53
  108. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.d.ts +1 -1
  109. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.js +10 -25
  110. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.d.ts +16 -0
  111. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.js +91 -0
  112. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.d.ts +8 -0
  113. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.js +37 -0
  114. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.d.ts +12 -0
  115. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.js +115 -0
  116. package/lib/chevre/service/order/onOrderStatusChanged/onOrderPaymentDue.js +19 -1
  117. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/createSendEmailMessageTaskIfNotExist.d.ts +8 -0
  118. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/createSendEmailMessageTaskIfNotExist.js +41 -0
  119. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.d.ts +6 -10
  120. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.js +116 -92
  121. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.d.ts +4 -1
  122. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.js +81 -84
  123. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.d.ts +1 -1
  124. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.js +18 -15
  125. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned.js +62 -1
  126. package/lib/chevre/service/order/onOrderStatusChanged.d.ts +3 -1
  127. package/lib/chevre/service/order/onOrderStatusChanged.js +5 -1
  128. package/lib/chevre/service/order/placeOrder.d.ts +3 -1
  129. package/lib/chevre/service/order/placeOrder.js +157 -50
  130. package/lib/chevre/service/order/returnOrder.js +25 -16
  131. package/lib/chevre/service/order/sendOrder.d.ts +5 -0
  132. package/lib/chevre/service/order/sendOrder.js +67 -33
  133. package/lib/chevre/service/payment/any/onPaid.js +1 -1
  134. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onPaid.d.ts +3 -1
  135. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onPaid.js +15 -9
  136. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onRefunded.d.ts +3 -1
  137. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onRefunded.js +8 -5
  138. package/lib/chevre/service/payment/any/onPaymentStatusChanged.js +2 -2
  139. package/lib/chevre/service/payment/any/onRefund.js +1 -1
  140. package/lib/chevre/service/payment/any.d.ts +6 -5
  141. package/lib/chevre/service/payment/any.js +3 -2
  142. package/lib/chevre/service/payment/creditCard.d.ts +1 -1
  143. package/lib/chevre/service/payment/creditCard.js +62 -74
  144. package/lib/chevre/service/payment/faceToFace.d.ts +1 -1
  145. package/lib/chevre/service/payment/movieTicket.d.ts +1 -1
  146. package/lib/chevre/service/payment/movieTicket.js +1 -1
  147. package/lib/chevre/service/payment/paymentCard.d.ts +1 -1
  148. package/lib/chevre/service/payment.d.ts +5 -0
  149. package/lib/chevre/service/payment.js +40 -5
  150. package/lib/chevre/service/product.js +1 -1
  151. package/lib/chevre/service/reserve/cancelReservation.js +2 -2
  152. package/lib/chevre/service/reserve/checkInReservation.d.ts +1 -3
  153. package/lib/chevre/service/reserve/checkInReservation.js +6 -5
  154. package/lib/chevre/service/reserve/confirmReservation.js +1 -1
  155. package/lib/chevre/service/reserve/factory.js +0 -8
  156. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.d.ts +1 -1
  157. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +4 -4
  158. package/lib/chevre/service/reserve/searchByOrder.js +2 -1
  159. package/lib/chevre/service/reserve/useReservation.d.ts +1 -3
  160. package/lib/chevre/service/reserve/useReservation.js +10 -9
  161. package/lib/chevre/service/reserve/verifyToken4reservation.js +2 -0
  162. package/lib/chevre/service/task/confirmMoneyTransfer.js +4 -4
  163. package/lib/chevre/service/task/confirmPayTransaction.js +2 -1
  164. package/lib/chevre/service/task/confirmRegisterServiceTransaction.d.ts +1 -1
  165. package/lib/chevre/service/task/confirmRegisterServiceTransaction.js +30 -8
  166. package/lib/chevre/service/task/confirmReserveTransaction.d.ts +6 -1
  167. package/lib/chevre/service/task/confirmReserveTransaction.js +176 -29
  168. package/lib/chevre/service/task/createAccountingReport.d.ts +6 -0
  169. package/lib/chevre/service/task/createAccountingReport.js +80 -0
  170. package/lib/chevre/service/task/importOffersFromCOA.js +2 -1
  171. package/lib/chevre/service/task/onAuthorizationCreated.js +0 -1
  172. package/lib/chevre/service/task/onResourceUpdated/onResourceDeleted.js +7 -7
  173. package/lib/chevre/service/task/pay.js +6 -0
  174. package/lib/chevre/service/task/placeOrder.js +9 -10
  175. package/lib/chevre/service/task/returnOrder.js +0 -3
  176. package/lib/chevre/service/task/returnPayTransaction.js +1 -1
  177. package/lib/chevre/service/task/returnReserveTransaction.js +3 -2
  178. package/lib/chevre/service/task/sendOrder.js +8 -4
  179. package/lib/chevre/service/task/useReservation.js +1 -1
  180. package/lib/chevre/service/task/voidReserveTransaction.js +8 -12
  181. package/lib/chevre/service/transaction/deleteTransaction.js +1 -1
  182. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.js +2 -18
  183. package/lib/chevre/service/transaction/moneyTransfer.js +7 -6
  184. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.d.ts +2 -2
  185. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +17 -20
  186. package/lib/chevre/service/transaction/placeOrder.js +2 -1
  187. package/lib/chevre/service/transaction/placeOrderInProgress/confirm.d.ts +51 -0
  188. package/lib/chevre/service/transaction/placeOrderInProgress/confirm.js +268 -0
  189. package/lib/chevre/service/transaction/placeOrderInProgress/factory.d.ts +1 -1
  190. package/lib/chevre/service/transaction/placeOrderInProgress/factory.js +3 -2
  191. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.js +1 -1
  192. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions.js +22 -44
  193. package/lib/chevre/service/transaction/placeOrderInProgress/publishCode.d.ts +14 -0
  194. package/lib/chevre/service/transaction/placeOrderInProgress/publishCode.js +41 -0
  195. package/lib/chevre/service/transaction/placeOrderInProgress/publishConfirmationNumberIfNotExist.d.ts +18 -0
  196. package/lib/chevre/service/transaction/placeOrderInProgress/publishConfirmationNumberIfNotExist.js +42 -0
  197. package/lib/chevre/service/transaction/placeOrderInProgress/publishOrderNumberIfNotExist.d.ts +23 -0
  198. package/lib/chevre/service/transaction/placeOrderInProgress/publishOrderNumberIfNotExist.js +46 -0
  199. package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.js +34 -37
  200. package/lib/chevre/service/transaction/placeOrderInProgress/result.d.ts +3 -1
  201. package/lib/chevre/service/transaction/placeOrderInProgress/result.js +13 -4
  202. package/lib/chevre/service/transaction/placeOrderInProgress/start.d.ts +19 -0
  203. package/lib/chevre/service/transaction/placeOrderInProgress/start.js +46 -0
  204. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateStartRequest.d.ts +26 -0
  205. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateStartRequest.js +109 -0
  206. package/lib/chevre/service/transaction/placeOrderInProgress/validation.d.ts +10 -23
  207. package/lib/chevre/service/transaction/placeOrderInProgress/validation.js +20 -1
  208. package/lib/chevre/service/transaction/placeOrderInProgress.d.ts +11 -73
  209. package/lib/chevre/service/transaction/placeOrderInProgress.js +13 -286
  210. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPointAward.js +1 -2
  211. package/lib/chevre/service/transaction/returnOrder/potentialActions.d.ts +0 -1
  212. package/lib/chevre/service/transaction/returnOrder/potentialActions.js +8 -3
  213. package/lib/chevre/service/transaction/returnOrder/preStart.js +78 -50
  214. package/lib/chevre/service/transaction/returnOrder.js +3 -10
  215. package/lib/chevre/service.js +0 -10
  216. package/lib/chevre/settings.d.ts +7 -3
  217. package/lib/chevre/settings.js +13 -4
  218. package/package.json +5 -9
  219. package/example/src/chevre/cleanAccountingReports.ts +0 -57
  220. package/example/src/chevre/migratePayTransactionPaymentMethodIdentifier.ts +0 -78
  221. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateSeller.d.ts +0 -11
  222. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateSeller.js +0 -30
  223. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnMoneyTransfer.d.ts +0 -7
  224. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnMoneyTransfer.js +0 -82
  225. package/lib/chevre/service/util.d.ts +0 -19
  226. package/lib/chevre/service/util.js +0 -126
@@ -1,3 +1,27 @@
1
+ /// <reference types="mongoose/types/aggregate" />
2
+ /// <reference types="mongoose/types/callback" />
3
+ /// <reference types="mongoose/types/collection" />
4
+ /// <reference types="mongoose/types/connection" />
5
+ /// <reference types="mongoose/types/cursor" />
6
+ /// <reference types="mongoose/types/document" />
7
+ /// <reference types="mongoose/types/error" />
8
+ /// <reference types="mongoose/types/expressions" />
9
+ /// <reference types="mongoose/types/helpers" />
10
+ /// <reference types="mongoose/types/middlewares" />
11
+ /// <reference types="mongoose/types/indexes" />
12
+ /// <reference types="mongoose/types/models" />
13
+ /// <reference types="mongoose/types/mongooseoptions" />
14
+ /// <reference types="mongoose/types/pipelinestage" />
15
+ /// <reference types="mongoose/types/populate" />
16
+ /// <reference types="mongoose/types/query" />
17
+ /// <reference types="mongoose/types/schemaoptions" />
18
+ /// <reference types="mongoose/types/schematypes" />
19
+ /// <reference types="mongoose/types/session" />
20
+ /// <reference types="mongoose/types/types" />
21
+ /// <reference types="mongoose/types/utility" />
22
+ /// <reference types="mongoose/types/validation" />
23
+ /// <reference types="mongoose/types/virtuals" />
24
+ /// <reference types="mongoose/types/inferschematype" />
1
25
  import type { Connection, Model } from 'mongoose';
2
26
  import * as factory from '../factory';
3
27
  interface IAggregationByStatus {
@@ -39,9 +63,7 @@ export declare class MongoRepository {
39
63
  * 取引削除タスク冪等作成
40
64
  */
41
65
  createDeleteTransactionTaskIfNotExist(params: factory.task.IAttributes<factory.taskName.DeleteTransaction>, options: IOptionOnCreate): Promise<void>;
42
- createConfirmReserveTransactionTaskIfNotExist(params: factory.task.IAttributes<factory.taskName.ConfirmReserveTransaction>, options: IOptionOnCreate): Promise<void>;
43
66
  createOnAssetTransactionStatusChangedTaskIfNotExist(params: factory.task.IAttributes<factory.taskName.OnAssetTransactionStatusChanged>, options: IOptionOnCreate): Promise<void>;
44
- createSendOrderTaskIfNotExist(params: factory.task.IAttributes<factory.taskName.SendOrder>, options: IOptionOnCreate): Promise<void>;
45
67
  executeById(params: {
46
68
  id: string;
47
69
  executor: {
@@ -74,7 +96,7 @@ export declare class MongoRepository {
74
96
  */
75
97
  $nin?: factory.taskName[];
76
98
  };
77
- }): Promise<Pick<import("@chevre/factory/lib/task").ITask | import("@chevre/factory/lib/task/confirmMoneyTransfer").ITask | import("@chevre/factory/lib/task/confirmRegisterService").ITask | import("@chevre/factory/lib/task/confirmPayTransaction").ITask | import("@chevre/factory/lib/task/confirmRegisterServiceTransaction").ITask | import("@chevre/factory/lib/task/confirmReserveTransaction").ITask | import("@chevre/factory/lib/task/createEvent").ITask | import("@chevre/factory/lib/task/deleteTransaction").ITask | import("@chevre/factory/lib/task/givePointAward").ITask | import("@chevre/factory/lib/task/onAssetTransactionStatusChanged").ITask | import("@chevre/factory/lib/task/onAuthorizationCreated").ITask | import("@chevre/factory/lib/task/onEventChanged").ITask | import("@chevre/factory/lib/task/onResourceUpdated").ITask | import("@chevre/factory/lib/task/onOrderPaymentCompleted").ITask | import("@chevre/factory/lib/task/placeOrder").ITask | import("@chevre/factory/lib/task/returnOrder").ITask | import("@chevre/factory/lib/task/returnMoneyTransfer").ITask | import("@chevre/factory/lib/task/returnPayTransaction").ITask | import("@chevre/factory/lib/task/returnPointAward").ITask | import("@chevre/factory/lib/task/returnReserveTransaction").ITask | import("@chevre/factory/lib/task/sendEmailMessage").ITask | import("@chevre/factory/lib/task/sendOrder").ITask | import("@chevre/factory/lib/task/syncScreeningRooms").ITask | import("@chevre/factory/lib/task/triggerWebhook").ITask | import("@chevre/factory/lib/task/useReservation").ITask | import("@chevre/factory/lib/task/voidMoneyTransferTransaction").ITask | import("@chevre/factory/lib/task/voidPayTransaction").ITask | import("@chevre/factory/lib/task/voidRegisterServiceTransaction").ITask | import("@chevre/factory/lib/task/voidReserveTransaction").ITask, "name" | "id" | "status">[]>;
99
+ }): Promise<Pick<import("@chevre/factory/lib/task").ITask | import("@chevre/factory/lib/task/confirmMoneyTransfer").ITask | import("@chevre/factory/lib/task/confirmRegisterService").ITask | import("@chevre/factory/lib/task/confirmPayTransaction").ITask | import("@chevre/factory/lib/task/confirmRegisterServiceTransaction").ITask | import("@chevre/factory/lib/task/confirmReserveTransaction").ITask | import("@chevre/factory/lib/task/createAccountingReport").ITask | import("@chevre/factory/lib/task/createEvent").ITask | import("@chevre/factory/lib/task/deleteTransaction").ITask | import("@chevre/factory/lib/task/givePointAward").ITask | import("@chevre/factory/lib/task/onAssetTransactionStatusChanged").ITask | import("@chevre/factory/lib/task/onAuthorizationCreated").ITask | import("@chevre/factory/lib/task/onEventChanged").ITask | import("@chevre/factory/lib/task/onResourceUpdated").ITask | import("@chevre/factory/lib/task/onOrderPaymentCompleted").ITask | import("@chevre/factory/lib/task/placeOrder").ITask | import("@chevre/factory/lib/task/returnOrder").ITask | import("@chevre/factory/lib/task/returnMoneyTransfer").ITask | import("@chevre/factory/lib/task/returnPayTransaction").ITask | import("@chevre/factory/lib/task/returnPointAward").ITask | import("@chevre/factory/lib/task/returnReserveTransaction").ITask | import("@chevre/factory/lib/task/sendEmailMessage").ITask | import("@chevre/factory/lib/task/sendOrder").ITask | import("@chevre/factory/lib/task/triggerWebhook").ITask | import("@chevre/factory/lib/task/useReservation").ITask | import("@chevre/factory/lib/task/voidMoneyTransferTransaction").ITask | import("@chevre/factory/lib/task/voidPayTransaction").ITask | import("@chevre/factory/lib/task/voidRegisterServiceTransaction").ITask | import("@chevre/factory/lib/task/voidReserveTransaction").ITask, "name" | "id" | "status">[]>;
78
100
  retry(params: {
79
101
  intervalInMinutes: number;
80
102
  }): Promise<void>;
@@ -126,6 +148,7 @@ export declare class MongoRepository {
126
148
  $nin?: factory.taskName[];
127
149
  };
128
150
  }): Promise<number>;
151
+ getCursor(conditions: any, projection: any): import("mongoose").Cursor<any, import("mongoose").QueryOptions<any>>;
129
152
  aggregateTask(params: {
130
153
  project?: {
131
154
  id?: {
@@ -243,31 +243,36 @@ class MongoRepository {
243
243
  }
244
244
  });
245
245
  }
246
- createConfirmReserveTransactionTaskIfNotExist(params, options) {
247
- return __awaiter(this, void 0, void 0, function* () {
248
- const createdTask = yield this.taskModel.findOneAndUpdate({
249
- 'project.id': { $eq: params.project.id },
250
- name: { $eq: params.name },
251
- 'data.object.transactionNumber': {
252
- $exists: true,
253
- $eq: String(params.data.object.transactionNumber)
254
- },
255
- 'data.purpose.orderNumber': {
256
- $exists: true,
257
- $eq: String(params.data.purpose.orderNumber)
258
- }
259
- }, { $setOnInsert: params }, { new: true, upsert: true })
260
- .select({ _id: 1 })
261
- .exec();
262
- if (options.emitImmediately) {
263
- task_2.taskEventEmitter.emitTaskStatusChanged({
264
- id: createdTask.id,
265
- name: params.name,
266
- status: factory.taskStatus.Ready
267
- });
268
- }
269
- });
270
- }
246
+ // public async createConfirmReserveTransactionTaskIfNotExist(
247
+ // params: factory.task.IAttributes<factory.taskName.ConfirmReserveTransaction>,
248
+ // options: IOptionOnCreate
249
+ // ): Promise<void> {
250
+ // const createdTask = await this.taskModel.findOneAndUpdate(
251
+ // {
252
+ // 'project.id': { $eq: params.project.id },
253
+ // name: { $eq: params.name },
254
+ // 'data.object.transactionNumber': {
255
+ // $exists: true,
256
+ // $eq: String(params.data.object.transactionNumber)
257
+ // },
258
+ // 'data.purpose.orderNumber': {
259
+ // $exists: true,
260
+ // $eq: String(params.data.purpose.orderNumber)
261
+ // }
262
+ // },
263
+ // { $setOnInsert: params },
264
+ // { new: true, upsert: true }
265
+ // )
266
+ // .select({ _id: 1 })
267
+ // .exec();
268
+ // if (options.emitImmediately) {
269
+ // taskEventEmitter.emitTaskStatusChanged({
270
+ // id: createdTask.id,
271
+ // name: params.name,
272
+ // status: factory.taskStatus.Ready
273
+ // });
274
+ // }
275
+ // }
271
276
  createOnAssetTransactionStatusChangedTaskIfNotExist(params, options) {
272
277
  return __awaiter(this, void 0, void 0, function* () {
273
278
  const createdTask = yield this.taskModel.findOneAndUpdate({
@@ -293,27 +298,32 @@ class MongoRepository {
293
298
  }
294
299
  });
295
300
  }
296
- createSendOrderTaskIfNotExist(params, options) {
297
- return __awaiter(this, void 0, void 0, function* () {
298
- const createdTask = yield this.taskModel.findOneAndUpdate({
299
- 'project.id': { $eq: params.project.id },
300
- name: { $eq: params.name },
301
- 'data.object.orderNumber': {
302
- $exists: true,
303
- $eq: String(params.data.object.orderNumber)
304
- }
305
- }, { $setOnInsert: params }, { new: true, upsert: true })
306
- .select({ _id: 1 })
307
- .exec();
308
- if (options.emitImmediately) {
309
- task_2.taskEventEmitter.emitTaskStatusChanged({
310
- id: createdTask.id,
311
- name: params.name,
312
- status: factory.taskStatus.Ready
313
- });
314
- }
315
- });
316
- }
301
+ // public async createSendOrderTaskIfNotExist(
302
+ // params: factory.task.IAttributes<factory.taskName.SendOrder>,
303
+ // options: IOptionOnCreate
304
+ // ): Promise<void> {
305
+ // const createdTask = await this.taskModel.findOneAndUpdate(
306
+ // {
307
+ // 'project.id': { $eq: params.project.id },
308
+ // name: { $eq: params.name },
309
+ // 'data.object.orderNumber': {
310
+ // $exists: true,
311
+ // $eq: String(params.data.object.orderNumber)
312
+ // }
313
+ // },
314
+ // { $setOnInsert: params },
315
+ // { new: true, upsert: true }
316
+ // )
317
+ // .select({ _id: 1 })
318
+ // .exec();
319
+ // if (options.emitImmediately) {
320
+ // taskEventEmitter.emitTaskStatusChanged({
321
+ // id: createdTask.id,
322
+ // name: params.name,
323
+ // status: factory.taskStatus.Ready
324
+ // });
325
+ // }
326
+ // }
317
327
  // public async createOnOrderPaymentCompletedTaskIfNotExist(
318
328
  // params: factory.task.IAttributes<factory.taskName.OnOrderPaymentCompleted>,
319
329
  // options: IOptionOnCreate
@@ -577,6 +587,11 @@ class MongoRepository {
577
587
  .exec();
578
588
  });
579
589
  }
590
+ getCursor(conditions, projection) {
591
+ return this.taskModel.find(conditions, projection)
592
+ .sort({ runsAt: factory.sortType.Ascending })
593
+ .cursor();
594
+ }
580
595
  aggregateTask(params) {
581
596
  return __awaiter(this, void 0, void 0, function* () {
582
597
  const statuses = yield Promise.all([
@@ -24,7 +24,7 @@
24
24
  /// <reference types="mongoose/types/inferschematype" />
25
25
  import type { Connection } from 'mongoose';
26
26
  import * as factory from '../factory';
27
- type IKeyOfProjection<T extends factory.transactionType> = keyof factory.transaction.ITransaction<T> | '_id' | '__v' | 'createdAt' | 'updatedAt';
27
+ type IKeyOfProjection<T extends factory.transactionType> = keyof factory.transaction.ITransaction<T> | '_id' | '__v' | 'createdAt' | 'updatedAt' | 'object.orderNumber';
28
28
  interface IAggregationByStatus {
29
29
  transactionCount: number;
30
30
  avgDuration: number;
@@ -93,7 +93,7 @@ export declare class MongoRepository {
93
93
  updateAgent<T extends factory.transactionType>(params: {
94
94
  typeOf: T;
95
95
  id: string;
96
- agent: factory.transaction.IAgent;
96
+ agent: Pick<factory.transaction.IAgent, 'id' | 'typeOf' | 'name'>;
97
97
  object?: {
98
98
  customer?: factory.order.ICustomer;
99
99
  };
@@ -24,7 +24,7 @@ class MongoRepository {
24
24
  }
25
25
  // tslint:disable-next-line:cyclomatic-complexity max-func-body-length
26
26
  static CREATE_MONGO_CONDITIONS(params) {
27
- var _a, _b, _c;
27
+ var _a, _b, _c, _d, _e, _f, _g, _h;
28
28
  const andConditions = [];
29
29
  // tslint:disable-next-line:no-single-line-block-comment
30
30
  /* istanbul ignore else */
@@ -177,47 +177,24 @@ class MongoRepository {
177
177
  }
178
178
  switch (params.typeOf) {
179
179
  case factory.transactionType.PlaceOrder:
180
- // tslint:disable-next-line:no-single-line-block-comment
181
- /* istanbul ignore else */
182
- if (params.seller !== undefined) {
183
- // tslint:disable-next-line:no-single-line-block-comment
184
- /* istanbul ignore else */
185
- if (Array.isArray(params.seller.ids)) {
186
- andConditions.push({
187
- 'seller.id': {
188
- $exists: true,
189
- $in: params.seller.ids
190
- }
191
- });
192
- }
180
+ const sellerIdIn = (_a = params.seller) === null || _a === void 0 ? void 0 : _a.ids;
181
+ if (Array.isArray(sellerIdIn)) {
182
+ andConditions.push({ 'seller.id': { $exists: true, $in: sellerIdIn } });
193
183
  }
194
- // tslint:disable-next-line:no-single-line-block-comment
195
- /* istanbul ignore else */
196
- if (params.result !== undefined) {
197
- // tslint:disable-next-line:no-single-line-block-comment
198
- /* istanbul ignore else */
199
- if (params.result.order !== undefined) {
200
- // tslint:disable-next-line:no-single-line-block-comment
201
- /* istanbul ignore else */
202
- if (Array.isArray(params.result.order.orderNumbers)) {
203
- andConditions.push({
204
- 'result.order.orderNumber': {
205
- $exists: true,
206
- $in: params.result.order.orderNumbers
207
- }
208
- });
209
- }
210
- }
184
+ const resultOrderNumberIn = (_c = (_b = params.result) === null || _b === void 0 ? void 0 : _b.order) === null || _c === void 0 ? void 0 : _c.orderNumbers;
185
+ if (Array.isArray(resultOrderNumberIn)) {
186
+ andConditions.push({ 'result.order.orderNumber': { $exists: true, $in: resultOrderNumberIn } });
211
187
  }
212
- const resultOrderConfirmationNumberEq = (_c = (_b = (_a = params.result) === null || _a === void 0 ? void 0 : _a.order) === null || _b === void 0 ? void 0 : _b.confirmationNumber) === null || _c === void 0 ? void 0 : _c.$eq;
188
+ const resultOrderConfirmationNumberEq = (_f = (_e = (_d = params.result) === null || _d === void 0 ? void 0 : _d.order) === null || _e === void 0 ? void 0 : _e.confirmationNumber) === null || _f === void 0 ? void 0 : _f.$eq;
213
189
  if (typeof resultOrderConfirmationNumberEq === 'string') {
214
190
  andConditions.push({
215
- 'result.order.confirmationNumber': {
216
- $exists: true,
217
- $eq: resultOrderConfirmationNumberEq
218
- }
191
+ 'result.order.confirmationNumber': { $exists: true, $eq: resultOrderConfirmationNumberEq }
219
192
  });
220
193
  }
194
+ const objectOrderNumberEq = (_h = (_g = params.object) === null || _g === void 0 ? void 0 : _g.orderNumber) === null || _h === void 0 ? void 0 : _h.$eq;
195
+ if (typeof objectOrderNumberEq === 'string') {
196
+ andConditions.push({ 'object.orderNumber': { $exists: true, $eq: objectOrderNumberEq } });
197
+ }
221
198
  break;
222
199
  case factory.transactionType.ReturnOrder:
223
200
  // tslint:disable-next-line:no-single-line-block-comment
@@ -25,6 +25,7 @@ import type { MongoRepository as OfferCatalogRepo } from './repo/offerCatalog';
25
25
  import type { MongoRepository as OfferCatalogItemRepo } from './repo/offerCatalogItem';
26
26
  import type { MongoRepository as OfferItemConditionRepo } from './repo/offerItemCondition';
27
27
  import type { MongoRepository as OrderRepo } from './repo/order';
28
+ import type { MongoRepository as OrderInTransactionRepo } from './repo/orderInTransaction';
28
29
  import type { MongoRepository as OwnershipInfoRepo } from './repo/ownershipInfo';
29
30
  import type { MongoRepository as PaymentServiceRepo } from './repo/paymentService';
30
31
  import type { MongoRepository as PaymentServiceProviderRepo } from './repo/paymentServiceProvider';
@@ -152,6 +153,10 @@ export type Order = OrderRepo;
152
153
  export declare namespace Order {
153
154
  function createInstance(...params: ConstructorParameters<typeof OrderRepo>): Promise<OrderRepo>;
154
155
  }
156
+ export type OrderInTransaction = OrderInTransactionRepo;
157
+ export declare namespace OrderInTransaction {
158
+ function createInstance(...params: ConstructorParameters<typeof OrderInTransactionRepo>): Promise<OrderInTransactionRepo>;
159
+ }
155
160
  export type OrderNumber = OrderNumberRepo;
156
161
  export declare namespace OrderNumber {
157
162
  function createInstance(...params: ConstructorParameters<typeof OrderNumberRepo>): Promise<OrderNumberRepo>;
@@ -9,8 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.Trip = exports.TransactionNumber = exports.Transaction = exports.Telemetry = exports.Task = exports.StockHolder = exports.ServiceOutputIdentifier = exports.ServiceOutput = exports.SellerPaymentAccepted = exports.Seller = exports.Role = exports.Reservation = exports.Project = exports.ProductOffer = exports.Product = exports.PriceSpecification = exports.place = exports.Place = exports.Permit = exports.Person = exports.paymentMethod = exports.PaymentServiceProvider = exports.PaymentService = exports.OwnershipInfo = exports.OrderNumber = exports.Order = exports.Offer = exports.OfferItemCondition = exports.OfferCatalogItem = exports.OfferCatalog = exports.MerchantReturnPolicy = exports.Member = exports.Event = exports.EmailMessage = exports.Customer = exports.CreativeWork = exports.ConfirmationNumber = exports.Comment = exports.Code = exports.CategoryCode = exports.AssetTransaction = exports.Aggregation = exports.AggregateOffer = exports.AdditionalProperty = exports.Action = exports.AccountTransaction = exports.AccountTitle = exports.AccountingReport = exports.Account = exports.AcceptedOffer = void 0;
13
- exports.rateLimit = void 0;
12
+ exports.TransactionNumber = exports.Transaction = exports.Telemetry = exports.Task = exports.StockHolder = exports.ServiceOutputIdentifier = exports.ServiceOutput = exports.SellerPaymentAccepted = exports.Seller = exports.Role = exports.Reservation = exports.Project = exports.ProductOffer = exports.Product = exports.PriceSpecification = exports.place = exports.Place = exports.Permit = exports.Person = exports.paymentMethod = exports.PaymentServiceProvider = exports.PaymentService = exports.OwnershipInfo = exports.OrderNumber = exports.OrderInTransaction = exports.Order = exports.Offer = exports.OfferItemCondition = exports.OfferCatalogItem = exports.OfferCatalog = exports.MerchantReturnPolicy = exports.Member = exports.Event = exports.EmailMessage = exports.Customer = exports.CreativeWork = exports.ConfirmationNumber = exports.Comment = exports.Code = exports.CategoryCode = exports.AssetTransaction = exports.Aggregation = exports.AggregateOffer = exports.AdditionalProperty = exports.Action = exports.AccountTransaction = exports.AccountTitle = exports.AccountingReport = exports.Account = exports.AcceptedOffer = void 0;
13
+ exports.rateLimit = exports.Trip = void 0;
14
14
  var AcceptedOffer;
15
15
  (function (AcceptedOffer) {
16
16
  let repo;
@@ -336,6 +336,19 @@ var Order;
336
336
  }
337
337
  Order.createInstance = createInstance;
338
338
  })(Order = exports.Order || (exports.Order = {}));
339
+ var OrderInTransaction;
340
+ (function (OrderInTransaction) {
341
+ let repo;
342
+ function createInstance(...params) {
343
+ return __awaiter(this, void 0, void 0, function* () {
344
+ if (repo === undefined) {
345
+ repo = (yield Promise.resolve().then(() => require('./repo/orderInTransaction'))).MongoRepository;
346
+ }
347
+ return new repo(...params);
348
+ });
349
+ }
350
+ OrderInTransaction.createInstance = createInstance;
351
+ })(OrderInTransaction = exports.OrderInTransaction || (exports.OrderInTransaction = {}));
339
352
  var OrderNumber;
340
353
  (function (OrderNumber) {
341
354
  let repo;
@@ -21,7 +21,8 @@ const event_1 = require("../../event");
21
21
  const debug = createDebug('chevre-domain:service');
22
22
  const coaAuthClient = new COA.auth.RefreshToken({
23
23
  endpoint: credentials_1.credentials.coa.endpoint,
24
- refreshToken: credentials_1.credentials.coa.refreshToken
24
+ refreshToken: credentials_1.credentials.coa.refreshToken,
25
+ useFetch: credentials_1.credentials.coa.useFetch
25
26
  });
26
27
  /**
27
28
  * イベント席数を更新する
@@ -86,10 +87,9 @@ function importFromCOA(params) {
86
87
  }
87
88
  catch (error) {
88
89
  let throwsError = true;
89
- // "name": "COAServiceError",
90
- // "code": 500,
91
- // "status": "",
92
- // "message": "ESOCKETTIMEDOUT",
90
+ if (error.name === 'AbortError') {
91
+ throwsError = false;
92
+ }
93
93
  if (error.name === 'COAServiceError') {
94
94
  if (error.message === 'ESOCKETTIMEDOUT') {
95
95
  throwsError = false;
@@ -5,7 +5,6 @@ exports.createStartParams = void 0;
5
5
  * 決済取引ファクトリー
6
6
  */
7
7
  const factory = require("../../../factory");
8
- const settings_1 = require("../../../settings");
9
8
  // tslint:disable-next-line:cyclomatic-complexity max-func-body-length
10
9
  function createStartParams(params) {
11
10
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0;
@@ -89,11 +88,7 @@ function createStartParams(params) {
89
88
  ? (_q = params.object.paymentMethod) === null || _q === void 0 ? void 0 : _q.additionalProperty
90
89
  : [], name: (typeof ((_r = params.object.paymentMethod) === null || _r === void 0 ? void 0 : _r.name) === 'string')
91
90
  ? params.object.paymentMethod.name
92
- : paymentMethodType,
93
- // MonetaryAmount対応(2023-08-14~)
94
- amount: (settings_1.USE_OBJECT_AS_PAY_TRANSACTION_AMOUNT) ? paymentMethodAmount : params.amount,
95
- // paymentMethodId: params.transactionNumber, // object.paymentMethodIdへ完全移行(2023-08-30~)
96
- identifier: paymentMethodType }, (typeof ((_s = params.object.paymentMethod) === null || _s === void 0 ? void 0 : _s.description) === 'string')
91
+ : paymentMethodType, amount: paymentMethodAmount, identifier: paymentMethodType }, (typeof ((_s = params.object.paymentMethod) === null || _s === void 0 ? void 0 : _s.description) === 'string')
97
92
  ? { description: (_t = params.object.paymentMethod) === null || _t === void 0 ? void 0 : _t.description }
98
93
  : undefined), (totalPaymentDue !== undefined)
99
94
  ? { totalPaymentDue: totalPaymentDue }
@@ -0,0 +1,9 @@
1
+ import * as factory from '../../../../factory';
2
+ declare function createPayObjectServiceOutput(params: {
3
+ transaction: factory.assetTransaction.ITransaction<factory.assetTransactionType.Pay>;
4
+ order: {
5
+ acceptedOffersMovieTicketUsed: IAcceptedOfferMovieTicketUsed[];
6
+ };
7
+ }): factory.invoice.IPaymentServiceOutput | undefined;
8
+ type IAcceptedOfferMovieTicketUsed = Pick<factory.order.IAcceptedOffer<factory.order.IReservation>, 'itemOffered' | 'priceSpecification'>;
9
+ export { createPayObjectServiceOutput, IAcceptedOfferMovieTicketUsed };
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createPayObjectServiceOutput = void 0;
4
+ const factory = require("../../../../factory");
5
+ function createPayObjectServiceOutput(params) {
6
+ const transaction = params.transaction;
7
+ const paymentMethod = transaction.object.paymentMethod;
8
+ const order = params.order;
9
+ let paymentServiceOutput;
10
+ switch (transaction.object.typeOf) {
11
+ case factory.service.paymentService.PaymentServiceType.FaceToFace:
12
+ case factory.service.paymentService.PaymentServiceType.PaymentCard:
13
+ case factory.service.paymentService.PaymentServiceType.CreditCard:
14
+ break;
15
+ case factory.service.paymentService.PaymentServiceType.MovieTicket:
16
+ const paymentMethodType = paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.identifier;
17
+ const movieTickets = paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.movieTickets;
18
+ if (Array.isArray(movieTickets)) {
19
+ paymentServiceOutput = movieTickets.map((movieTicket) => {
20
+ var _a;
21
+ const amount = movieTicket2amount(transaction, movieTicket);
22
+ const reservation4invoice = movieTicket2reservation4invoice(movieTicket, order, String(paymentMethodType));
23
+ return Object.assign(Object.assign({ identifier: movieTicket.identifier }, (typeof (amount === null || amount === void 0 ? void 0 : amount.value) === 'number') ? { amount } : undefined), (typeof ((_a = reservation4invoice.priceSpecification) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string')
24
+ ? { serviceOutput: reservation4invoice }
25
+ : undefined);
26
+ });
27
+ }
28
+ break;
29
+ default:
30
+ throw new factory.errors.NotImplemented(`Payment service "${transaction.object.typeOf}" not implemented.`);
31
+ }
32
+ return paymentServiceOutput;
33
+ }
34
+ exports.createPayObjectServiceOutput = createPayObjectServiceOutput;
35
+ function movieTicket2amount(transaction, movieTicket) {
36
+ var _a;
37
+ let amount;
38
+ const accountsReceivables = transaction.object.accountsReceivablesByServiceType;
39
+ if (Array.isArray(accountsReceivables)) {
40
+ const accountsReceivable = (_a = accountsReceivables.find((a) => a.serviceType === movieTicket.serviceType)) === null || _a === void 0 ? void 0 : _a.accountsReceivable;
41
+ if (typeof accountsReceivable === 'number') {
42
+ amount = {
43
+ typeOf: 'MonetaryAmount',
44
+ value: accountsReceivable
45
+ };
46
+ }
47
+ }
48
+ return amount;
49
+ }
50
+ function reservationPriceComponent2invoicePriceComponent(component) {
51
+ var _a;
52
+ const accounting = (typeof ((_a = component.accounting) === null || _a === void 0 ? void 0 : _a.accountsReceivable) === 'number')
53
+ ? { accountsReceivable: component.accounting.accountsReceivable }
54
+ : undefined;
55
+ let minimizedUnitPriceSpec;
56
+ let minimizedMovieTicketTypeChargeSpec;
57
+ let minimizedCategoryCodeChargeSpec;
58
+ if (component.typeOf === factory.priceSpecificationType.UnitPriceSpecification) {
59
+ const appliesToAddOn = (Array.isArray(component.appliesToAddOn))
60
+ ? component.appliesToAddOn.map((addOn) => {
61
+ return { typeOf: addOn.typeOf };
62
+ })
63
+ : undefined;
64
+ minimizedUnitPriceSpec = Object.assign(Object.assign({ typeOf: component.typeOf, price: component.price, referenceQuantity: component.referenceQuantity }, (Array.isArray(appliesToAddOn)) ? { appliesToAddOn } : undefined), (typeof (accounting === null || accounting === void 0 ? void 0 : accounting.accountsReceivable) === 'number') ? { accounting } : undefined);
65
+ }
66
+ else if (component.typeOf === factory.priceSpecificationType.MovieTicketTypeChargeSpecification) {
67
+ minimizedMovieTicketTypeChargeSpec = Object.assign({ typeOf: component.typeOf, price: component.price,
68
+ // 適用決済方法区分を追加(2023-03-29~)
69
+ appliesToMovieTicket: {
70
+ serviceOutput: {
71
+ typeOf: component.appliesToMovieTicket.serviceOutput.typeOf
72
+ }
73
+ } }, (typeof (accounting === null || accounting === void 0 ? void 0 : accounting.accountsReceivable) === 'number') ? { accounting } : undefined);
74
+ }
75
+ else {
76
+ minimizedCategoryCodeChargeSpec = Object.assign({ typeOf: component.typeOf, price: component.price }, (typeof (accounting === null || accounting === void 0 ? void 0 : accounting.accountsReceivable) === 'number') ? { accounting } : undefined);
77
+ }
78
+ if (minimizedUnitPriceSpec !== undefined) {
79
+ return minimizedUnitPriceSpec;
80
+ }
81
+ else if (minimizedMovieTicketTypeChargeSpec !== undefined) {
82
+ return minimizedMovieTicketTypeChargeSpec;
83
+ }
84
+ else if (minimizedCategoryCodeChargeSpec !== undefined) {
85
+ return minimizedCategoryCodeChargeSpec;
86
+ }
87
+ else {
88
+ throw new factory.errors.NotImplemented(`unexpected priceComponent: ${component.typeOf}`);
89
+ }
90
+ }
91
+ function movieTicket2reservation4invoice(movieTicket, order, paymentMethodType) {
92
+ var _a;
93
+ let ticketToken;
94
+ let reservationNumber = '';
95
+ let priceComponents4invoice = [];
96
+ // Orderから対象予約を取得
97
+ const reservationOffer = order.acceptedOffersMovieTicketUsed.find(({ itemOffered, priceSpecification }) => {
98
+ var _a, _b;
99
+ let mvtkUnitPriceSpec;
100
+ // MovieTicket適用単価オファーからidentifierを取り出す
101
+ if ((priceSpecification === null || priceSpecification === void 0 ? void 0 : priceSpecification.typeOf) === factory.priceSpecificationType.CompoundPriceSpecification) {
102
+ // 適用購入管理番号が一致、かつ、決済方法区分が一致、の単価仕様を検索
103
+ mvtkUnitPriceSpec = (_a = priceSpecification === null || priceSpecification === void 0 ? void 0 : priceSpecification.priceComponent) === null || _a === void 0 ? void 0 : _a.find((p) => {
104
+ // if (p.typeOf !== factory.priceSpecificationType.UnitPriceSpecification) {
105
+ // return false;
106
+ // }
107
+ return p.typeOf === factory.priceSpecificationType.UnitPriceSpecification
108
+ && Array.isArray(p.appliesToMovieTicket)
109
+ && p.appliesToMovieTicket.some((appliesToMovieTicket) => {
110
+ return appliesToMovieTicket.identifier === movieTicket.identifier
111
+ && appliesToMovieTicket.serviceOutput.typeOf === paymentMethodType;
112
+ });
113
+ });
114
+ }
115
+ return (itemOffered.typeOf === factory.reservationType.EventReservation
116
+ || itemOffered.typeOf === factory.reservationType.BusReservation)
117
+ && mvtkUnitPriceSpec !== undefined
118
+ && itemOffered.reservationFor.id === movieTicket.serviceOutput.reservationFor.id
119
+ && ((_b = itemOffered.reservedTicket.ticketedSeat) === null || _b === void 0 ? void 0 : _b.seatNumber) === movieTicket.serviceOutput.reservedTicket.ticketedSeat.seatNumber
120
+ && itemOffered.reservedTicket.ticketedSeat.seatSection === movieTicket.serviceOutput.reservedTicket.ticketedSeat.seatSection;
121
+ });
122
+ if (reservationOffer !== undefined) {
123
+ // if (reservationOffer.itemOffered.typeOf !== factory.reservationType.EventReservation
124
+ // && reservationOffer.itemOffered.typeOf !== factory.reservationType.BusReservation) {
125
+ // throw new factory.errors.NotImplemented(`itemOffered.typeOf: ${reservationOffer.itemOffered.typeOf} not implemented`);
126
+ // }
127
+ const ticketTokenByReservationOffer = reservationOffer.itemOffered.reservedTicket.ticketToken;
128
+ if (typeof ticketTokenByReservationOffer === 'string' && ticketTokenByReservationOffer.length > 0) {
129
+ ticketToken = ticketTokenByReservationOffer;
130
+ }
131
+ reservationNumber = reservationOffer.itemOffered.reservationNumber;
132
+ const priceComponent = (_a = reservationOffer.priceSpecification) === null || _a === void 0 ? void 0 : _a.priceComponent;
133
+ if (Array.isArray(priceComponent)) {
134
+ priceComponents4invoice = priceComponent.map(reservationPriceComponent2invoicePriceComponent);
135
+ }
136
+ }
137
+ return Object.assign({ priceSpecification: {
138
+ typeOf: factory.priceSpecificationType.CompoundPriceSpecification,
139
+ priceComponent: priceComponents4invoice
140
+ },
141
+ // add reservationNumber(2023-03-20~)
142
+ reservationNumber }, (typeof ticketToken === 'string') ? { reservedTicket: { ticketToken } } : undefined);
143
+ }
@@ -1,12 +1,20 @@
1
1
  import * as factory from '../../../factory';
2
- export type IUnitPriceSpecification = factory.unitPriceOffer.IUnitPriceOfferPriceSpecification;
2
+ import { IAcceptedOfferMovieTicketUsed } from './potentialActions/createPayObjectServiceOutput';
3
+ declare function createPayActions(params: {
4
+ transaction: factory.assetTransaction.ITransaction<factory.assetTransactionType.Pay>;
5
+ potentialActions?: factory.assetTransaction.pay.IPotentialActionsParams;
6
+ order: Pick<factory.order.IOrder, 'typeOf' | 'confirmationNumber' | 'orderNumber'> & {
7
+ acceptedOffersMovieTicketUsed: IAcceptedOfferMovieTicketUsed[];
8
+ };
9
+ }): factory.action.trade.pay.IAttributes[];
3
10
  /**
4
11
  * 取引のポストアクションを作成する
5
12
  */
6
- export declare function createPotentialActions(params: {
13
+ declare function createPotentialActions(params: {
7
14
  transaction: factory.assetTransaction.ITransaction<factory.assetTransactionType.Pay>;
8
15
  potentialActions?: factory.assetTransaction.pay.IPotentialActionsParams;
9
16
  order: Pick<factory.order.IOrder, 'typeOf' | 'confirmationNumber' | 'orderNumber'> & {
10
- acceptedOffers: factory.order.IAcceptedOffer<factory.order.IItemOffered>[];
17
+ acceptedOffersMovieTicketUsed: IAcceptedOfferMovieTicketUsed[];
11
18
  };
12
19
  }): factory.assetTransaction.IPotentialActions<factory.assetTransactionType.Pay>;
20
+ export { createPayActions, createPotentialActions, IAcceptedOfferMovieTicketUsed };