@chevre/domain 21.2.0-alpha.10 → 21.2.0-alpha.101

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 (257) hide show
  1. package/example/src/chevre/aggregation/aggregateSystem.ts +58 -31
  2. package/example/src/chevre/createManyEventsIfNotExist.ts +4 -1
  3. package/example/src/chevre/deleteTasksByName.ts +10 -2
  4. package/example/src/chevre/importEventsFromCOA.ts +3 -4
  5. package/example/src/chevre/migrateOrderAdditionalProperties.ts +85 -0
  6. package/example/src/chevre/processPay.ts +5 -1
  7. package/example/src/chevre/processReserve.ts +4 -1
  8. package/example/src/chevre/saveTasks.ts +13 -10
  9. package/example/src/chevre/searchAbortedTasks.ts +36 -0
  10. package/example/src/chevre/searchActions.ts +33 -0
  11. package/example/src/chevre/searchReservationNumbersByOrderNumbers.ts +37 -1
  12. package/example/src/chevre/searchSendEmailActions.ts +44 -0
  13. package/example/src/chevre/task/executeTasks.ts +26 -0
  14. package/example/src/chevre/transaction/findCreditCard.ts +1 -1
  15. package/example/src/chevre/transaction/orderMembershipService.ts +1 -1
  16. package/example/src/chevre/transaction/processReturnOrder.ts +40 -0
  17. package/example/src/chevre/transaction/startExportTasks.ts +20 -0
  18. package/example/src/chevre/updateTransaction.ts +1 -1
  19. package/example/src/playOnMoment.ts +24 -0
  20. package/lib/chevre/credentials.d.ts +1 -0
  21. package/lib/chevre/credentials.js +2 -1
  22. package/lib/chevre/eventEmitter/assetTransaction.d.ts +21 -0
  23. package/lib/chevre/eventEmitter/assetTransaction.js +25 -0
  24. package/lib/chevre/eventEmitter/task.d.ts +18 -0
  25. package/lib/chevre/eventEmitter/task.js +25 -0
  26. package/lib/chevre/eventEmitter/transaction.d.ts +21 -0
  27. package/lib/chevre/eventEmitter/transaction.js +25 -0
  28. package/lib/chevre/eventEmitter.d.ts +4 -0
  29. package/lib/chevre/eventEmitter.js +9 -0
  30. package/lib/chevre/index.d.ts +3 -2
  31. package/lib/chevre/index.js +5 -3
  32. package/lib/chevre/repo/account.js +3 -2
  33. package/lib/chevre/repo/accountTransaction.d.ts +3 -11
  34. package/lib/chevre/repo/accountTransaction.js +3 -55
  35. package/lib/chevre/repo/action.d.ts +29 -1
  36. package/lib/chevre/repo/action.js +100 -56
  37. package/lib/chevre/repo/additionalProperty.js +2 -1
  38. package/lib/chevre/repo/assetTransaction.d.ts +25 -9
  39. package/lib/chevre/repo/assetTransaction.js +259 -87
  40. package/lib/chevre/repo/categoryCode.js +3 -2
  41. package/lib/chevre/repo/code.js +3 -2
  42. package/lib/chevre/repo/comment.d.ts +4 -1
  43. package/lib/chevre/repo/comment.js +22 -6
  44. package/lib/chevre/repo/confirmationNumber.d.ts +0 -1
  45. package/lib/chevre/repo/confirmationNumber.js +3 -15
  46. package/lib/chevre/repo/creativeWork.d.ts +1 -3
  47. package/lib/chevre/repo/creativeWork.js +3 -2
  48. package/lib/chevre/repo/customer.js +2 -1
  49. package/lib/chevre/repo/emailMessage.d.ts +1 -27
  50. package/lib/chevre/repo/emailMessage.js +2 -1
  51. package/lib/chevre/repo/event.d.ts +5 -1
  52. package/lib/chevre/repo/event.js +4 -3
  53. package/lib/chevre/repo/member.js +4 -3
  54. package/lib/chevre/repo/merchantReturnPolicy.d.ts +1 -3
  55. package/lib/chevre/repo/merchantReturnPolicy.js +2 -1
  56. package/lib/chevre/repo/mongoose/schemas/account.d.ts +4 -2
  57. package/lib/chevre/repo/mongoose/schemas/accountTitle.d.ts +29 -3
  58. package/lib/chevre/repo/mongoose/schemas/accountTransaction.d.ts +31 -3
  59. package/lib/chevre/repo/mongoose/schemas/accountTransaction.js +1 -1
  60. package/lib/chevre/repo/mongoose/schemas/accountingReport.d.ts +13 -3
  61. package/lib/chevre/repo/mongoose/schemas/action.d.ts +43 -3
  62. package/lib/chevre/repo/mongoose/schemas/action.js +19 -1
  63. package/lib/chevre/repo/mongoose/schemas/additionalProperty.d.ts +17 -3
  64. package/lib/chevre/repo/mongoose/schemas/aggregation.d.ts +4 -2
  65. package/lib/chevre/repo/mongoose/schemas/assetTransaction.d.ts +44 -3
  66. package/lib/chevre/repo/mongoose/schemas/assetTransaction.js +32 -19
  67. package/lib/chevre/repo/mongoose/schemas/authorization.d.ts +19 -3
  68. package/lib/chevre/repo/mongoose/schemas/authorization.js +1 -1
  69. package/lib/chevre/repo/mongoose/schemas/categoryCode.d.ts +25 -3
  70. package/lib/chevre/repo/mongoose/schemas/comments.d.ts +27 -3
  71. package/lib/chevre/repo/mongoose/schemas/comments.js +1 -1
  72. package/lib/chevre/repo/mongoose/schemas/creativeWork.d.ts +43 -3
  73. package/lib/chevre/repo/mongoose/schemas/customer.d.ts +25 -3
  74. package/lib/chevre/repo/mongoose/schemas/emailMessages.d.ts +21 -3
  75. package/lib/chevre/repo/mongoose/schemas/event.d.ts +71 -3
  76. package/lib/chevre/repo/mongoose/schemas/member.d.ts +13 -3
  77. package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.d.ts +21 -3
  78. package/lib/chevre/repo/mongoose/schemas/offer.d.ts +65 -3
  79. package/lib/chevre/repo/mongoose/schemas/offerCatalog.d.ts +27 -3
  80. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.d.ts +74 -0
  81. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.js +45 -0
  82. package/lib/chevre/repo/mongoose/schemas/order.d.ts +51 -3
  83. package/lib/chevre/repo/mongoose/schemas/order.js +1 -1
  84. package/lib/chevre/repo/mongoose/schemas/ownershipInfo.d.ts +25 -3
  85. package/lib/chevre/repo/mongoose/schemas/ownershipInfo.js +1 -1
  86. package/lib/chevre/repo/mongoose/schemas/place.d.ts +49 -3
  87. package/lib/chevre/repo/mongoose/schemas/priceSpecification.d.ts +29 -3
  88. package/lib/chevre/repo/mongoose/schemas/product.d.ts +31 -3
  89. package/lib/chevre/repo/mongoose/schemas/project.d.ts +23 -3
  90. package/lib/chevre/repo/mongoose/schemas/reservation.d.ts +63 -5
  91. package/lib/chevre/repo/mongoose/schemas/reservation.js +1 -1
  92. package/lib/chevre/repo/mongoose/schemas/role.d.ts +11 -3
  93. package/lib/chevre/repo/mongoose/schemas/seller.d.ts +31 -3
  94. package/lib/chevre/repo/mongoose/schemas/seller.js +6 -0
  95. package/lib/chevre/repo/mongoose/schemas/serviceOutput.d.ts +11 -3
  96. package/lib/chevre/repo/mongoose/schemas/serviceOutput.js +1 -1
  97. package/lib/chevre/repo/mongoose/schemas/task.d.ts +30 -3
  98. package/lib/chevre/repo/mongoose/schemas/task.js +2 -1
  99. package/lib/chevre/repo/mongoose/schemas/telemetry.d.ts +21 -3
  100. package/lib/chevre/repo/mongoose/schemas/transaction.d.ts +40 -3
  101. package/lib/chevre/repo/mongoose/schemas/transaction.js +2 -1
  102. package/lib/chevre/repo/mongoose/schemas/trip.d.ts +11 -3
  103. package/lib/chevre/repo/offer.js +3 -2
  104. package/lib/chevre/repo/offerCatalog.js +0 -27
  105. package/lib/chevre/repo/offerItemCondition.d.ts +22 -0
  106. package/lib/chevre/repo/offerItemCondition.js +121 -0
  107. package/lib/chevre/repo/order.d.ts +55 -3
  108. package/lib/chevre/repo/order.js +62 -10
  109. package/lib/chevre/repo/ownershipInfo.js +2 -7
  110. package/lib/chevre/repo/place.js +3 -2
  111. package/lib/chevre/repo/priceSpecification.js +3 -2
  112. package/lib/chevre/repo/product.js +2 -1
  113. package/lib/chevre/repo/project.js +2 -1
  114. package/lib/chevre/repo/reservation.d.ts +12 -4
  115. package/lib/chevre/repo/reservation.js +20 -59
  116. package/lib/chevre/repo/role.js +3 -2
  117. package/lib/chevre/repo/seller.js +22 -21
  118. package/lib/chevre/repo/serviceOutput.js +2 -1
  119. package/lib/chevre/repo/task.d.ts +42 -2
  120. package/lib/chevre/repo/task.js +93 -11
  121. package/lib/chevre/repo/transaction.d.ts +23 -3
  122. package/lib/chevre/repo/transaction.js +177 -56
  123. package/lib/chevre/repo/trip.js +2 -1
  124. package/lib/chevre/repository.d.ts +5 -2
  125. package/lib/chevre/repository.js +8 -4
  126. package/lib/chevre/service/aggregation/system.d.ts +67 -22
  127. package/lib/chevre/service/aggregation/system.js +101 -89
  128. package/lib/chevre/service/assetTransaction/cancelReservation.js +1 -28
  129. package/lib/chevre/service/assetTransaction/moneyTransfer.js +1 -23
  130. package/lib/chevre/service/assetTransaction/pay/potentialActions.js +17 -1
  131. package/lib/chevre/service/assetTransaction/pay.d.ts +5 -1
  132. package/lib/chevre/service/assetTransaction/pay.js +18 -32
  133. package/lib/chevre/service/assetTransaction/refund.js +1 -23
  134. package/lib/chevre/service/assetTransaction/registerService.js +1 -25
  135. package/lib/chevre/service/assetTransaction/reserve/factory.d.ts +15 -5
  136. package/lib/chevre/service/assetTransaction/reserve/factory.js +122 -58
  137. package/lib/chevre/service/assetTransaction/reserve.d.ts +10 -1
  138. package/lib/chevre/service/assetTransaction/reserve.js +85 -69
  139. package/lib/chevre/service/assetTransaction.d.ts +6 -2
  140. package/lib/chevre/service/assetTransaction.js +9 -5
  141. package/lib/chevre/service/event.js +3 -1
  142. package/lib/chevre/service/notification/factory.js +2 -2
  143. package/lib/chevre/service/notification.d.ts +3 -1
  144. package/lib/chevre/service/notification.js +41 -7
  145. package/lib/chevre/service/offer/event/authorize.d.ts +3 -0
  146. package/lib/chevre/service/offer/event/authorize.js +8 -2
  147. package/lib/chevre/service/offer/event/factory.d.ts +3 -0
  148. package/lib/chevre/service/offer/event/factory.js +16 -5
  149. package/lib/chevre/service/offer/event/voidTransaction.d.ts +2 -0
  150. package/lib/chevre/service/offer/event/voidTransaction.js +17 -1
  151. package/lib/chevre/service/offer.d.ts +12 -7
  152. package/lib/chevre/service/offer.js +57 -2
  153. package/lib/chevre/service/order/deleteOrder.d.ts +3 -1
  154. package/lib/chevre/service/order/deleteOrder.js +8 -8
  155. package/lib/chevre/service/order/onOrderStatusChanged/factory.d.ts +5 -2
  156. package/lib/chevre/service/order/onOrderStatusChanged/factory.js +41 -81
  157. package/lib/chevre/service/order/onOrderStatusChanged.js +1 -3
  158. package/lib/chevre/service/order/onOrderUpdated.d.ts +16 -0
  159. package/lib/chevre/service/order/onOrderUpdated.js +22 -0
  160. package/lib/chevre/service/order/placeOrder.d.ts +1 -0
  161. package/lib/chevre/service/order/placeOrder.js +41 -24
  162. package/lib/chevre/service/order/returnOrder.d.ts +1 -0
  163. package/lib/chevre/service/order/returnOrder.js +7 -12
  164. package/lib/chevre/service/order/sendOrder.d.ts +1 -0
  165. package/lib/chevre/service/order/sendOrder.js +7 -10
  166. package/lib/chevre/service/order.d.ts +2 -1
  167. package/lib/chevre/service/order.js +3 -1
  168. package/lib/chevre/service/payment/any/onPaid.js +1 -1
  169. package/lib/chevre/service/payment/any/onRefund.js +1 -1
  170. package/lib/chevre/service/payment/any.d.ts +9 -5
  171. package/lib/chevre/service/payment/any.js +80 -18
  172. package/lib/chevre/service/payment/creditCard.d.ts +1 -1
  173. package/lib/chevre/service/payment/creditCard.js +21 -15
  174. package/lib/chevre/service/payment/movieTicket/checkByIdentifier.d.ts +7 -6
  175. package/lib/chevre/service/payment/movieTicket/validation.d.ts +6 -6
  176. package/lib/chevre/service/payment/movieTicket/validation.js +54 -31
  177. package/lib/chevre/service/payment/movieTicket.d.ts +2 -2
  178. package/lib/chevre/service/payment/movieTicket.js +5 -4
  179. package/lib/chevre/service/product.js +1 -5
  180. package/lib/chevre/service/report/telemetry.d.ts +0 -11
  181. package/lib/chevre/service/report/telemetry.js +21 -24
  182. package/lib/chevre/service/reserve/cancelReservation.d.ts +5 -3
  183. package/lib/chevre/service/reserve/cancelReservation.js +147 -139
  184. package/lib/chevre/service/reserve/checkInReservation.d.ts +9 -4
  185. package/lib/chevre/service/reserve/checkInReservation.js +77 -3
  186. package/lib/chevre/service/reserve/confirmReservation.d.ts +7 -4
  187. package/lib/chevre/service/reserve/confirmReservation.js +125 -58
  188. package/lib/chevre/service/reserve/factory.d.ts +1 -1
  189. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.d.ts +17 -5
  190. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.js +26 -24
  191. package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.js +2 -3
  192. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +2 -31
  193. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +2 -3
  194. package/lib/chevre/service/reserve/useReservation.d.ts +7 -3
  195. package/lib/chevre/service/reserve/useReservation.js +61 -71
  196. package/lib/chevre/service/reserve/verifyToken4reservation.d.ts +15 -0
  197. package/lib/chevre/service/reserve/verifyToken4reservation.js +56 -0
  198. package/lib/chevre/service/reserve.d.ts +3 -2
  199. package/lib/chevre/service/reserve.js +4 -2
  200. package/lib/chevre/service/task/cancelPendingReservation.js +5 -1
  201. package/lib/chevre/service/task/confirmRegisterServiceTransaction.js +1 -1
  202. package/lib/chevre/service/task/deleteTransaction.js +10 -8
  203. package/lib/chevre/service/task/importOffersFromCOA.js +4 -0
  204. package/lib/chevre/service/task/onAuthorizationCreated.d.ts +7 -0
  205. package/lib/chevre/service/task/onAuthorizationCreated.js +108 -0
  206. package/lib/chevre/service/task/onEventChanged.d.ts +7 -0
  207. package/lib/chevre/service/task/{deleteOrder.js → onEventChanged.js} +8 -14
  208. package/lib/chevre/service/task/placeOrder.js +1 -1
  209. package/lib/chevre/service/task/reserve.js +10 -7
  210. package/lib/chevre/service/task/returnOrder.js +1 -1
  211. package/lib/chevre/service/task/returnPayTransaction.js +2 -12
  212. package/lib/chevre/service/task/sendOrder.js +1 -1
  213. package/lib/chevre/service/task/useReservation.d.ts +7 -0
  214. package/lib/chevre/service/task/useReservation.js +36 -0
  215. package/lib/chevre/service/task/voidReserveTransaction.js +3 -1
  216. package/lib/chevre/service/task.d.ts +9 -0
  217. package/lib/chevre/service/task.js +43 -4
  218. package/lib/chevre/service/transaction/deleteTransaction.d.ts +21 -0
  219. package/lib/chevre/service/transaction/deleteTransaction.js +232 -0
  220. package/lib/chevre/service/transaction/moneyTransfer/exportTasks/factory.js +11 -1
  221. package/lib/chevre/service/transaction/moneyTransfer/factory.js +3 -1
  222. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.d.ts +1 -0
  223. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.js +1 -1
  224. package/lib/chevre/service/transaction/moneyTransfer.js +9 -12
  225. package/lib/chevre/service/transaction/orderProgramMembership.js +6 -2
  226. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +42 -30
  227. package/lib/chevre/service/transaction/placeOrder.js +1 -5
  228. package/lib/chevre/service/transaction/placeOrderInProgress/factory.js +1 -1
  229. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.d.ts +1 -0
  230. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.js +1 -1
  231. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.d.ts +1 -0
  232. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.js +1 -1
  233. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions.d.ts +1 -0
  234. package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.d.ts +3 -0
  235. package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.js +7 -3
  236. package/lib/chevre/service/transaction/placeOrderInProgress/result.d.ts +1 -0
  237. package/lib/chevre/service/transaction/placeOrderInProgress/result.js +2 -2
  238. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.d.ts +1 -1
  239. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.js +2 -2
  240. package/lib/chevre/service/transaction/placeOrderInProgress/validation.d.ts +2 -1
  241. package/lib/chevre/service/transaction/placeOrderInProgress/validation.js +23 -17
  242. package/lib/chevre/service/transaction/placeOrderInProgress.d.ts +0 -3
  243. package/lib/chevre/service/transaction/placeOrderInProgress.js +22 -11
  244. package/lib/chevre/service/transaction/returnOrder/exportTasks/factory.js +10 -1
  245. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +25 -17
  246. package/lib/chevre/service/transaction/returnOrder.d.ts +4 -0
  247. package/lib/chevre/service/transaction/returnOrder.js +225 -35
  248. package/lib/chevre/service/transaction.d.ts +8 -13
  249. package/lib/chevre/service/transaction.js +12 -145
  250. package/lib/chevre/settings.d.ts +8 -1
  251. package/lib/chevre/settings.js +35 -6
  252. package/package.json +5 -5
  253. package/example/src/chevre/migrateMoneyTransferPendingTransactionIdentifier.ts +0 -96
  254. package/example/src/chevre/migrateMovieAdditionalProperties.ts +0 -98
  255. package/lib/chevre/service/task/deleteAssetTransaction.d.ts +0 -12
  256. package/lib/chevre/service/task/deleteAssetTransaction.js +0 -65
  257. package/lib/chevre/service/task/deleteOrder.d.ts +0 -6
@@ -47,19 +47,14 @@ 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
- }
50
+ type IChangedEvent = factory.task.onEventChanged.IChangedEvent;
57
51
  /**
58
52
  * イベント変更時処理
59
53
  */
60
54
  export declare function onEventChanged(params: {
61
55
  event: IChangedEvent | IChangedEvent[];
62
56
  isNew: boolean;
57
+ useInform?: boolean;
63
58
  }): (repos: {
64
59
  event: EventRepo;
65
60
  project: ProjectRepo;
@@ -76,3 +71,13 @@ export declare function createAggregateScreeningEventIfNotExist(params: {
76
71
  }): (repos: {
77
72
  task: TaskRepo;
78
73
  }) => Promise<void>;
74
+ export declare function createInformTasks(params: {
75
+ project: {
76
+ id: string;
77
+ };
78
+ ids: string[];
79
+ typeOf: factory.eventType;
80
+ }): (repos: {
81
+ event: EventRepo;
82
+ task: TaskRepo;
83
+ }) => 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
  */
@@ -135,6 +137,14 @@ function onEventChanged(params) {
135
137
  force: params.isNew
136
138
  })(repos);
137
139
  }
140
+ // 通知タスク作成(2023-06-08~)
141
+ if (params.useInform === true) {
142
+ yield createInformTasks({
143
+ project: { id: changedEvents[0].project.id },
144
+ ids: changedEvents.map((changedEvent) => changedEvent.id),
145
+ typeOf: changedEvents[0].typeOf
146
+ })(repos);
147
+ }
138
148
  }
139
149
  });
140
150
  }
@@ -186,8 +196,53 @@ function createAggregateScreeningEventIfNotExist(params) {
186
196
  }
187
197
  }
188
198
  if (aggregateTasks.length > 0) {
189
- yield repos.task.saveMany(aggregateTasks);
199
+ yield repos.task.saveMany(aggregateTasks, { emitImmediately: true });
190
200
  }
191
201
  });
192
202
  }
193
203
  exports.createAggregateScreeningEventIfNotExist = createAggregateScreeningEventIfNotExist;
204
+ function createInformTasks(params) {
205
+ return (repos) => __awaiter(this, void 0, void 0, function* () {
206
+ const events4inform = yield repos.event.search({
207
+ id: { $in: params.ids },
208
+ typeOf: params.typeOf
209
+ }, { aggregateOffer: 0, aggregateReservation: 0, remainingAttendeeCapacity: 0, checkInCount: 0, attendeeCount: 0 });
210
+ if (events4inform.length > 0) {
211
+ const taskRunsAt = new Date();
212
+ const informTasks = [];
213
+ informEvents === null || informEvents === void 0 ? void 0 : informEvents.forEach((informEvent) => {
214
+ var _a;
215
+ const informUrl = String((_a = informEvent.recipient) === null || _a === void 0 ? void 0 : _a.url);
216
+ events4inform.forEach((event4inform) => {
217
+ var _a;
218
+ const informActionAttributes = {
219
+ agent: event4inform.project,
220
+ object: event4inform,
221
+ project: event4inform.project,
222
+ recipient: {
223
+ id: '',
224
+ name: String((_a = informEvent.recipient) === null || _a === void 0 ? void 0 : _a.name),
225
+ typeOf: factory.creativeWorkType.WebApplication,
226
+ url: informUrl
227
+ },
228
+ typeOf: factory.actionType.InformAction
229
+ };
230
+ informTasks.push({
231
+ project: event4inform.project,
232
+ name: factory.taskName.TriggerWebhook,
233
+ status: factory.taskStatus.Ready,
234
+ runsAt: taskRunsAt,
235
+ remainingNumberOfTries: 10,
236
+ numberOfTried: 0,
237
+ executionResults: [],
238
+ data: informActionAttributes
239
+ });
240
+ });
241
+ });
242
+ if (informTasks.length > 0) {
243
+ yield repos.task.saveMany(informTasks, { emitImmediately: true });
244
+ }
245
+ }
246
+ });
247
+ }
248
+ 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>[];
@@ -10,10 +10,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  var _a;
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.createConfirmRegisterServiceActionObjectByOrder = exports.createConfirmReservationActionObject4COAByOrder = exports.createConfirmReservationActionObject4ChevreByOrder = exports.createDeleteTasks = exports.createInformTasks = exports.getOrderWithToken = void 0;
13
+ exports.createConfirmRegisterServiceActionObjectByOrder = exports.createConfirmReservationActionObject4COAByOrder = exports.createConfirmReservationActionObject4ChevreByOrder = exports.createInformTasks = exports.getOrderWithToken = void 0;
14
14
  const google_libphonenumber_1 = require("google-libphonenumber");
15
15
  const jwt = require("jsonwebtoken");
16
- const moment = require("moment");
17
16
  const util_1 = require("util");
18
17
  const credentials_1 = require("../../../credentials");
19
18
  const factory = require("../../../factory");
@@ -26,32 +25,10 @@ function getOrderWithToken(params) {
26
25
  if (typeof credentials_1.credentials.hub.clientId !== 'string') {
27
26
  return params.order;
28
27
  }
29
- // 冗長な個人情報をマスク(最低限の情報に)
30
- // const customer4orderToken: factory.order.ISimpleCustomer =
31
- // (params.order.customer.typeOf === factory.organizationType.Organization)
32
- // ? {
33
- // id: params.order.customer.id,
34
- // name: '****',
35
- // // project: params.order.customer.project,
36
- // typeOf: params.order.customer.typeOf
37
- // }
38
- // : {
39
- // id: params.order.customer.id,
40
- // typeOf: params.order.customer.typeOf
41
- // };
42
- // const seller4orderToken: Omit<factory.order.ISeller, 'name'> = {
43
- // id: params.order.seller.id,
44
- // typeOf: params.order.seller.typeOf
45
- // };
46
28
  // 最適化(2023-01-31~)
47
29
  const order4token = {
48
30
  typeOf: params.order.typeOf,
49
- // seller: seller4orderToken,
50
- // customer: customer4orderToken,
51
31
  orderNumber: params.order.orderNumber
52
- // price: params.order.price,
53
- // priceCurrency: params.order.priceCurrency,
54
- // orderDate: params.order.orderDate
55
32
  };
56
33
  const token = yield new Promise((resolve, reject) => {
57
34
  // 所有権を暗号化する
@@ -86,10 +63,13 @@ function createInformTasks(order) {
86
63
  let informTasks = [];
87
64
  if (Array.isArray(informOrder) && informOrder.length > 0) {
88
65
  const order4inform = creteOrder4inform(order);
89
- let recipientId = order.customer.id;
90
- if (order.orderStatus === factory.orderStatus.OrderReturned) {
91
- if (typeof ((_a = order.returner) === null || _a === void 0 ? void 0 : _a.id) === 'string') {
92
- recipientId = order.returner.id;
66
+ let recipientId = '';
67
+ if (typeof order.orderStatus === 'string') {
68
+ recipientId = order.customer.id;
69
+ if (order.orderStatus === factory.orderStatus.OrderReturned) {
70
+ if (typeof ((_a = order.returner) === null || _a === void 0 ? void 0 : _a.id) === 'string') {
71
+ recipientId = order.returner.id;
72
+ }
93
73
  }
94
74
  }
95
75
  informTasks = informOrder.map((informOrderParams) => {
@@ -98,7 +78,6 @@ function createInformTasks(order) {
98
78
  agent: order.project,
99
79
  object: order4inform,
100
80
  project: order.project,
101
- // purpose: params.transaction,
102
81
  recipient: {
103
82
  url: (_a = informOrderParams.recipient) === null || _a === void 0 ? void 0 : _a.url,
104
83
  id: recipientId,
@@ -123,62 +102,43 @@ function createInformTasks(order) {
123
102
  }
124
103
  exports.createInformTasks = createInformTasks;
125
104
  function creteOrder4inform(order) {
126
- if (order.orderStatus === factory.orderStatus.OrderReturned) {
127
- // 返品注文通知内容を最適化(2022-12-28~)
128
- return Object.assign(Object.assign({ project: order.project, typeOf: order.typeOf, orderNumber: order.orderNumber, orderStatus: order.orderStatus }, (order.dateReturned !== undefined) ? { dateReturned: order.dateReturned } : undefined), (typeof order.id === 'string') ? { id: order.id } : undefined);
129
- }
130
- else if (order.orderStatus === factory.orderStatus.OrderDelivered) {
131
- // 配送済注文通知内容を最適化(2022-12-29~)
132
- return Object.assign({ project: order.project, typeOf: order.typeOf, orderNumber: order.orderNumber, orderStatus: order.orderStatus }, (typeof order.id === 'string') ? { id: order.id } : undefined);
105
+ if (typeof order.orderStatus === 'string') {
106
+ if (order.orderStatus === factory.orderStatus.OrderReturned) {
107
+ // 返品注文通知内容を最適化(2022-12-28~)
108
+ return Object.assign(Object.assign({ project: order.project, typeOf: order.typeOf, orderNumber: order.orderNumber, orderStatus: order.orderStatus }, (order.dateReturned !== undefined) ? { dateReturned: order.dateReturned } : undefined), (typeof order.id === 'string') ? { id: order.id } : undefined);
109
+ }
110
+ else if (order.orderStatus === factory.orderStatus.OrderDelivered) {
111
+ // 配送済注文通知内容を最適化(2022-12-29~)
112
+ return Object.assign({ project: order.project, typeOf: order.typeOf, orderNumber: order.orderNumber, orderStatus: order.orderStatus }, (typeof order.id === 'string') ? { id: order.id } : undefined);
113
+ }
114
+ else {
115
+ // 冗長な個人情報をmask
116
+ return Object.assign(Object.assign({
117
+ // whitelistで作成する(2022-07-19~)
118
+ project: order.project, typeOf: order.typeOf, seller: order.seller, price: order.price, priceCurrency: order.priceCurrency, confirmationNumber: order.confirmationNumber, orderNumber: order.orderNumber, acceptedOffers: order.acceptedOffers, orderStatus: order.orderStatus, orderDate: order.orderDate,
119
+ // mask
120
+ customer: Object.assign(Object.assign({}, (0, order_1.createMaskedCustomer)(order)), { additionalProperty: (Array.isArray(order.customer.additionalProperty)) ? order.customer.additionalProperty : [],
121
+ // identifierは必要
122
+ // 予約後を隠蔽(2022-12-24~)
123
+ identifier: (Array.isArray(order.customer.identifier))
124
+ ? order.customer.identifier.filter((p) => {
125
+ return !reservedAgentIdentifireNames_1.RESERVED_AGENT_IDENTIFIER_NAMES.includes(p.name);
126
+ })
127
+ : [] }),
128
+ // paymentMethodsに関してもmask(2022-05-30~)
129
+ paymentMethods: order.paymentMethods.map((p) => {
130
+ return Object.assign(Object.assign({}, p), (typeof p.accountId === 'string' && p.accountId.length > 0)
131
+ ? { accountId: ASTERISK_CHARACTER.repeat(p.accountId.length) }
132
+ : undefined);
133
+ }) }, (typeof order.token === 'string')
134
+ ? { token: order.token }
135
+ : undefined), (typeof order.id === 'string') ? { id: order.id } : undefined);
136
+ }
133
137
  }
134
138
  else {
135
- // 冗長な個人情報をmask
136
- return Object.assign(Object.assign({
137
- // whitelistで作成する(2022-07-19~)
138
- project: order.project, typeOf: order.typeOf, seller: order.seller, price: order.price, priceCurrency: order.priceCurrency, confirmationNumber: order.confirmationNumber, orderNumber: order.orderNumber, acceptedOffers: order.acceptedOffers, orderStatus: order.orderStatus, orderDate: order.orderDate,
139
- // mask
140
- customer: Object.assign(Object.assign({}, (0, order_1.createMaskedCustomer)(order)), { additionalProperty: (Array.isArray(order.customer.additionalProperty)) ? order.customer.additionalProperty : [],
141
- // identifierは必要
142
- // 予約後を隠蔽(2022-12-24~)
143
- identifier: (Array.isArray(order.customer.identifier))
144
- ? order.customer.identifier.filter((p) => {
145
- return !reservedAgentIdentifireNames_1.RESERVED_AGENT_IDENTIFIER_NAMES.includes(p.name);
146
- })
147
- : [] }),
148
- // paymentMethodsに関してもmask(2022-05-30~)
149
- paymentMethods: order.paymentMethods.map((p) => {
150
- return Object.assign(Object.assign({}, p), (typeof p.accountId === 'string' && p.accountId.length > 0)
151
- ? { accountId: ASTERISK_CHARACTER.repeat(p.accountId.length) }
152
- : undefined);
153
- }) }, (typeof order.token === 'string')
154
- ? { token: order.token }
155
- : undefined), (typeof order.id === 'string') ? { id: order.id } : undefined);
139
+ return order;
156
140
  }
157
141
  }
158
- /**
159
- * 注文保管期間
160
- */
161
- const ORDER_STORAGE_PERIOD_IN_DAYS = (typeof process.env.ORDER_STORAGE_PERIOD_IN_DAYS === 'string')
162
- ? Number(process.env.ORDER_STORAGE_PERIOD_IN_DAYS) :
163
- // tslint:disable-next-line:no-magic-numbers
164
- 365;
165
- function createDeleteTasks(order) {
166
- return [{
167
- project: order.project,
168
- name: factory.taskName.DeleteOrder,
169
- status: factory.taskStatus.Ready,
170
- runsAt: moment(order.orderDate)
171
- .add(ORDER_STORAGE_PERIOD_IN_DAYS, 'days')
172
- .toDate(),
173
- remainingNumberOfTries: 10,
174
- numberOfTried: 0,
175
- executionResults: [],
176
- data: {
177
- object: order
178
- }
179
- }];
180
- }
181
- exports.createDeleteTasks = createDeleteTasks;
182
142
  function createConfirmReservationActionObject4ChevreByOrder(params) {
183
143
  const chevreReservationNumbers = (Array.isArray(params.order.acceptedOffers))
184
144
  ? params.order.acceptedOffers.filter((o) => {
@@ -72,8 +72,6 @@ function onOrderStatusChanged(params) {
72
72
  tasks = [
73
73
  // 注文作成時のみトークン付加
74
74
  ...(0, factory_1.createInformTasks)(orderWithToken),
75
- // リソース削除タスク
76
- ...(0, factory_1.createDeleteTasks)(params.order),
77
75
  ...yield createConfirmPayTransactionTasks(params.order, simpleOrder)(repos),
78
76
  ...yield createConfirmReserveTransactionTasks(params.order, simpleOrder)(repos),
79
77
  ...yield createConfirmRegisterServiceTransactionTasks(params.order, simpleOrder)(repos)
@@ -89,7 +87,7 @@ function onOrderStatusChanged(params) {
89
87
  break;
90
88
  default:
91
89
  }
92
- yield repos.task.saveMany(tasks);
90
+ yield repos.task.saveMany(tasks, { emitImmediately: true });
93
91
  });
94
92
  }
95
93
  exports.onOrderStatusChanged = onOrderStatusChanged;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * 注文変更時処理
3
+ */
4
+ import { MongoRepository as TaskRepo } from '../../repo/task';
5
+ import * as factory from '../../factory';
6
+ export declare function onOrderUpdated(params: {
7
+ additionalProperty?: factory.propertyValue.IPropertyValue<string>[];
8
+ name?: string;
9
+ orderNumber: string;
10
+ project: {
11
+ id: string;
12
+ };
13
+ updatedAt: Date;
14
+ }): (repos: {
15
+ task: TaskRepo;
16
+ }) => Promise<void>;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.onOrderUpdated = void 0;
13
+ const factory = require("../../factory");
14
+ const factory_1 = require("./onOrderStatusChanged/factory");
15
+ function onOrderUpdated(params) {
16
+ return (repos) => __awaiter(this, void 0, void 0, function* () {
17
+ let tasks = [];
18
+ tasks = (0, factory_1.createInformTasks)(Object.assign(Object.assign({ typeOf: factory.order.OrderType.Order, orderNumber: params.orderNumber, project: { id: params.project.id, typeOf: factory.organizationType.Project }, updatedAt: params.updatedAt }, (typeof params.name === 'string') ? { name: params.name } : undefined), (Array.isArray(params.additionalProperty)) ? { additionalProperty: params.additionalProperty } : undefined));
19
+ yield repos.task.saveMany(tasks, { emitImmediately: true });
20
+ });
21
+ }
22
+ exports.onOrderUpdated = onOrderUpdated;
@@ -36,6 +36,7 @@ declare function placeOrder(params: {
36
36
  orderNumber: string;
37
37
  };
38
38
  potentialActions?: factory.action.trade.order.IPotentialActions;
39
+ useOnOrderStatusChanged: boolean;
39
40
  }): (repos: {
40
41
  accountingReport: AccountingReportRepo;
41
42
  action: ActionRepo;
@@ -168,50 +168,67 @@ function placeOrder(params) {
168
168
  confirmationNumber: params.object.confirmationNumber,
169
169
  orderNumber: params.object.orderNumber
170
170
  })({ transaction: repos.transaction });
171
- // アクションを作成する(2022-04-11~)
172
171
  const maskedCustomer = (0, order_1.createMaskedCustomer)(order);
173
172
  const simpleOrder = {
174
- // project: order.project,
175
173
  typeOf: order.typeOf,
176
174
  seller: order.seller,
177
175
  customer: { typeOf: maskedCustomer.typeOf, id: maskedCustomer.id, name: maskedCustomer.name },
178
- // IOrderへ移行(2022-11-17~)
179
- // confirmationNumber: order.confirmationNumber,
180
176
  orderNumber: order.orderNumber,
181
177
  price: order.price,
182
178
  priceCurrency: order.priceCurrency,
183
179
  orderDate: order.orderDate
184
180
  };
181
+ const orderActionPurpose = {
182
+ typeOf: placeOrderTransaction.typeOf, id: placeOrderTransaction.id
183
+ };
185
184
  const orderActionAttributes = {
186
185
  agent: (typeof ((_a = params.agent) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string') ? params.agent : order.project,
187
186
  object: simpleOrder,
188
187
  potentialActions: {},
189
188
  project: order.project,
190
- purpose: { typeOf: placeOrderTransaction.typeOf, id: placeOrderTransaction.id },
189
+ purpose: orderActionPurpose,
191
190
  typeOf: factory.actionType.OrderAction
192
191
  };
193
- const action = yield repos.action.start(orderActionAttributes);
194
- try {
195
- yield repos.order.createIfNotExist(order);
196
- }
197
- catch (error) {
198
- // actionにエラー結果を追加
192
+ // 冪等性を担保(2023-05-31~)
193
+ const completedActions = yield repos.action.search({
194
+ limit: 1,
195
+ page: 1,
196
+ actionStatus: { $in: [factory.actionStatusType.CompletedActionStatus] },
197
+ typeOf: { $eq: orderActionAttributes.typeOf },
198
+ object: {
199
+ orderNumber: { $in: [orderActionAttributes.object.orderNumber] }
200
+ },
201
+ purpose: {
202
+ id: { $in: [orderActionPurpose.id] },
203
+ typeOf: { $in: [orderActionPurpose.typeOf] }
204
+ }
205
+ }, ['_id'], []);
206
+ if (completedActions.length === 0) {
207
+ const action = yield repos.action.start(orderActionAttributes);
199
208
  try {
200
- const actionError = Object.assign(Object.assign({}, error), { message: error.message, name: error.name });
201
- yield repos.action.giveUp({ typeOf: orderActionAttributes.typeOf, id: action.id, error: actionError });
209
+ yield repos.order.createIfNotExist(order);
202
210
  }
203
- catch (__) {
204
- // 失敗したら仕方ない
211
+ catch (error) {
212
+ // actionにエラー結果を追加
213
+ try {
214
+ const actionError = Object.assign(Object.assign({}, error), { message: error.message, name: error.name });
215
+ yield repos.action.giveUp({ typeOf: orderActionAttributes.typeOf, id: action.id, error: actionError });
216
+ }
217
+ catch (__) {
218
+ // 失敗したら仕方ない
219
+ }
220
+ throw error;
205
221
  }
206
- throw error;
222
+ yield repos.action.complete({ typeOf: orderActionAttributes.typeOf, id: action.id, result: {} });
223
+ }
224
+ if (params.useOnOrderStatusChanged || params.useOnOrderStatusChanged === undefined) {
225
+ // 経理レポートを保管
226
+ yield (0, createAccountingReportIfNotExist_1.createAccountingReportIfNotExist)(order)({ accountingReport: repos.accountingReport });
227
+ yield (0, onOrderStatusChanged_1.onOrderStatusChanged)({ order })({
228
+ registerActionInProgress: repos.registerActionInProgress,
229
+ task: repos.task
230
+ });
207
231
  }
208
- yield repos.action.complete({ typeOf: orderActionAttributes.typeOf, id: action.id, result: {} });
209
- // 経理レポートを保管
210
- yield (0, createAccountingReportIfNotExist_1.createAccountingReportIfNotExist)(order)({ accountingReport: repos.accountingReport });
211
- yield (0, onOrderStatusChanged_1.onOrderStatusChanged)({ order })({
212
- registerActionInProgress: repos.registerActionInProgress,
213
- task: repos.task
214
- });
215
232
  // 潜在アクション
216
233
  yield onPlaceOrder({
217
234
  object: order,
@@ -269,6 +286,6 @@ function onPlaceOrder(params) {
269
286
  }
270
287
  }
271
288
  // タスク保管
272
- yield repos.task.saveMany(taskAttributes);
289
+ yield repos.task.saveMany(taskAttributes, { emitImmediately: true });
273
290
  });
274
291
  }
@@ -15,6 +15,7 @@ declare function returnOrder(params: {
15
15
  id: string;
16
16
  };
17
17
  potentialActions?: factory.action.transfer.returnAction.order.IPotentialActions;
18
+ useOnOrderStatusChanged: boolean;
18
19
  }): (repos: {
19
20
  action: ActionRepo;
20
21
  order: OrderRepo;
@@ -42,12 +42,9 @@ function returnOrder(params) {
42
42
  throw new factory.errors.NotFound(factory.transactionType.ReturnOrder);
43
43
  }
44
44
  const simpleOrder = {
45
- // project: order.project,
46
45
  typeOf: order.typeOf,
47
46
  seller: order.seller,
48
47
  customer: (0, order_1.createMaskedCustomer)(order),
49
- // IOrderへ移行(2022-11-17~)
50
- // confirmationNumber: order.confirmationNumber,
51
48
  orderNumber: order.orderNumber,
52
49
  price: order.price,
53
50
  priceCurrency: order.priceCurrency,
@@ -80,10 +77,12 @@ function returnOrder(params) {
80
77
  }
81
78
  const result = returnedOwnershipInfos;
82
79
  yield repos.action.complete({ typeOf: action.typeOf, id: action.id, result: result });
83
- yield (0, onOrderStatusChanged_1.onOrderStatusChanged)({ order, returnOrderTransaction })({
84
- registerActionInProgress: repos.registerServiceInProgress,
85
- task: repos.task
86
- });
80
+ if (params.useOnOrderStatusChanged || params.useOnOrderStatusChanged === undefined) {
81
+ yield (0, onOrderStatusChanged_1.onOrderStatusChanged)({ order, returnOrderTransaction })({
82
+ registerActionInProgress: repos.registerServiceInProgress,
83
+ task: repos.task
84
+ });
85
+ }
87
86
  // 潜在アクション
88
87
  yield onReturn(returnOrderActionAttributes)({ task: repos.task });
89
88
  });
@@ -204,10 +203,6 @@ function onReturn(returnActionAttributes) {
204
203
  }
205
204
  }
206
205
  // タスク保管
207
- // saveManyに変更(2023-02-01~)
208
- yield repos.task.saveMany(taskAttributes);
209
- // await Promise.all(taskAttributes.map(async (taskAttribute) => {
210
- // return repos.task.save(taskAttribute);
211
- // }));
206
+ yield repos.task.saveMany(taskAttributes, { emitImmediately: true });
212
207
  });
213
208
  }
@@ -26,5 +26,6 @@ declare function sendOrder(params: {
26
26
  orderNumber: string;
27
27
  };
28
28
  potentialActions?: factory.action.transfer.send.order.IPotentialActions;
29
+ useOnOrderStatusChanged: boolean;
29
30
  }): ISendOperation<void>;
30
31
  export { sendOrder };
@@ -40,16 +40,11 @@ function sendOrder(params) {
40
40
  if (order.confirmationNumber !== confirmationNumber) {
41
41
  throw new factory.errors.NotFound('Order');
42
42
  }
43
- // SendOrderアクションを作成する
44
- // minimizeする(2022-04-18~)
45
43
  const maskedCustomer = (0, order_1.createMaskedCustomer)(order);
46
44
  const simpleOrder = {
47
- // project: order.project,
48
45
  typeOf: order.typeOf,
49
46
  seller: order.seller,
50
47
  customer: { typeOf: maskedCustomer.typeOf, id: maskedCustomer.id, name: maskedCustomer.name },
51
- // IOrderへ移行(2022-11-17~)
52
- // confirmationNumber: order.confirmationNumber,
53
48
  orderNumber: order.orderNumber,
54
49
  price: order.price,
55
50
  priceCurrency: order.priceCurrency,
@@ -91,10 +86,12 @@ function sendOrder(params) {
91
86
  }
92
87
  const result = ownershipInfos;
93
88
  yield repos.action.complete({ typeOf: sendOrderActionAttributes.typeOf, id: action.id, result: result });
94
- yield (0, onOrderStatusChanged_1.onOrderStatusChanged)({ order, placeOrderTransaction })({
95
- registerActionInProgress: repos.registerActionInProgress,
96
- task: repos.task
97
- });
89
+ if (params.useOnOrderStatusChanged || params.useOnOrderStatusChanged === undefined) {
90
+ yield (0, onOrderStatusChanged_1.onOrderStatusChanged)({ order, placeOrderTransaction })({
91
+ registerActionInProgress: repos.registerActionInProgress,
92
+ task: repos.task
93
+ });
94
+ }
98
95
  }
99
96
  catch (error) {
100
97
  let throwsError = true;
@@ -178,6 +175,6 @@ function onSend(params) {
178
175
  }
179
176
  }
180
177
  // タスク保管
181
- yield repos.task.saveMany(taskAttributes);
178
+ yield repos.task.saveMany(taskAttributes, { emitImmediately: true });
182
179
  });
183
180
  }
@@ -3,7 +3,8 @@
3
3
  */
4
4
  import { deleteOrder } from './order/deleteOrder';
5
5
  import { onOrderStatusChanged } from './order/onOrderStatusChanged';
6
+ import { onOrderUpdated } from './order/onOrderUpdated';
6
7
  import { placeOrder, placeOrderWithoutTransaction } from './order/placeOrder';
7
8
  import { returnOrder } from './order/returnOrder';
8
9
  import { sendOrder } from './order/sendOrder';
9
- export { deleteOrder, onOrderStatusChanged, placeOrder, placeOrderWithoutTransaction, returnOrder, sendOrder };
10
+ export { deleteOrder, onOrderStatusChanged, onOrderUpdated, placeOrder, placeOrderWithoutTransaction, returnOrder, sendOrder };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sendOrder = exports.returnOrder = exports.placeOrderWithoutTransaction = exports.placeOrder = exports.onOrderStatusChanged = exports.deleteOrder = void 0;
3
+ exports.sendOrder = exports.returnOrder = exports.placeOrderWithoutTransaction = exports.placeOrder = exports.onOrderUpdated = exports.onOrderStatusChanged = exports.deleteOrder = void 0;
4
4
  /**
5
5
  * 注文サービス
6
6
  */
@@ -8,6 +8,8 @@ const deleteOrder_1 = require("./order/deleteOrder");
8
8
  Object.defineProperty(exports, "deleteOrder", { enumerable: true, get: function () { return deleteOrder_1.deleteOrder; } });
9
9
  const onOrderStatusChanged_1 = require("./order/onOrderStatusChanged");
10
10
  Object.defineProperty(exports, "onOrderStatusChanged", { enumerable: true, get: function () { return onOrderStatusChanged_1.onOrderStatusChanged; } });
11
+ const onOrderUpdated_1 = require("./order/onOrderUpdated");
12
+ Object.defineProperty(exports, "onOrderUpdated", { enumerable: true, get: function () { return onOrderUpdated_1.onOrderUpdated; } });
11
13
  const placeOrder_1 = require("./order/placeOrder");
12
14
  Object.defineProperty(exports, "placeOrder", { enumerable: true, get: function () { return placeOrder_1.placeOrder; } });
13
15
  Object.defineProperty(exports, "placeOrderWithoutTransaction", { enumerable: true, get: function () { return placeOrder_1.placeOrderWithoutTransaction; } });